irm-kmi-mcp Belgium Weather
Server Quality Checklist
Latest release: v1.1.0
- Disambiguation5/5
Each tool targets a clearly distinct weather product: observed conditions, daily forecast, hourly forecast, rain nowcast, pollen, and warnings. There is no meaningful overlap that would confuse an agent selecting among them.
Naming Consistency5/5All tool names follow a consistent lower_snake_case noun-phrase style, with forecast tools sharing the modifier_forecast pattern. The naming is predictable and scannable across the whole set.
Tool Count5/5Six tools is a well-scoped size for a national weather service MCP server. Each tool covers a distinct user need without redundancy or unnecessary breadth.
Completeness5/5The surface covers observed conditions, short-term nowcasting, daily and hourly forecasts, pollen levels, and official warnings—the core weather information needs for this domain. No obvious dead ends or missing essential operations are apparent.
Average 4.2/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
- 9 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.
Tools from this server were used 6 times in the last 30 days.
Add a glama.json file to provide metadata about your server.
This server has been verified by its author.
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
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose that each day includes the official IRM text bulletin unless include_text is false, which is useful. However, it does not explain runtime behavior such as what happens when no location is provided, how commune versus coordinates are resolved, or any side effects beyond the schema.
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?
Two sentences with no filler: the first gives the core purpose, and the second adds the key conditional behavior. It is front-loaded and every sentence earns its place.
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?
The input schema fully documents parameters and the output schema covers return structure, so the description only needs to convey the high-level contract. It does that well with Belgian scope and bulletin behavior. It is slightly light on usage routing relative to siblings, but not incomplete for invoking the tool correctly.
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 all six parameters. The description only restates the include_text behavior already present in the schema and adds no additional parameter-level meaning.
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 and resource: "Return a daily weather forecast for a location in Belgium." It clearly distinguishes the tool from siblings like current_conditions, hourly_forecast, and rain_forecast by its daily horizon and Belgian scope.
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 intended use case is reasonably clear from the phrase "daily weather forecast," and the sibling tool names imply the contrast. However, the description never explicitly states when to prefer this tool over hourly_forecast or current_conditions, nor does it mention exclusions or fallback alternatives.
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?
With no annotations, the description carries the behavioral disclosure burden. It adds useful behavior beyond the schema: covered variables, per-row absolute time, ISO-8601 format, and Brussels timezone. It does not detail units or error behavior, but the output schema likely covers return structure.
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?
Three short sentences with no filler: purpose, covered metrics, and time format. Each sentence supplies distinct, useful information and the most important scoping detail is front-loaded.
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 output schema exists and all parameters are fully documented, the description is nearly complete. It explains what the forecast contains and how time is represented. It could be stronger by explicitly addressing location resolution between commune and coordinates, though the schema already hints at it.
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 commune, latitude/longitude, and hours including the clamping range. The description adds no parameter-specific meaning, so the baseline of 3 is appropriate.
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 specific verb and resource: 'Return an hourly weather forecast for a location in Belgium.' The temporal scope 'hourly' clearly distinguishes it from siblings like daily_forecast and current_conditions, and the Belgium scope narrows the domain.
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 when fine-grained hourly data is needed, but it never explicitly tells the agent when to choose this over daily_forecast or current_conditions. No when-not or alternative guidance is provided, only an implied temporal fit.
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?
No annotations are present, so the description carries the burden. It discloses useful behavior: data comes from the nearest IRM weather station, the condition label is canonical English, and the raw IRM code is exposed in condition_code. It does not cover staleness or error behavior, but the read-only nature is evident and an output schema exists.
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 short and front-loaded with the core action. The additional sentences about the IRM station and condition_code are relevant and add value without filler.
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 output schema and full schema parameter coverage, the description covers the essential context: location scope, data source, and result labeling. It does not address behavior when no location parameters are supplied, but all parameters are optional and schema-documented, so this is a minor gap.
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 explains commune, latitude, and longitude. The description adds location scope ('Belgium') and the nearest-station concept, but does not meaningfully elaborate on parameter usage beyond the 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?
Description uses a specific verb ('Return') plus resource ('observed weather conditions for a location in Belgium'). The word 'observed' clearly distinguishes it from the forecast sibling tools.
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 context is clear: this tool is for observed, current conditions in Belgium, versus the forecast siblings. However, it does not explicitly name alternatives or state when not to use it, so it falls just short of full 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?
With no annotations provided, the description carries the behavioral burden. It discloses the data source (IRM rain radar), output granularity (per 10-minute frame), forecast horizon (~5 hours), and a performance trait (cheap relative to hourly forecast). It does not detail limitations such as accuracy or availability, but the output schema likely covers return shape.
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 tightly written: the core purpose appears in the first sentence, followed by useful context on data source, temporal resolution, and cost. Every sentence contributes value, and there is no filler or repetition of schema details.
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?
The tool is a read-style forecast lookup, and the description covers what it returns, how it works, its horizon, and when to prefer it. Parameter semantics are fully handled by the schema, and an output schema exists. An agent has enough context to select and call this tool correctly.
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 baseline of 3 applies. The description does not add parameter-specific meaning beyond the schema, but that is acceptable because the schema already documents commune, language, latitude, and longitude with examples and mutual-exclusion guidance.
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 specific verb-resource pairing: 'Return the short-term rain nowcast for a location in Belgium.' It further distinguishes itself from siblings by emphasizing radar-based 10-minute frames and a ~5-hour horizon, clearly separating it from hourly_forecast and other tools.
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 concrete usage context: it answers questions like 'will it rain in the next hour?' and explicitly notes it is 'much more cheaply than the hourly forecast.' This implies when to choose it over hourly_forecast, though it does not explicitly mention the other sibling tools or state exclusion criteria for daily or longer-range forecasts.
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?
No annotations are provided, so the description carries the full burden. It discloses the default cross-border scope (Belgium, Netherlands, Luxembourg), the active-warning filter, and that results include alert level and validity period. It does not cover edge cases like conflicting commune and coordinates, but the core behavior is transparent.
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 two short paragraphs with no filler. The first sentence summarizes the tool, and the following sentences clarify the call modes. It avoids repeating parameter names or schema details unnecessarily.
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?
The description covers the main call patterns and outputs, and an output schema exists for return values. It could say more about what happens if both commune and coordinates are provided, or whether results are sorted or time-limited, but these are minor gaps given the strong schema coverage.
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 schema already describes all five parameters with 100% coverage, so the baseline is 3. The description adds value by explaining the operational semantics: how the absence of commune changes the result scope, how coordinates serve as an alternative lookup, and how country applies only to the country-wide listing.
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 and resource: 'Return official IRM weather warnings'. It also clarifies two distinct modes—country-wide and per-municipality—which makes the tool's purpose precise and distinguishes it from sibling tools like current_conditions or rain_forecast.
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 clear mode-based usage guidance: omit commune for all active warnings, pass commune or coordinates for municipality warnings, and use the country parameter for filtering the country-wide listing. It does not explicitly name sibling alternatives, but the selection between modes is unambiguous.
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?
With no annotations provided, the description carries full behavioral disclosure. It reveals a non-obvious behavior: location does not affect the pollen levels, only which payload is read. This is valuable transparency beyond the schema. It does not mention response format or error cases, but the output schema exists and the tool is a simple read operation.
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 two sentences with no filler. It front-loads the main purpose, then adds the key behavioral nuance about national levels and location selection. Every sentence earns its place.
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?
For a simple retrieval tool with an output schema, the description is complete. It clarifies the tool's scope, the national behavior, the default location, and the role of the location parameters. There is no missing information an agent needs 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 schema already documents all three parameters with 100% coverage, so the baseline is 3. The description adds meaningful semantic context by stating that location parameters only select the payload and default to Brussels, helping the agent understand that commune/latitude/longitude are not regional filters. This raises it above the baseline.
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 action and resource: 'Return today's official IRM pollen levels for Belgium.' This clearly distinguishes the tool from weather siblings like current_conditions or daily_forecast, which are not about pollen. It also adds the important scope qualifier (national levels) that makes the behavior unambiguous.
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 provides clear usage context by explaining that pollen levels are national and location only selects the forecast payload, defaulting to Brussels. This guides the agent in setting the location parameters correctly. It does not explicitly name alternative tools or list when not to use this tool, 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.
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/kthys/irm-kmi-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server