Weather API MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation3/5
The tools have overlapping purposes that could cause confusion. getWeather, getHourlyWeather, and getWeatherForecast all retrieve weather data for a location, differing only in time granularity. While descriptions clarify the distinctions, an agent might misselect between them without careful reading. The lookupCity tool is clearly distinct, but the three weather retrieval tools create ambiguity.
Naming Consistency4/5Naming is mostly consistent with a verb_noun pattern, though there are minor deviations. getWeather, getHourlyWeather, and getWeatherForecast follow a clear get_<type>Weather pattern, while lookupCity uses a different verb (lookup vs. get). All use camelCase consistently, making them readable despite the verb variation.
Tool Count5/5Four tools is well-scoped for a weather API server. Each tool earns its place: current weather, hourly forecast, multi-day forecast, and city lookup provide complete coverage without bloat. This count aligns with typical server scopes (3-15 tools) and avoids being too thin or heavy.
Completeness4/5The tool set covers core weather API operations effectively, with minor gaps. It includes current conditions, short-term and long-term forecasts, and location lookup, enabling agents to handle most weather queries. However, there are no tools for historical weather data or alerts, which could be useful extensions for the domain.
Average 3/5 across 4 of 4 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
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
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns weather data but lacks details on permissions, rate limits, error handling, or data freshness. For a read operation with no annotations, this leaves significant gaps in understanding how the tool behaves beyond basic functionality.
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 concise and front-loaded, stating the core purpose in the first sentence and adding return details in the second. Both sentences earn their place by clarifying functionality and output. It avoids redundancy and is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, nested objects, no output schema), the description is minimally adequate. It covers the basic purpose and return data but lacks details on behavioral traits, usage context, and output structure. Without annotations or an output schema, it leaves the agent to infer operational aspects, making it incomplete for optimal tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, thoroughly documenting the 'location' and 'options' parameters. The description adds no additional parameter semantics beyond what the schema provides, such as examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description does not compensate but also does not detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get current weather information for a location.' It specifies the verb ('Get') and resource ('weather information'), and mentions the return data (temperature, humidity, conditions). However, it does not explicitly differentiate from sibling tools like getHourlyWeather or getWeatherForecast, which likely provide different temporal scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings (getHourlyWeather, getWeatherForecast, lookupCity). It mentions returning 'current weather,' which implies a distinction from forecast or historical data, but does not explicitly state alternatives or exclusions. Usage context is implied rather than clearly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the return type ('weather forecast for the next few days') but lacks critical details: whether this is a read-only operation, any rate limits, authentication requirements, error conditions, or what the 'default location' is. For a tool with no annotation coverage, this leaves significant behavioral gaps.
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 appropriately concise with two sentences that directly state the tool's function and return value. There's no unnecessary fluff or repetition. However, it could be slightly more front-loaded by immediately clarifying the tool's scope relative to siblings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, nested objects) and lack of both annotations and output schema, the description is minimally adequate. It explains what the tool does but misses key contextual elements: no sibling differentiation, no behavioral details beyond basic return type, and no output format explanation. It meets the bare minimum but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters ('location' and 'options') and their sub-properties. The description adds no parameter-specific information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('weather forecast for a location'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'getHourlyWeather' or 'getWeather', which likely provide different types of weather data. The description is specific about what it returns ('forecast for the next few days') but could better distinguish from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings ('getHourlyWeather', 'getWeather', 'lookupCity'). It doesn't mention any prerequisites, exclusions, or alternative scenarios. The agent must infer usage from tool names alone, which is insufficient for optimal selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the return format ('weather data hour by hour for the next 24 hours') but fails to cover critical aspects like rate limits, authentication needs, error handling, or data freshness. This is a significant gap for a tool with potential external API dependencies.
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 front-loaded and concise, consisting of two efficient sentences that directly state the tool's purpose and output. There is no redundant or unnecessary information, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is minimally adequate for a read-only tool. It covers the basic purpose and output format but omits details on behavioral traits, error cases, and sibling differentiation, which are important for full contextual understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents the two parameters ('location' and 'options') and their sub-properties. The description adds no additional parameter semantics beyond what the schema provides, such as examples or constraints not in the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('hourly weather forecast for a location'), specifying it returns data 'hour by hour for the next 24 hours'. However, it does not explicitly differentiate from sibling tools like 'getWeather' or 'getWeatherForecast', which might offer different time granularities or scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'getWeather' or 'getWeatherForecast'. The description lacks context about prerequisites, exclusions, or comparative use cases, leaving the agent without direction on tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the return value ('city ID') and its purpose for other tools, but lacks details on error handling, rate limits, authentication needs, or what specific city information is returned beyond the ID. This is a significant gap for a tool with no annotation coverage.
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 concise with two sentences that efficiently convey the tool's purpose and output utility. It's front-loaded with the main action and avoids unnecessary details, though it could be slightly more structured by explicitly separating lookup methods from the return value explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose and output usage, but lacks details on behavioral aspects like error cases or response format. Without annotations or an output schema, more context on what 'city information' entails would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds minimal value by mentioning lookup methods ('name, ID, or coordinates') and the return purpose, but doesn't provide additional syntax or format details beyond what the schema specifies. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Look up city information by name, ID, or coordinates.' This specifies the verb ('look up') and resource ('city information') with multiple lookup methods. However, it doesn't explicitly differentiate from sibling weather tools, which are for retrieving weather data rather than city information.
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 usage by stating 'Returns city ID that can be used with other weather tools,' suggesting this tool should be used as a prerequisite for weather-related operations. However, it doesn't provide explicit guidance on when to use this tool versus alternatives or any exclusion criteria, leaving some ambiguity about its specific context.
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:
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/yoyooyooo/mcp-weather-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server