Canada Air Quality (AQHI) MCP
Server Details
Canada's Air Quality Health Index for any postal code.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
- Repository
- donniertf-hub/uk-mcp-fleet
- GitHub Stars
- 0
TDQS
Scored across 4 tools
The four tools target distinct usage modes: current reading at nearest station, forecast, radius threshold watch, and batch postal-code checks. The only mild overlap is that air_quality and aqhi_forecast both return current observations, but the forecast tool clearly adds a forecast dimension.
All tool names use consistent lower snake_case and domain-specific two-word patterns (air_quality, aqhi_forecast, region_watch, sites_check). The convention is predictable even though it is noun-oriented rather than strictly verb_noun.
Four tools is well-scoped for a focused AQHI service, with each tool representing a clear query mode rather than redundant variants. The surface is neither bloated nor thin for the domain.
The set covers current conditions, forecasts, regional threshold monitoring, and batch postal-code checks, which are the core AQHI workflows. Minor gaps include no explicit station lookup or historical AQHI data, but agents can work around these for the stated purpose.
Available Tools
4 toolsair_qualityAInspect
FREE. Latest Air Quality Health Index (AQHI 1–10+) and risk level at the station nearest a Canadian postal code.
| Name | Required | Description | Default |
|---|---|---|---|
| postal_code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does add useful traits: it is free, it returns an AQHI value on the 1–10+ scale plus a risk level, and it resolves to the nearest station rather than an exact postal code match. It does not state what happens for invalid or non-Canadian postal codes, coverage gaps, or whether results are cached/stale beyond 'latest', leaving meaningful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence that covers cost, return values, scale, and resolution method. Leading with 'FREE.' is slightly off-target front-loading since the resource identification is more important, but nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema lookup tool, the description supplies what an agent needs: what is returned, what the scale means, cost, and that lookup is by nearest station to a Canadian postal code. Only minor edge-case behavior (invalid or out-of-country postal codes) is missing, which is a small gap for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the schema only tells the agent the parameter is a string named 'postal_code'. The description adds real meaning by specifying it is a Canadian postal code used to locate the nearest station. It still omits format guidance (e.g., A1A 1A1) and validation behavior, so it partially but not fully compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (AQHI score and risk level) and scope (latest reading at the station nearest a Canadian postal code). 'Latest' implicitly distinguishes it from the sibling aqhi_forecast, though it never names that sibling explicitly. An agent can tell what the tool returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'Latest' implies this is for current conditions rather than a forecast (aqhi_forecast), which is useful implied guidance. However, there is no explicit when-to-use statement, no mention of when to prefer sites_check or region_watch, and no prerequisites such as 'only for Canadian addresses'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
aqhi_forecastCInspect
PRO. AQHI forecasts for the nearest station (next periods), plus the current observation.
| Name | Required | Description | Default |
|---|---|---|---|
| postal_code | Yes | ||
| access_token | No | Subscriber token from /success (or Authorization: Bearer) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses one useful behavior (the station is resolved automatically as the 'nearest' to the caller) but says nothing about subscription gating despite the 'PRO' and access_token hints, nor about failure modes for ambiguous/invalid postal codes, forecast horizon, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the primary output (forecast plus current observation) front-loaded; nothing is padded. The opaque 'PRO.' fragment is the one element that spends space without earning it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations, no output schema, and a required location parameter, the description is too thin: 'next periods' is undefined, units/index semantics of AQHI are not stated, and the meaning of 'PRO' (subscription requirement) is left for the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: access_token is documented in the schema, but postal_code has no description. The phrase 'nearest station' does convey that the postal code is used for station resolution, which is genuine added meaning, but it doesn't specify accepted formats, country scope, or what happens with non-matching codes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (AQHI forecasts for the nearest station, over the next periods) plus the current observation, so an agent knows what it returns. It does not explicitly differentiate itself from siblings such as air_quality, and the leading "PRO." token is unexplained, which slightly blunts the clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this versus air_quality or region_watch, and no exclusions or prerequisites. The only implied guidance is that it is for forecasting rather than reporting, which the agent has to infer from the word 'forecasts'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
region_watchBInspect
PRO. All AQHI stations within a radius (km, max 400) of a postal code with readings at or above a threshold.
| Name | Required | Description | Default |
|---|---|---|---|
| min_aqhi | No | ||
| radius_km | No | ||
| postal_code | Yes | ||
| access_token | No | Subscriber token from /success (or Authorization: Bearer) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose two real behavioral facts: the 400 km radius ceiling and the threshold-based filtering of results. It does not say what happens when no station meets the threshold, whether results are sorted by distance or reading, or that a subscriber token is required for access (that lives only in the schema). Useful but incomplete for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with zero filler, and the tier gate plus the geographic scope are front-loaded. Every clause contributes a distinct fact (tier, stations, radius, origin, threshold).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter tool with no annotations and no output schema, the description covers the filtering semantics but omits defaults for min_aqhi and radius_km, the auth requirement, and any hint of the return shape. Adequate to call correctly in the common case, but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25%, so the description must compensate, and it largely does: it explains that the radius is in km with a max of 400, that the postal code is the origin point, and that min_aqhi acts as a readings threshold. Only the meaning of 'readings' relative to min_aqhi and any defaults remain unstated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource set (AQHI stations), a spatial scoping mechanism (within a radius of a postal code) and a filter (readings at or above a threshold). An agent can tell this is a proximity-based air-quality query, distinct from a forecast tool like aqhi_forecast. It stops short of naming the siblings it should be preferred over, so it is clear but not differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage signal is the leading 'PRO.', which implies a paid-tier gate, and the inline 'max 400' cap. There is no statement of when to choose this over air_quality, sites_check, or aqhi_forecast, and no prerequisites beyond the implicit subscription. An agent must guess the selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sites_checkAInspect
PRO. Current AQHI for up to 25 postal codes, worst first — e.g. wildfire smoke checks for sites, schools or crews.
| Name | Required | Description | Default |
|---|---|---|---|
| access_token | No | Subscriber token from /success (or Authorization: Bearer) | |
| postal_codes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose two useful traits the schema does not — the 25-postal-code cap and the worst-first ordering. It omits what happens when more than 25 codes are supplied, whether missing/invalid codes error or are skipped, and any rate or quota behavior for PRO calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the resource and cap front-loaded and examples kept to a short clause. The leading 'PRO.' token is a useful but unexplained tier marker that costs a beat of comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read with no output schema, the description covers what is returned (current AQHI per postal code, sorted worst first) and the batch limit. It is only slightly short on edge-case behavior for oversized or invalid batches.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: access_token is documented in the schema, but postal_codes has no schema description. The description partially compensates by adding the 25-item limit and result ordering, yet it never states the expected postal-code format (e.g. Canadian A1A 1A1 with or without space), which is the main ambiguity for this parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: current AQHI values for up to 25 postal codes, returned worst first. It implicitly distinguishes itself from the sibling aqhi_forecast by emphasizing 'Current', though it never names that sibling or air_quality explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The examples ('wildfire smoke checks for sites, schools or crews') give concrete usage contexts, and 'PRO' signals a paid tier. However, there is no explicit when-not guidance or named alternative for forecast data or regional lookups, so the agent must infer the boundary with aqhi_forecast and region_watch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
air_quality - First observed
aqhi_forecast - First observed
region_watch - First observed
sites_check
Related MCP Connectors
Official Environment Canada forecasts and current conditions for any Canadian postal code.
Official Environment Canada climate station observations near any postal code.
Active Environment Canada weather warnings for any Canadian postal code.
Real-time river and lake levels from Water Survey of Canada gauges near any postal code.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides real-time Air Quality Index data from the World Air Quality Index service, enabling queries by location, station, or keyword search.7 npmMIT
- AlicenseAqualityBmaintenanceProvides access to Hong Kong government environment data, including the current Air Quality Health Index (AQHI) from monitoring stations across Hong Kong.141 PyPI1MIT
- AlicenseAqualityCmaintenanceProvides real-time air quality data (US AQI, PM2.5, PM10, ozone, NO2, SO2, CO) for any city via natural language, using free Open-Meteo data and a single tool.1MIT
- AlicenseNot gradedqualityBmaintenanceAccess air quality data from Open-Meteo API, free and without authentication.222 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.