Home Weather MCP
Server Quality Checklist
Latest release: v0.2.0
- Disambiguation5/5
Each tool covers a distinct action: listing registered locations, searching geographic candidates, adding/updating/removing a location, and fetching weather. There is no overlap or ambiguity in purpose, and descriptions reinforce the boundaries.
Naming Consistency5/5All tools share a weather_ prefix and follow a verb_noun pattern: list_locations, search_places, set_location, update_location, remove_location, and get. The lone weather_get is still clear because weather is the server's core resource.
Tool Count5/5Six tools is well-scoped for a home weather server: four location management operations, one place search, and one weather retrieval. Every tool earns its place without redundancy.
Completeness5/5Location lifecycle is complete (list, set, update, remove, plus search for candidates), and reading current/today/tomorrow forecasts with optional hourly data covers the weather use case. No obvious dead ends or missing core operations.
Average 4.3/5 across 6 of 6 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 4 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive, and the description adds valuable behavior beyond that: removing the default location automatically selects the first remaining one. This gives the agent useful context about a non-obvious side effect without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no unnecessary complexity. The second sentence about the default location behavior is valuable. Minor filler like 'as requested' is the only slight inefficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, one required parameter, and the destructive annotation, the description covers the core action and the important default-location edge case. It does not mention behavior for invalid aliases or outputs, but those are not essential for this straightforward removal tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'alias' parameter or how it identifies the location to remove. The description adds no meaning beyond the schema's minimal 'Alias' title, so it fails to compensate for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Remove') and resource ('location'), which distinguishes this tool from siblings like weather_set_location, weather_update_location, and weather_list_locations. The meaning is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for removing a location and provides one relevant edge-case rule about removing the default. However, it does not explicitly contrast with alternatives or state when not to use it, so the usage guidance is only implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only nature is covered. The description adds the output cardinality constraint ('up to three') and the returned fields, which is useful but modest. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with no filler. It front-loads the action and packs the relevant output details and the limit into a compact, readable definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description supplies the essential return shape: up to three locations, names, coordinates, and default status. Since there are no parameters and annotations cover safety, an agent has enough information to invoke and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides complete coverage trivially. The description has no parameter information to add, but that is not a gap given the empty input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('List'), the resource ('locations'), and the specific output fields (primary/alternate names, coordinates, default status). It also states the 'up to three' limit, which distinguishes it from the sibling search/get tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the tool for enumerating currently stored locations, but it does not explicitly compare against weather_search_places or weather_get, nor does it state when not to use it. There is no alternative routing or exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Descriptions go beyond the destructiveHint=true annotation by explaining exact mutation semantics: omitted fields remain unchanged, additional_aliases replaces rather than appends, [] removes them, and make_default=true selects the default. It also transparently states that ambiguous geocoding returns candidates without saving and requires retry with candidate_id, which is valuable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence adds operational value and there is no filler. The description is front-loaded with the core purpose, then systematically explains parameter effects and the ambiguous-geocoding flow in a compact, readable structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and seven parameters, the description explains most key behaviors including candidate resolution, alias replacement/removal, and default placement. The only notable omission is country_code, and it does not spell out when to choose this tool over siblings, but overall the operational behavior is well covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden of explaining parameters. It covers alias, place_name, new_alias, additional_aliases, make_default, and candidate_id with meaningful usage context. However, country_code is entirely unexplained despite having a default value, leaving a small gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description states a specific verb ('Update') and resource ('an existing location'), and explicitly distinguishes this from adding a slot. It names key sub-behaviors (place_name geocoding, aliases, default selection) so an agent can distinguish it from siblings like weather_set_location and weather_remove_location.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without adding a slot' implies this tool is for modifying an existing location rather than creating one, but it never explicitly says 'use this when the location already exists' or names alternatives such as weather_set_location for creation. The intended use is inferable but not directly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false; the description reinforces this with 'without changing settings' and adds genuinely new behavioral details: the GSI fallback for Japanese ward names and the instruction to check administrative regions when names are ambiguous. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three compact sentences with the core purpose front-loaded. Every sentence contributes operational value: country scoping, ambiguity handling, and fallback behavior. There is minimal redundancy, and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read-only search tool with no output schema, the description covers the purpose, country filtering, ambiguous-name handling, and a specific fallback. It does not mention the return format or explicitly route to sibling tools, but the provided details are sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides only names, types, and a default for country_code, with no descriptions. The explanation adds meaning by clarifying that country_code selects the country and defaults to JP, and that place_name should be a real place name. It does not exhaustively explain all edge cases but compensates well for the sparse schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search'), a clear resource ('a real place name'), and the intended result ('geographic candidates'). It also explicitly notes 'without changing settings,' which distinguishes it from the location-management sibling tools. This is a precise, non-tautological purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical usage guidance: use country_code with JP as the default, check administrative regions for ambiguous names, and use GSI as a fallback for Japanese ward names. It implies this tool is for searching rather than changing settings, but it does not explicitly name alternatives or state when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are limited to readOnlyHint=false, openWorldHint=true, and destructiveHint=false. The description adds significant behavior beyond that: only location settings are persisted, at most three locations are allowed, multiple geocoding matches are not saved until a candidate_id is supplied, and make_default=true changes how later weather_get calls resolve the alias. This is high-value context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: the core action, persistence constraint, concrete example, capacity limit, alias semantics, default behavior, geocoding flow, and update routing. It is dense but not bloated, and it front-loads the most important purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, no output schema, and a geocoding disambiguation workflow, the description covers save semantics, the 'at most three' constraint, candidate selection, default selection behavior, and modification routing. An agent has enough information to invoke the tool correctly without needing structured docs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all six parameters. It explains alias, place_name, additional_aliases, make_default, and candidate_id clearly, and gives a concrete example including country_code=JP. The only minor gap is that country_code behavior is implied via the example rather than explicitly described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete action, 'Add a location requested by the user,' with the resource being a weather location. It clearly distinguishes this creation-oriented tool from siblings like weather_list_locations, weather_search_places, weather_remove_location, and weather_get, and explicitly points to weather_update_location for modifications.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives practical routing guidance: use weather_update_location to modify an existing location, and describes the geocoding disambiguation flow with candidate_id when multiple matches are returned. It does not fully spell out when weather_search_places should be used first, but the context is clear enough from the description and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses that no storage, cache, or scheduling occurs, how missing/invalid temperatures are represented, which units are used, and that timestamps follow the location timezone. This gives the agent meaningful expectations about side effects and output behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence adds operational value: defaults, target options, output semantics, units, and side-effect disclaimers. It is front-loaded with the core purpose and then layers useful details without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no required parameters, the description compensates thoroughly by covering output components, units, null behavior, language behavior, and absence of caching/storage. The agent has enough context to call the tool correctly and interpret results safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the full burden, and it explains all four parameters: alias default behavior, target enum values, include_hourly effect, and language override. It adds practical semantic detail well beyond the bare schema, such as 'initially Tokyo' and that summary labels follow the selected language.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource: "Fetch fresh weather for a registered primary or alternate name." It also clarifies that there are target variants (current, today, tomorrow) and distinguishes the tool as one for registered locations, which separates it from the search/list/manage siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates this tool is for registered primary or alternate names, with alias fallback behavior. It implies that unregistered locations require the sibling tools (weather_search_places or weather_set_location), but it does not explicitly state those alternatives or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
shields.io Endpoint
For READMEs with an existing badge row. Append &style=flat-square (or any other shields.io style) to match the rest, and &metric=tools, &metric=maintenance or &metric=claim to badge a different dimension.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yukincom/home-weather-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server