Canada Weather
Server Details
Official Canadian weather: forecasts, conditions, alerts and air quality in English and French.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
The tools mostly target distinct weather data types: current conditions, hourly forecast, daily forecast, air quality, alerts, and location search. The only potential overlap is the two alert tools, but their coordinate-based versus site-code-based inputs are clearly named and described.
All tool names use consistent snake_case with a predictable verb_noun structure. Retrieval tools consistently use the get_ prefix, while search_locations is a natural exception for a search operation.
Seven tools is well-scoped for a Canada weather server. Each tool covers a distinct and useful part of the weather workflow without excessive surface area.
The surface covers the core weather-domain needs: location lookup, current conditions, hourly and daily forecasts, alerts, and air quality. The site-code-based design and alert-by-coordinate option provide a complete practical workflow for agents.
Available Tools
7 toolsget_air_qualityAInspect
Air Quality Health Index for a place, current value plus forecast.
Identify the place with a site code from search_locations, a place
name in query, or a latitude and longitude pair. Values come from
the nearest air quality station, which is named in the result.
lang is en or fr.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | ||
| lon | No | ||
| lang | No | en | |
| query | No | ||
| site_code | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose that values come from the nearest air quality station and that the station is named in the result. However, it does not explicitly state read-only behavior, error conditions, or other operational traits such as data freshness or fallback behavior when no station is nearby.
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?
The description is front-loaded with purpose, then follows with location options, data source, and language. It is compact and every sentence contributes useful information.
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 five-parameter tool with no output schema and no annotations, the description gives enough to invoke it correctly and understand the source and basic return content. It could say more about response structure or AQHI forecast periods, but the essentials are present.
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 description coverage is 0%, but the description effectively documents all five parameters: lat/lon as a coordinate pair, query as place name, site_code from search_locations, and lang as en or fr. It does not clarify precedence when multiple location methods are supplied, but parameter meaning is otherwise well covered.
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 states a specific resource and scope: Air Quality Health Index, current value plus forecast. It is clear what the tool returns, though it does not explicitly distinguish itself from weather-oriented siblings like get_current_conditions or get_daily_forecast.
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?
It gives clear location-identification options: site_code from search_locations, query for place name, or lat/lon pair. It does not explicitly say when to choose this over other forecast/conditions tools, but the usage context for locating a place is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_alerts_by_coordinatesBInspect
Active official weather alerts covering a latitude and longitude point. lang is en or fr.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes | ||
| lang | No | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that only *active* alerts are returned and that they are from an *official* source, which is real behavioral value; but it says nothing about auth needs, rate limits, return shape, units for lat/lon, or behavior on invalid coordinates.
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 short sentences, front-loaded with the purpose, and no filler. It is arguably over-terse for a 3-parameter tool, but nothing written is wasted.
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 small, non-destructive lookup with no output schema or annotations, the description covers purpose and the one non-obvious parameter constraint. It is still thin on return values ('alerts' — what fields?), coordinate formatting, and empty-result behavior, which an agent would need to chain this reliably.
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 description coverage is 0%, so the description must compensate. It does add the only real constraint present anywhere: lang accepts 'en or fr' (and the default is en per schema), which prevents a bad call. lat/lon are only obliquely explained by 'covering a latitude and longitude point' — no ranges, units, or sign conventions.
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 gives a specific verb+resource: active official weather alerts at a latitude/longitude point. It implicitly separates itself from get_alerts_by_place by stating the coordinate input, but never names the sibling or explicitly contrasts them.
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?
'covering a latitude and longitude point' implies you should use this when you have coordinates rather than a place name, which hints at the get_alerts_by_place alternative. However, there is no explicit when-to-use/when-not guidance, no prerequisites, and no statement about what to do if the point has no alerts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_alerts_by_placeAInspect
Active official weather alerts covering a location by site code.
Returns every active alert whose coverage includes the location, with its colour coded risk level, or an empty list when none are active. lang is en or fr.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | en | |
| site_code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to lean on, the description still discloses the key behavioral facts: only active alerts are returned, coverage is by location inclusion, the risk level is colour-coded, and an empty list is returned when nothing is active. It omits any note on permissions, rate limits, or result size limits, and gives no hint about the expected site_code format.
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?
Three short sentences, front-loaded with the core purpose, then return contents, then the only parameter detail worth stating. No filler.
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 two-parameter tool with no annotations and no output schema, it covers the read-only nature, the empty-result case, and the return contents reasonably well. The significant gap is site_code: with no schema documentation and no pointer to search_locations, an agent has no way to know what a valid site code looks like or where to get one.
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 description coverage is 0%, so the description must compensate. It usefully documents lang as 'en or fr', which the schema does not, but adds almost nothing about site_code beyond it identifying a location — no format, source, or example, even though that is the one required 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 verb and resource (retrieve active official weather alerts) and scopes it to a location identified by site code. The 'by site code' qualifier implicitly separates it from get_alerts_by_coordinates, but it never names that sibling, so the differentiation is left partly to inference.
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 mention of 'site code' hints that this is the site-code variant rather than the coordinate variant, which is only implied. There is no explicit statement of when to prefer it over get_alerts_by_coordinates, and no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_conditionsAInspect
Current observed weather conditions for a location by site code.
lang is en or fr. Get the site code from search_locations.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | en | |
| site_code | Yes |
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. 'Observed' vs 'forecast' implies a read-only lookup of measured data rather than a mutation, which is genuinely useful, but nothing is said about data freshness, units, coverage failures for unknown site codes, or the shape of the response.
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 short sentences with zero filler, and the primary purpose is front-loaded before the operational details. Every sentence earns its place.
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?
With no annotations, no output schema, and 0% schema coverage, the definition still covers purpose, both parameters, and the lookup dependency. The remaining gap is what an agent gets back (units, observation timestamp, error behavior for invalid site codes).
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% and neither parameter has a description, so the text must compensate — and it largely does: it constrains 'lang' to 'en or fr' (which the schema does not, it only defaults to en) and explains where site_code comes from. Missing only format/case expectations for site_code itself.
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?
Specific verb + resource + scope: 'Current observed weather conditions for a location by site code.' The word 'current observed' cleanly separates it from the forecast siblings (get_daily_forecast, get_hourly_forecast) and from get_air_quality without needing to open any 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?
It supplies the prerequisite workflow explicitly: 'Get the site code from search_locations,' which tells an agent how to obtain the required input rather than guessing. It stops short of stating when to prefer this over the forecast tools, but the implicit condition (you want now, not later) is clear from the purpose line.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_forecastCInspect
Daily forecast periods for a location by site code. lang is en or fr.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | en | |
| site_code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden, and it discloses almost nothing: no return shape, no number of periods, no units, no handling of invalid site codes, no rate limits. The only behavioral detail is the accepted lang values, which is thin for an annotation-free 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?
Two short sentences with zero filler, and the core purpose is front-loaded before the language note. It is terse to the point of under-specification, but that is a completeness problem rather than a verbosity one.
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?
With no annotations, no output schema, and 0% schema coverage, the description should explain what comes back (periods, fields, units) and how site_code is sourced. Neither is addressed, so an agent can form an intent but not predict the result.
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 description coverage is 0%, so the description must compensate. It does add real meaning for lang ('en or fr'), which the schema leaves as a bare string with a default, but it only restates site_code as 'by site code' without format, source, or validity rules.
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 ('daily forecast periods') and the keying mechanism ('by site code'), which cleanly separates it from the sibling get_hourly_forecast and get_current_conditions. It stops short of naming those siblings or the alternative lookup path, but the purpose itself is unambiguous.
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 when-to-use guidance, no prerequisites, and no reference to search_locations for obtaining a site code. An agent must infer from the name alone that this is the daily (not hourly, not current) variant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hourly_forecastCInspect
Hourly forecast for a location by site code. lang is en or fr.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | en | |
| hours | No | ||
| site_code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses very little: no units (metric/imperial), no timezone semantics for 'hourly', no behavior on an invalid or unknown site code, and no note on response shape beyond it being a forecast. It only adds a language constraint.
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 resource statement front-loaded and no filler. Terseness is appropriate here; the brevity is a limitation of content, not of structure.
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?
A 3-parameter tool with no annotations and no output schema requires the description to explain units, time horizon behavior, and language fallback. Instead it covers only the language values, leaving the agent to guess at the rest.
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 all three parameters lack documentation. The description explains site_code (location identifier) and constrains lang to en or fr, but the 'hours' parameter — defaulting to 24 — is never mentioned at all, leaving a third of the surface undocumented.
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 verb-and-resource combination: returns an hourly forecast for a location identified by site code. Among siblings, the 'hourly' qualifier implicitly separates it from get_daily_forecast and get_current_conditions, though it never names them 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?
No guidance on when to pick this over get_daily_forecast, get_current_conditions, or get_air_quality. It also doesn't say whether a prior search_locations call is needed to obtain a valid site_code.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_locationsAInspect
Search Canadian forecast locations by name, in English or French.
Returns matching locations with site code, names in both languages, province code, and coordinates. Use the site code with the other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| province | No |
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 that this is a search/read operation and lists the returned fields, but it does not cover matching behavior, ordering, pagination, or how the limit parameter affects results.
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?
The description is three short sentences, front-loaded with the core action and followed by return details and downstream usage. Every sentence adds useful information without filler.
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 lookup tool with no output schema, the description does well by listing the return fields and explaining the downstream site-code workflow. However, it omits parameter details for province and limit, so it is not fully complete given the 0% schema description coverage.
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 description coverage is 0%, so the description should explain all three parameters. It adds meaning for query by saying names may be English or French, but it never explains the province filter or the limit parameter, leaving two parameters undocumented.
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 uses a specific verb and resource: "Search Canadian forecast locations by name, in English or French." It also explains how this tool relates to its siblings by saying to use the returned site code with the other tools. That is enough for an agent to distinguish this discovery tool from the forecast and alert tools.
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 description gives a clear usage context: search for a location, then use its site code with the other tools. It does not explicitly state when not to use this tool or name alternatives for place-based lookups, but the intended workflow is clear.
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.
7 tool updates
- First observed
get_air_quality - First observed
get_alerts_by_coordinates - First observed
get_alerts_by_place - First observed
get_current_conditions - First observed
get_daily_forecast - First observed
get_hourly_forecast - First observed
search_locations
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.
Canada's Air Quality Health Index for any postal code.
Forecasts, severe-weather alerts, air quality, 20-year weather history, solar and wind production.
Related MCP Servers
- FlicenseAqualityCmaintenanceEnables users to monitor active Canadian meteorological warnings and advisories, view national and provincial counts, check alerts near coordinates, and generate safety briefings and incident reports.4-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to access live weather data from Environment and Climate Change Canada via the GeoMet API.13 npmMIT
- AlicenseAqualityDmaintenanceReal-time weather, forecasts, astronomy, marine data for 200+ countries11156 npm1MIT
- AlicenseNot gradedqualityCmaintenanceProvides real-time weather data and multi-day forecasts for any location worldwide.101 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.