Smarter Weather
Server Details
Smarter Weather MCP: forecasts, alerts, outlooks, observations, AQI, grids, and map imagery.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.4/5 across 28 of 28 tools scored.
Each tool has a clearly distinct purpose, covering different aspects of weather data (forecasts, observations, alerts, lightning, storms, air quality, etc.). Potential overlaps like get_forecast and get_current_conditions are clarified in descriptions, preventing confusion.
Most tools follow a verb_noun pattern, but the verbs vary (get, list, describe, find, reverse, search, compare, query). While the format is consistent, the lack of a single verb prefix reduces predictability.
28 tools is on the higher side but appropriate given the broad scope of weather data covered (forecasts, observations, alerts, lightning, storms, air quality, datasets, maps, etc.). Each tool serves a specific function, justifying the count.
The tool surface is highly comprehensive, covering nearly all major weather data types: forecasts, observations, alerts, climate records, lightning, storms, air quality, tropical, sounding, maps, and specialized tools like growing degree days and population exposure. No obvious gaps for a general weather server.
Available Tools
28 toolscompare_locationsCompare locationsARead-onlyIdempotentInspect
Compare forecast variables across multiple locations side-by-side in one batched call. Returns a distilled per-location series matrix for direct comparison -- prefer this over N sequential forecast calls. Locations accept place names directly. Example: {"locations": [{"location": "Denver"}, {"location": "Boulder, CO"}], "variables": ["temperature_2m", "precipitation_probability"], "hours": 48}.
| Name | Required | Description | Default |
|---|---|---|---|
| hours | No | Forecast hours. Default 24. | |
| locations | Yes | Locations to compare (2-10). Each takes location OR lat/lon, optional label. | |
| variables | Yes | Standard variable names (e.g. temperature_2m, precipitation). | |
| dataset_id | No | Dataset override. Default: auto-resolved NBM per location. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hours | Yes | |
| variables | Yes | |
| comparisons | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint false. The description adds that the tool returns a 'distilled per-location series matrix' and is a batched call, providing useful behavioral context beyond annotations.
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 two sentences plus an example, front-loaded with the purpose, and every sentence provides essential information without redundancy.
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 an output schema present, return values need not be described. The description fully covers input usage, provides an example, and differentiates from many forecast-related siblings.
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 100%, but the description adds significant value with a concrete JSON example showing usage of locations, variables, and hours. It also reinforces that locations accept place names directly.
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 clearly states it compares forecast variables across multiple locations side-by-side, using specific verb 'compare' and resource. It distinguishes from sibling tools like get_forecast by saying 'prefer this over N sequential forecast calls'.
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?
Explicitly advises to use this over sequential forecast calls for multi-location comparisons, providing clear context. However, it does not explicitly state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_datasetDescribe datasetARead-onlyIdempotentInspect
Variables available in a dataset, with standard names, units, descriptions, and the time range of available data. Use before query_dataset to discover valid variable names. Example: {"dataset_id": "nbm_conus"}.
| Name | Required | Description | Default |
|---|---|---|---|
| dataset_id | Yes | Pipeline dataset identifier (e.g. "nbm_conus", "mrms_reflectivity_conus"). Discover valid values with list_datasets; inspect variables with describe_dataset. |
Output Schema
| Name | Required | Description |
|---|---|---|
| detail | Yes | |
| dataset_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, openWorldHint=true, idempotentHint=true, destructiveHint=false. The description adds context about the return content (names, units, descriptions, time range) but does not disclose additional behaviors. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences and an example. No extraneous information, and the key purpose is front-loaded.
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?
Given the single parameter, high schema coverage, and presence of an output schema, the description is fully adequate. It does not need to explain return values because the output schema covers that.
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 100% and the parameter description already explains dataset_id well. The description adds workflow context by linking to query_dataset, which adds value beyond the schema alone.
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 explicitly states 'Variables available in a dataset' and mentions specific attributes (names, units, descriptions, time range), clearly indicating the tool's function. It distinguishes from sibling tools by noting it should be used before query_dataset.
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 provides explicit guidance: 'Use before query_dataset to discover valid variable names' and includes a concrete example. The parameter schema also references list_datasets for discovering valid dataset_id values.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_best_windowFind best weather windowARead-onlyIdempotentInspect
Find the optimal time window for an activity based on weather criteria. Scans the forecast and returns daylight-aware periods matching all conditions. Criteria are expressed in the selected units system (default imperial: °F, mph, miles, feet). Example: {"location": "Boulder, CO", "criteria": {"min_temperature": 55, "max_wind_speed": 15, "max_precipitation_probability": 20}, "hours": 72, "activity_duration_hours": 3}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| hours | No | Hours to search. Default 72. | |
| units | No | Unit system for all values in the request and response: imperial (°F, mph, inches), metric (°C, km/h, mm), or si (K, m/s, mm). Defaults to imperial. | imperial |
| criteria | Yes | Weather criteria defining acceptable conditions (all optional). | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. | |
| daylight_only | No | Only consider daylight hours (sunrise to sunset). Default true. | |
| activity_duration_hours | No | Minimum consecutive hours meeting criteria. Default 2. |
Output Schema
| Name | Required | Description |
|---|---|---|
| units | Yes | |
| message | No | |
| windows | Yes | |
| location | Yes | |
| sun_times | No | |
| daylight_only | Yes | |
| criteria_applied | Yes | |
| activity_duration_hours | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds value by explaining it scans forecasts, is daylight-aware, and uses units. No contradictions.
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?
Concise three sentences plus a clear example. Every sentence is informative and front-loaded with the key action and result.
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 full schema coverage, output schema, and clear annotations, the description provides sufficient context for an agent to understand and invoke the tool correctly.
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 100% with detailed parameter descriptions. The description adds an example and clarifies unit defaults, but does not significantly extend schema information.
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 clearly states the tool's purpose: 'Find the optimal time window for an activity based on weather criteria.' It specifies it scans forecasts and returns daylight-aware periods, distinguishing it from raw forecast tools like get_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?
The description implies usage when needing an optimal time window based on criteria, but does not explicitly contrast with sibling tools or provide when-not-to-use guidance. No direct alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_air_qualityGet air qualityARead-onlyIdempotentInspect
AirNow air quality at a location (CONUS): current overall AQI plus per-pollutant detail (PM2.5, ozone, PM10 concentrations) and the AirNow AQI forecast. AQI scale: 0-50 good, 51-100 moderate, 101-150 unhealthy for sensitive groups, 151-200 unhealthy, 201-300 very unhealthy, 301+ hazardous. pollutants=["aqi"] (default) is the cheap headline call; add pollutant keys or include_forecast=true when the user digs in. Example: {"location": "Boise", "pollutants": ["aqi", "pm25"], "include_forecast": true}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. | |
| pollutants | No | Which measurements to return. aqi = combined AQI index. Default: ["aqi"]. | |
| include_forecast | No | Also return the AirNow next-day AQI forecast. |
Output Schema
| Name | Required | Description |
|---|---|---|
| widget | No | sw-ui-spec widget block rendered by the MCP Apps weather widget (ui://weather-widget/v1/index.html). Additive; safe to ignore. |
| current | Yes | |
| forecast | No | |
| location | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, etc. Description adds geographic limit (CONUS), explains AQI scale, and notes cost implications of parameters. No contradictions.
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?
Concise with front-loaded purpose, then scale, parameter hints, and example. Minor verbosity in AQI scale detail but overall efficient.
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?
Covers return type, geographic scope, parameter usage. Output schema exists for detailed structure. Could mention that lat/lon or location is required implicitly, but five optional params make it clear.
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 covers all parameters (100%). Description adds value by explaining default behavior ('cheap headline') and recommending when to include forecast or additional pollutants, plus a concrete example.
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?
Clearly states it retrieves 'AirNow air quality at a location (CONUS)' with current AQI, per-pollutant detail, and forecast. Distinguishes from siblings by focusing solely on air quality.
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?
Provides guidance on default vs. extended calls ('cheap headline call' vs. adding pollutants/forecast), includes example. Lacks explicit comparison with sibling tools but implicitly guides usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_alertsGet NWS alertsARead-onlyIdempotentInspect
Active NWS watches, warnings, and advisories. Location mode returns all alerts in effect at a point (severity, urgency, certainty, timing, headline, description, instructions); an empty result means no active alerts -- not a failure. alert_id mode returns full detail (including geometry) for one alert previously returned by this tool. Examples: {"location": "Miami"} or {"alert_id": "urn:oid:2.49.0.1.840..."}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| alert_id | No | Alert identifier for detail mode. When set, location is ignored. | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. |
Output Schema
| Name | Required | Description |
|---|---|---|
| alert | No | |
| alerts | No | |
| widget | No | sw-ui-spec widget block rendered by the MCP Apps weather widget (ui://weather-widget/v1/index.html). Additive; safe to ignore. |
| alert_id | No | |
| location | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is read-only, idempotent, and non-destructive. The description supplements this by explaining that an empty result means no active alerts (not an error), and describes what fields are returned in each mode. This adds useful behavioral context beyond 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences that cover both modes, expected output, error interpretation, and examples. Every sentence adds value without redundancy.
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?
Given the presence of annotations, full schema coverage, and an output schema, the description provides all necessary operational context. It explains both usage modes, what to expect from results, and how to interpret empty results. The tool is well-documented for its complexity.
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 100%, and the schema includes clear descriptions for each parameter. The tool description does not add additional parameter-specific details beyond highlighting the two usage patterns and providing examples. With high schema coverage, a score of 3 is appropriate.
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 clearly identifies the tool as retrieving active NWS watches, warnings, and advisories. It specifies two distinct modes (location vs alert_id) with concrete examples, effectively distinguishing it from sibling tools like get_forecast or get_current_conditions.
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 explains when to use each mode: location mode for active alerts at a point, alert_id for detailed info on a previously returned alert. It also clarifies that an empty result is not a failure. While it doesn't explicitly state when not to use the tool, the mode descriptions provide clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_climate_recordsGet climate reports and recordsARead-onlyIdempotentInspect
NWS daily climate data: type=reports returns CLI daily climate reports (observed high/low/precip vs normals per station); type=records returns RER record event reports (record highs/lows/rainfall actually set). Filter by wfo (3-letter office, e.g. DMX), station, date (YYYY-MM-DD), start/end range, or hours lookback. Examples: {"type": "records", "hours": 48} or {"type": "reports", "wfo": "DMX", "date": "2026-07-04"}.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | Range end date, YYYY-MM-DD. | |
| wfo | No | WFO office filter (e.g. DMX, OUN). | |
| date | No | Single date, YYYY-MM-DD. | |
| type | Yes | reports = CLI daily climate reports; records = RER record events. | |
| hours | No | Lookback window in hours (1-168) when no date/range is given. | |
| start | No | Range start date, YYYY-MM-DD. | |
| station | No | Station identifier filter (reports only). | |
| record_type | No | Record type filter (records only), e.g. HIGH, LOW, RAIN. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| results | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds behavioral context by detailing the two types of reports (CLI vs RER) and the filtering semantics (e.g., hours lookback vs date range). This goes beyond annotations without contradicting them.
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 efficiently structured: it starts with the core purpose, then lists parameters in a natural order, and ends with examples. Every sentence adds value without redundancy. It fits within a single paragraph while covering all critical aspects.
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?
Given the tool has 8 parameters, 1 required, and an output schema exists, the description is almost fully complete. It covers the two main use cases, explains parameter relationships, and provides examples. Minor gaps: it does not describe the output format or pagination, but the output schema covers that, and the description is sufficient for an AI agent to invoke correctly.
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 100% with each parameter described. The description adds meaningful value by explaining the difference between 'reports' and 'records' types, noting that station applies to reports only, and clarifying the interplay of hours, date, and range. Examples reinforce parameter usage.
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 clearly states it provides NWS daily climate data, distinguishing between 'reports' (CLI daily climate reports) and 'records' (RER record events). It specifies filtering options and includes examples, making the purpose unambiguous and differentiating it from sibling tools like get_observations or get_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?
The description explains when to use the two 'type' values and provides example usage patterns. However, it does not explicitly contrast with alternative tools or state when not to use this tool. Nevertheless, the context of NWS climate data is sufficiently clear for an AI agent to decide appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_conditionsGet current conditionsARead-onlyIdempotentInspect
Current weather right now at a location from two independent sources in one call: the RTMA gridded analysis (exact-point values, updated sub-hourly) and the nearest METAR station observation (ground truth with raw METAR, flight category). Use the analysis for point-accurate values and the station for verification. For a forecast, use get_forecast. Example: {"location": "Pella, IA"}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. |
Output Schema
| Name | Required | Description |
|---|---|---|
| analysis | Yes | |
| location | Yes | |
| nearest_station | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses behavioral traits such as two-source output, sub-hourly updates, and verification use case, adding value beyond annotations (readOnly, idempotent, non-destructive). No contradiction.
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 concise sentences that front-load the core functionality and efficiently provide actionable guidance.
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?
Adequately covers tool purpose, sources, and usage scenarios. With an output schema present, the description does not need to detail return values, but could briefly mention output structure.
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 already covers 100% of parameters with descriptions. The description adds an example but does not significantly enhance meaning beyond the schema.
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?
Clearly states it retrieves current weather from two independent sources (RTMA and METAR) and distinguishes itself from sibling tools like 'get_forecast' by specifying its focus on current conditions.
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?
Explicitly guides when to use 'analysis' vs 'station' and recommends 'get_forecast' for forecasts, providing clear usage context and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_forecastGet forecastARead-onlyIdempotentInspect
Complete weather overview for a location: current conditions, daily forecast (day/night periods, SPC threats, severity, CAPE, UV), active alerts, and convective outlooks in one call. Data is pre-aggregated across NBM, HRRR, GFS, RTMA, and SPC and unit-converted server-side. This is the primary weather tool; reach for lower-level tools only when you need raw observations or a specific dataset. Accepts a place name directly. Examples: {"location": "Denver"} or {"location": "Portland, OR", "days": 5} or {"lat": 41.4, "lon": -92.9}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| days | No | Number of forecast days (1-14). Default 10. | |
| units | No | Unit system for all values in the request and response: imperial (°F, mph, inches), metric (°C, km/h, mm), or si (K, m/s, mm). Defaults to imperial. | imperial |
| include | No | Comma-separated sections: current, daily, hourly, alerts, outlooks. Default "current,daily,alerts,outlooks". Use get_hourly_forecast for hourly detail. | current,daily,alerts,outlooks |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. | |
| detail_level | No | standard: compact response (~5-10KB). detailed: preserves CAPE, UV, day/night periods, extra hourly fields (~12-20KB). | standard |
Output Schema
| Name | Required | Description |
|---|---|---|
| units | Yes | |
| widget | No | sw-ui-spec widget block rendered by the MCP Apps weather widget (ui://weather-widget/v1/index.html). Additive; safe to ignore. |
| forecast | Yes | |
| location | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive. The description adds that data is pre-aggregated across multiple models and unit-converted server-side, providing useful context beyond annotations.
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 concise (two sentences plus an example) and front-loads the essential information. Every sentence adds value without redundancy.
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?
Given the tool's complexity (7 parameters, rich output, many sibling tools), the description is thorough: it covers scope, data sources, usage distinction, and input examples. Output schema exists, so return format description is unnecessary.
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 100% with detailed descriptions for all 7 parameters. The description adds example usages but does not significantly augment the parameter semantics beyond what the schema provides.
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 clearly states it provides a 'complete weather overview for a location' including current conditions, daily forecast, alerts, and convective outlooks. It is identified as the primary weather tool, distinguishing it from lower-level tools for raw observations.
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?
Explicit guidance to use this tool as the primary weather tool and to reach for lower-level tools only when raw observations or specific datasets are needed. Examples of input formats are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_forecast_discussionGet forecast discussionARead-onlyIdempotentInspect
Expert forecaster text products for a location. type=afd: Area Forecast Discussion (WFO forecasters explain reasoning, uncertainty, model disagreements). type=hwo: Hazardous Weather Outlook (7-day hazard summary). type=mcd: SPC Mesoscale Discussions (real-time severe weather analysis). summary_only=true returns the pipeline LLM summary without the full body (much smaller). Examples: {"location": "Des Moines", "type": "afd"} or {"lat": 41.6, "lon": -93.6, "type": "mcd", "limit": 3}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| wfo | No | WFO identifier override (e.g. BOU). Default: resolved from the location. | |
| type | Yes | Product type: afd (WFO discussion), hwo (hazard outlook), mcd (SPC mesoscale). | |
| limit | No | Number of recent products (1-10). Default 1 (latest). | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. | |
| summary_only | No | Return only the LLM summary + sections, omitting the full body text. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | |
| location | No | |
| products | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds value by explaining that summary_only reduces payload size and differentiating product types. No contradictions or missing behavioral traits are apparent.
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 well-structured with a clear topic sentence, bullet-like enumeration of types, and examples. It is not overly verbose, though the type descriptions could be more compact. Front-loads key 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?
Given the complexity (7 parameters, output schema exists), the description covers all essential aspects: product types, optional parameters (summary_only, limit), location input options, and examples. The output schema handles return value documentation.
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 100%, so baseline is 3. The description adds extra meaning beyond the schema by explaining the type enum values, providing location format hints, and elaborating on summary_only. Examples further clarify parameter combinations.
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 clearly states it retrieves 'expert forecaster text products for a location' and enumerates three specific product types (afd, hwo, mcd) with explanations. Examples illustrate usage, making the tool's purpose unmistakable. While sibling tools like get_forecast exist, the description's specificity distinguishes it effectively.
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 provides clear usage context through examples and explains when to use each product type. It also notes the summary_only option for reducing response size. However, it does not explicitly exclude related tools or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_forecast_distributionGet forecast distributionARead-onlyIdempotentInspect
Probabilistic forecast guidance from NBM for one aspect of the weather: percentile ranges (p10-p90), exceedance probabilities, and ensemble spread. Aspects: precip (PoP, QPF + percentiles), snow (accumulation percentiles, >1/2/4in probabilities, snow level), ice (freezing rain, accretion), temperature (temp/dewpoint + stddev), wind (speed/gust percentiles), severe (hail/tornado/damaging-wind probabilities), aviation (LIFR/IFR/MVFR visibility + ceiling probabilities), confidence (ensemble stddev; low spread = settled forecast). Examples: {"location": "Denver", "aspect": "snow", "hours": 72} or {"lat": 32.9, "lon": -97.0, "aspect": "severe"}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| hours | No | Forecast hours (1-264). Default varies by aspect (48-72). | |
| aspect | Yes | Which distribution family to return (see tool description). | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hours | Yes | |
| aspect | Yes | |
| series | Yes | |
| location | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive nature. The description adds value by detailing what each aspect returns (e.g., snow accumulation percentiles, probabilities), without contradicting annotations.
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 the main purpose, but the list of aspects is dense and could be more structured. Still, every sentence contributes meaning.
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?
Given the complexity of probabilistic forecasts, the description adequately covers the different aspects and their outputs. The existence of an output schema supports completeness without needing to detail response format in text.
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 100%, but the description enriches parameter understanding by explaining the meaning of each aspect and providing usage examples (e.g., for 'snow' aspect). This goes beyond the schema's enum descriptions.
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 clearly states that this tool provides probabilistic forecast guidance from NBM for one aspect of the weather, listing specific outputs like percentile ranges and exceedance probabilities. It distinguishes itself from siblings like 'get_forecast' by focusing on distributional data.
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 examples and lists the available aspects, helping the agent choose the right parameter. However, it does not explicitly state when to use this tool versus alternatives or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_growing_degree_daysGet growing degree daysARead-onlyIdempotentInspect
Growing Degree Units (GDU / GDD) for a US location (CONUS, Alaska, Hawaii), computed from daily max/min temperatures. Pass a crop id (e.g. "corn", "soybean", "wheat") to use calibrated base/upper thresholds, or crop="custom" with base_temp_c (and optional upper_temp_c / method). Without season_start you get per-day GDU across the forecast horizon; WITH season_start (YYYY-MM-DD) you get the cumulative season-to-date total (observed history + today + forecast) plus a per-day cumulative series -- the number a grower tracks against crop milestones. Answers "how many growing degree days has my corn accumulated since May 1?" and "what's the GDU forecast this week?".
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | Yes | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| crop | Yes | Crop id from the catalog (e.g. "corn", "soybean", "wheat") or "custom" to supply your own thresholds via base_temp_c. | |
| days | No | Forecast horizon in days (default 10). | |
| unit | No | Unit system for GDU + temps. Default imperial (°F-days). | |
| method | No | GDU method for custom crops. Defaults from whether upper_temp_c is set. | |
| base_temp_c | No | Custom base threshold in °C. Required when crop="custom". | |
| season_start | No | Season/planting start as YYYY-MM-DD (local date). Presence switches the response to a cumulative season-to-date GDU total. Must be within the ~180-day observed window. | |
| upper_temp_c | No | Custom upper cutoff in °C (enables the modified method). Optional. | |
| day_definition | No | Daily boundary: "nws" (default; NBM MaxT/MinT period extremes) or "local_calendar" (midnight-to-midnight local day). | |
| include_milestones | No | Include the crop's growth-stage GDU milestones in the response. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readonly, idempotent, and nondestructive behavior. The description adds geographic scope (US only), two response modes based on season_start, and input requirements (crop, temps). It does not contradict annotations and provides additional useful context.
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 about 100 words, dense with key information, front-loaded with the core function, and efficiently explains both modes. No redundant sentences, and it includes example questions for clarity.
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?
Given 11 parameters and no output schema, the description covers the main logic, two modes, geographic limitation, and parameter interactions. It does not explicitly describe the return format, but infers from context (per-day series, cumulative total, milestones). It is nearly complete for an agent.
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 covers all 11 parameters with descriptions. The tool description adds higher-level meaning: explains the significance of season_start for cumulative totals, gives example crop IDs, and describes the custom crop path. This connects parameters to use cases beyond the schema.
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 clearly states the tool computes Growing Degree Units for US locations using temperature data, specifies crop-specific thresholds, and distinguishes between per-day and cumulative modes. It uses specific verbs and resources, differentiating it from sibling tools like get_forecast or get_observations.
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 provides clear usage scenarios with example questions ('how many GDD since May 1?', 'GDU forecast this week?') and explains when to use season_start vs not. It does not explicitly exclude alternatives, but the context is sufficient for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hourly_forecastGet hourly forecastARead-onlyIdempotentInspect
Blended hourly forecast: temperature, feels-like, humidity, wind, precipitation probability/amount, conditions, and icon per hour. Snapped to the current hour so hourly[0] is "now". Timestamps are UTC ISO 8601; convert to the local timezone before presenting. Accepts a place name directly. Example: {"location": "Chicago", "days": 2}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| days | No | Days of hourly data (1-7). Default 2 (48 hours). | |
| units | No | Unit system for all values in the request and response: imperial (°F, mph, inches), metric (°C, km/h, mm), or si (K, m/s, mm). Defaults to imperial. | imperial |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. | |
| detail_level | No | standard: compact hourly data (sampled past 24h). detailed: preserves CAPE, ceiling, UV, gust, thunderstorm probability for the first 48h. | standard |
Output Schema
| Name | Required | Description |
|---|---|---|
| units | Yes | |
| widget | No | sw-ui-spec widget block rendered by the MCP Apps weather widget (ui://weather-widget/v1/index.html). Additive; safe to ignore. |
| forecast | Yes | |
| location | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds useful context: data is snapped to the current hour (hourly[0] is 'now'), timestamps are UTC ISO 8601 requiring conversion, and the tool accepts a place name directly. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a JSON example, front-loading the key output and behavior. Every sentence is necessary and no content is wasted. Highly efficient.
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?
The description covers core behavior, timezone handling, and example usage. Given the complexity (6 parameters, output schema exists), it is nearly complete. Could note the mutual exclusivity of lat/lon and location, but schema already covers this. Minor gap.
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?
With 100% schema coverage, the description adds minimal parameter-specific value beyond the schema itself. The example gives a concrete invocation but doesn't clarify edge cases or parameter interactions beyond what the schema provides. Baseline score is appropriate.
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 clearly defines the tool as providing a blended hourly forecast with specific data fields like temperature, feels-like, humidity, etc. It distinguishes from siblings like 'get_forecast' (likely daily) and 'get_current_conditions' by focusing on hourly granularity.
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 states it accepts a place name directly and provides an example. While it doesn't explicitly say when not to use it versus alternatives, the hourly nature and available siblings imply appropriate use cases. Some exclusions would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_lightning_activityGet lightning activityARead-onlyIdempotentInspect
Real-time lightning near a location: GLM satellite flash count (30km/10min) and MRMS ground-truth lightning density + 30-minute probability. The summary field is ready-to-use. Only call when storms may be active or the user asks about lightning. Example: {"location": "Tampa"}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. |
Output Schema
| Name | Required | Description |
|---|---|---|
| location | Yes | |
| lightning | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), description details data source (GLM/MRMS), spatial/temporal scope (30km/10min), and that the 'summary field is ready-to-use'. Does not cover error handling or missing data cases, but annotations already confirm safety.
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 sentences plus an example, front-loaded with core purpose and output details. Every sentence adds value with zero waste.
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?
Given presence of output schema and full schema coverage, description covers core functionality well. Could add a note on probability interpretation but current level is sufficient for an agent.
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 descriptions already fully cover all 3 parameters (100% coverage). Description adds no new parameter-level details beyond an example usage, which is helpful but not essential.
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?
Clearly states it provides 'Real-time lightning near a location' with specific data types (GLM flash count, MRMS ground-truth lightning density + probability). Distinguishes from all sibling weather tools as the only lightning-specific tool.
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?
Explicitly says 'Only call when storms may be active or the user asks about lightning.' This gives clear when-to-use guidance and implicitly recommends against using when lightning is not relevant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_map_snapshotGet map snapshotARead-onlyIdempotentInspect
Render a weather map image for visual analysis. Simple form: pass product (a viz-catalog product_id like "mrms_qpe_01h_pass2_conus", "goes_truecolor_conus", "spc_day1_categorical", or "nexrad_l3:{SITE}:{PRODUCT}" for single-site radar, e.g. "nexrad_l3:TLX:N0B") plus a location and zoom (5=regional, 8=metro, 10=city). Composed form: pass scene -- a declarative scene document layering basemap + multiple weather products + active alerts + storm features + inline GeoJSON in one image (layers draw bottom-to-top, under basemap labels). Example scene: {"scene":"1.0","view":{"center":{"lat":43.8,"lon":-91.2},"zoom":8},"layers":[{"type":"weather","product":"goes_truecolor_conus"},{"type":"weather","product":"nexrad_l3:ARX:N0B"},{"type":"alerts","filter":{"events":["Tornado Warning"]},"onError":"skip"}]}. Alert filters (all optional, AND-combined): ids (specific alerts), events, severities, minSeverity (Extreme>Severe>Moderate>Minor>Unknown). Returns the rendered image plus per-layer resolved valid times.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| time | No | Unix seconds; frame closest to this time (default: latest) | |
| zoom | No | Map zoom (simple form) | |
| scene | No | Full scene document (composed form). When set, product/location/zoom are ignored. | |
| width | No | ||
| height | No | ||
| opacity | No | Weather layer opacity | |
| product | No | viz-catalog product_id or nexrad_l3:{SITE}:{KEY} (simple form) | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable behavioral context: scene layering order, alert filter combinations, return of image plus per-layer valid times. No contradictions.
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 and well-structured into simple form, composed form, and alert filters. While somewhat lengthy, each sentence adds information for a complex tool. Minor redundancy could be trimmed.
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 10 parameters, no required, and no output schema, the description covers both modes, parameters, return value, and example. It is sufficiently complete for an agent to select and invoke the tool.
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 80%, and the description adds significant meaning: product string format, location string examples, scene document structure with example, alert filter fields. This elevates understanding beyond the schema's basic descriptions.
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 clearly states 'Render a weather map image for visual analysis' with specific verb+resource. It distinguishes itself from sibling tools, none of which are map renderers, by offering both simple and composed modes for creating visual maps.
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 explains when to use simple form (single product) vs composed form (complex scenes with multiple layers), including examples. It doesn't explicitly compare to siblings, but the context signals show no similar tool, making usage clear. Could explicitly state 'use this for visual maps; for data, use other tools.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_observationsGet station observationsARead-onlyIdempotentInspect
METAR surface observations from weather stations: temperature, wind, visibility, ceiling, flight category, raw METAR. Nearest mode (default) returns the closest N stations to a location; station mode returns history for a specific ICAO identifier. Examples: {"location": "Denver", "n": 3} or {"station": "KJFK", "hours": 6}.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Number of nearest stations (1-10). Default 1. Ignored in station mode. | |
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| hours | No | Hours of history in station mode (1-24). | |
| station | No | ICAO station identifier (e.g. KJFK). Switches to station-history mode. | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. |
Output Schema
| Name | Required | Description |
|---|---|---|
| station | No | |
| location | No | |
| observations | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, openWorld, idempotent, non-destructive. The description adds mode behavior (nearest vs. station) and example usage, which is beyond annotation scope. No contradictions. Minor missing details about error handling 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-sentence description with an embedded example. No fluff. Information is front-loaded: output first, modes second, examples last. Every sentence serves a purpose.
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 100% schema coverage, an output schema, and clear annotations, the description covers the tool's core functionality and special behaviors (modes, parameter interactions). No significant gaps for an agent to invoke correctly.
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 100%. The description adds meaning beyond schema by explaining that 'n' is ignored in station mode and 'hours' only applies in station mode. Examples show valid parameter combinations. Provides clarity on mutual exclusivity of location and lat/lon.
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 clearly states it retrieves METAR surface observations and lists specific data fields (temperature, wind, etc.). It distinguishes from sibling tools like get_forecast or get_air_quality by specifying 'surface observations' and mentioning raw METAR. Examples further clarify its purpose.
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?
Explicitly defines two modes—nearest (default) and station history—and explains when each applies. Provides guidance on location vs. lat/lon exclusivity. However, it doesn't specify when to prefer this tool over siblings like get_current_conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outlooksGet hazard outlooksARead-onlyIdempotentInspect
Hazard outlooks affecting a location. hazard=severe returns SPC convective outlooks (Day 1-8 categorical risk + tornado/wind/hail probabilities); hazard=fire returns SPC fire weather outlooks; hazard=heat returns the NWS HeatRisk index at the point (0 none .. 4 extreme, days 1-3). include_narrative=true (severe only) adds the SPC forecaster narrative for the requested day. An empty result means no outlook covers the point -- not a failure. Examples: {"location": "Moore, OK", "hazard": "severe", "include_narrative": true} or {"location": "Phoenix", "hazard": "heat"}.
| Name | Required | Description | Default |
|---|---|---|---|
| day | No | Outlook day for the narrative filter (1-3). Default 1. | |
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| hazard | No | Hazard family: severe = SPC convective, fire = SPC fire weather, heat = NWS HeatRisk index. (Excessive rain and winter impacts are planned expansions.) | severe |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. | |
| include_narrative | No | Include the SPC outlook narrative text for the requested day. |
Output Schema
| Name | Required | Description |
|---|---|---|
| day | Yes | |
| hazard | Yes | |
| location | Yes | |
| outlooks | Yes | |
| heat_risk | No | |
| narrative | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds significant context beyond annotations: it explains that empty results are not failures, details what each hazard returns, and notes that include_narrative is only for severe. This complements the readOnlyHint and idempotentHint annotations perfectly without contradiction.
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 a single paragraph but is dense with information. It front-loads the purpose and uses examples effectively. While it could be broken into bullet points for clarity, it remains concise and easy to parse.
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?
Given the tool has 6 parameters and an output schema, the description covers all key behaviors: hazard types, behavior of each, when to use narrative, empty result handling, and location options. It is complete enough for an AI agent to use correctly.
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?
The input schema has 100% coverage with descriptions for each parameter. The description adds further meaning by explaining the hazard types, the purpose of include_narrative, and providing example usage. It does not repeat schema details but enhances understanding.
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 clearly states it returns hazard outlooks for a location, with specific hazard types (severe, fire, heat). It distinguishes from sibling tools like get_alerts, get_forecast, etc., by focusing on outlooks rather than current conditions or alerts.
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 provides examples of how to use the tool and explains the meaning of an empty result. It implicitly tells when to use (when hazard outlooks are needed), but does not explicitly exclude use cases or compare with alternatives. The context of sibling tools makes the usage clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_period_totalsGet period totalsARead-onlyIdempotentInspect
Aggregate a weather variable over one or more time periods. Returns server-computed totals, maxima, minima, or averages per period. Period start/end times should use the user's local timezone boundaries (not UTC midnight). Response includes the converted value and unit per period. Ideal for questions like "total rainfall today and tomorrow" or "peak wind speed this weekend". Accepts a place name directly. Example: {"location": "Portland, OR", "variable": "precipitation", "aggregation": "sum", "periods": [{"start": "2026-07-08T07:00:00Z", "end": "2026-07-09T07:00:00Z", "label": "Today"}]}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| units | No | Unit system for all values in the request and response: imperial (°F, mph, inches), metric (°C, km/h, mm), or si (K, m/s, mm). Defaults to imperial. | imperial |
| periods | Yes | Time periods to aggregate over (1-14). | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. | |
| variable | Yes | Standard variable name (e.g. precipitation, snowfall, temperature_2m, wind_speed_10m, cape). | |
| dataset_id | No | Dataset override. Default: auto-resolved NBM for the location. | |
| aggregation | No | Aggregation function. Default sum. Use sum for precipitation/snowfall, max for temperature/wind, min for low temperatures, avg for humidity/cloud cover. | sum |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | No | |
| periods | Yes | |
| location | Yes | |
| variable | Yes | |
| aggregation | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and no destructive behavior. The description adds value by noting timezone boundaries (local time midnight) and that response includes converted value and unit per period, which are behavioral details beyond annotations.
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 5-6 sentences with a JSON example, front-loading the core purpose. It is efficient but the example could be trimmed; still no wasted words.
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?
Given the annotations (readOnlyHint, etc.), full schema documentation, and presence of an output schema, the description is complete. It explains return format (converted value and unit per period) and provides a concrete example, making it fully informative for an AI agent.
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 100%, so baseline is 3. The description adds extra context beyond schema, such as recommended aggregation functions ('sum for precipitation/snowfall, max for temperature...') and clarification on timezone handling, enhancing parameter meaning.
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 clearly states the tool aggregates a weather variable over time periods, returning server-computed totals, maxima, minima, or averages. It uses specific verbs ('aggregate', 'returns') and resource ('weather variable over time periods'), and distinguishes from siblings by focusing on multi-period aggregation with computation.
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 provides explicit use cases like 'total rainfall today and tomorrow' or 'peak wind speed this weekend', and states it accepts a place name directly. While it doesn't explicitly mention when not to use, the context signals (siblings like get_forecast) imply alternatives for single-point queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_population_exposureGet population exposureARead-onlyIdempotentInspect
National population-exposure headline for a risk-zone outlook product: how many people are inside risk bands at or above min_level. Powers headlines like "~57M people under major heat risk tomorrow". hazard=heat covers NWS HeatRisk days 1-3 (levels: 1 minor, 2 moderate, 3 major, 4 extreme). Pass product_id directly for other risk-zone products. Example: {"hazard": "heat", "min_level": 3}.
| Name | Required | Description | Default |
|---|---|---|---|
| hazard | No | Hazard family (expands the day-1..3 product set). Currently: heat (HeatRisk). | |
| min_level | No | Minimum risk level to count (>=). Default 1 (any elevated risk). | |
| product_id | No | Explicit risk-zone product ID (overrides hazard), e.g. heatrisk_day1_conus. |
Output Schema
| Name | Required | Description |
|---|---|---|
| min_level | Yes | |
| summaries | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the behavioral profile is safe. The description adds value by detailing the heat risk level definitions and the product ID override behavior, which are beyond the annotations. No contradictions.
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 two sentences plus an example, highly front-loaded with the core purpose. Every word adds value; no fluff or repetition. It is efficient and easy to parse.
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?
Given the simple parameter set (3, all optional, with enums), full schema coverage, and presence of an output schema, the description provides sufficient context for typical use cases. It covers the main hazard and product ID pathways. No additional information is necessary.
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 100%, providing a baseline of 3. The description enhances parameter understanding by explaining that 'hazard' expands the day-1..3 product set, that 'min_level' starts at 1 (any elevated risk), and that 'product_id' overrides hazard. The example also clarifies usage.
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?
Description clearly states the tool provides a national population-exposure headline for risk-zone outlook products, specifying it counts people inside risk bands at or above min_level. The example and hazard details make the purpose concrete and distinctive from sibling tools which cover different data (e.g., forecasts, observations, lightning).
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 explains when to use 'hazard' (for heat, covering HeatRisk days 1-3) versus when to pass 'product_id' directly for other risk-zone products. It does not explicitly state when not to use the tool or list alternatives, but the context is clear enough for basic decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_soundingGet radiosonde soundingARead-onlyIdempotentInspect
Nearest RAOB (radiosonde) vertical soundings to a point. Each sounding carries: profile (pressure-indexed thermodynamics: pressure_hpa, height_m, temperature_c, dewpoint_c, wind arrays), wind_profile (height-indexed winds for hodographs/shear), and derived indices (sbcape/mucape/mlcape + cin, lifted_index, k_index, total_totals, pwat_mm, freezing_level_m, lcl/lfc/el, bulk_shear_0_6km_kt). Soundings launch at 00Z/12Z so data can be hours old. Example: {"location": "Norman, OK"}.
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | Number of nearest soundings (1-5). Default 1. | |
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. |
Output Schema
| Name | Required | Description |
|---|---|---|
| location | Yes | |
| soundings | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. Description adds valuable context about data staleness and launch schedule, and outlines the return structure (profile, wind_profile, indices). No contradictions. Could further detail behavior when no soundings are found.
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 concise sentences plus an example, no wasted words. Purpose is front-loaded, and every sentence adds value by explaining capability, data contents, and usage context.
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?
Given the presence of an output schema, detailed description of returned fields is not required. The description covers staleness, example usage, and data types. Minor gap: does not explain how 'nearest' is determined (e.g., distance metric).
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 100% and the parameter descriptions in schema are already detailed (e.g., free-text location, lat/lon constraints). The description reinforces these with an example but does not add significant new semantic meaning beyond what the schema provides.
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?
Description clearly states 'Nearest RAOB (radiosonde) vertical soundings to a point,' specifying the exact resource and action. It distinguishes from siblings like 'get_sounding_chart' by focusing on data retrieval rather than visualization, and details the returned data components.
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?
Description mentions sounding launch times and data staleness ('data can be hours old'), providing useful context for when to use. However, it lacks explicit guidance on when not to use or direct comparisons to sibling tools like 'get_sounding_chart', and does not clarify when to choose lat/lon vs location parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sounding_chartGet sounding chartARead-onlyIdempotentInspect
Render the nearest RAOB (radiosonde) sounding as a Skew-T log-P + hodograph chart image for visual analysis: temperature/dewpoint traces, wind barbs, height-banded hodograph, and a derived-indices table (CAPE/CIN, lifted index, PWAT, shear, LCL). Soundings launch at 00Z/12Z so data can be hours old. Use get_sounding for the raw profile numbers. Example: {"location": "Norman, OK"}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| unit | No | Temperature axis display unit | fahrenheit |
| scale | No | Raster scale factor (2 = retina; higher = larger image payload) | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent hints. Description adds value by explaining data staleness and chart content, without contradicting annotations.
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 sentences: purpose with components, usage note with sibling reference, and example. Every sentence adds value; no fluff.
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?
Covers purpose, output content, data age, and location specification. No output schema, but sufficient detail for an image-returning tool. Could mention output format (URL/base64) but not critical.
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 100% with detailed descriptions; the description offers a concrete example but no additional parameter-level insight beyond the schema.
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 clearly specifies the tool renders a Skew-T log-P + hodograph chart for visual analysis, lists chart components, and distinguishes from the sibling tool get_sounding for raw data.
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?
Provides an example input and notes data timeliness (hours old due to launch schedule), and explicitly directs to get_sounding for raw numbers. Lacks exclusions against other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_storm_cellsGet storm cellsARead-onlyIdempotentInspect
Radar-identified storm cells near a location, merging NEXRAD Level III algorithm output from the nearest radar site: storm tracks (cell position, movement, forecast positions), hail index (probability of hail/severe hail + max expected size), mesocyclone detections (rotation), and TVS (tornado vortex signatures). Use during active convection to see what the radar algorithms flag. An empty result means no detected cells -- common outside active storms. Example: {"location": "Norman, OK"}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| include | No | Which detection families to include. Default: all. | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tracks | No | |
| location | Yes | |
| detections | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly, idempotent, and non-destructive. The description adds behavioral context: it merges NEXRAD Level III algorithm output, returns specific detection families, and notes that empty results are typical outside active storms. This goes beyond the annotations without contradiction.
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 four sentences, each serving a purpose: stating what the tool does, specifying usage context, explaining empty result behavior, and providing an example. No redundant or extraneous text. The most important info is front-loaded.
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?
Given the tool's complexity (4 optional parameters, no required, with output schema), the description fully covers the purpose, usage context, expected output, and behavior for edge cases (empty results). The example further aids understanding. No gaps remain.
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 100%, so the schema already fully documents all parameters. The description adds value with a concrete example ('{"location": "Norman, OK"}') and a note about 'location' being an accepted alternative to lat/lon, but this is marginal enhancement over the schema.
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 clearly explains that the tool returns radar-identified storm cells near a location, merging NEXRAD Level III algorithm output. It lists specific data returned (storm tracks, hail index, mesocyclone, TVS) and distinguishes from siblings like get_storm_reports by focusing on radar algorithm output.
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 advises use 'during active convection' and explains that an empty result means no detected cells, which is common outside active storms. While it doesn't explicitly list exclusions or alternatives, the context strongly implies appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_storm_reportsGet storm reportsARead-onlyIdempotentInspect
Recent NWS Local Storm Reports (LSRs) -- verified reports of tornadoes, hail, damaging winds, flooding near a location. Use to confirm severe weather occurrence or assess reported damage. Example: {"location": "Wichita", "hours": 12, "type": "H"}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| type | No | Report type filter: T=tornado, H=hail, W=wind, F=flood, D=damage, S=snow. | |
| hours | No | Lookback window in hours (1-24). Default 6. | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. |
Output Schema
| Name | Required | Description |
|---|---|---|
| hours | Yes | |
| reports | Yes | |
| location | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint as true and destructiveHint as false. The description adds that reports are 'recent' and 'verified', and requires a location parameter, which complements the annotations without contradiction.
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 a single, well-structured sentence followed by a concise example. Every sentence contributes purpose, usage, or param illustration with no redundancy or verbosity.
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 full schema coverage and an output schema present, the description covers the tool's purpose, usage context, and parameter hints via example. A minor gap is that it doesn't explicitly state that either location or lat+lon is required, but the example and param descriptions imply it.
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?
The input schema provides 100% coverage with descriptions for all 5 parameters. The description adds value with a concrete example JSON showing how to use type filter and location parameter, aiding understanding beyond schema alone.
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 clearly states it retrieves 'Recent NWS Local Storm Reports (LSRs)' for 'tornadoes, hail, damaging winds, flooding near a location'. It distinguishes from siblings like get_storm_cells and get_alerts by specifying 'verified reports' of observed weather, not forecasts or warnings.
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 advises using the tool to 'confirm severe weather occurrence or assess reported damage'. While it doesn't explicitly exclude use cases or mention alternatives, the example and context suggest it's for post-event verification, giving reasonable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_time_contextGet time contextARead-onlyIdempotentInspect
Complete temporal context for a location: local time, timezone, 14-day calendar with day names and Today/Tomorrow offsets, sunrise/sunset/solar times (from the weather pipeline's astro product), and moon phase. Use whenever you need to reason about dates, times, or daylight for a location -- including "what time is sunset?", "is it dark there now?", or "what day of the week is the 4th-day forecast?". Accepts a place name directly. Example: {"location": "Seattle"}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. |
Output Schema
| Name | Required | Description |
|---|---|---|
| moon | Yes | |
| calendar | Yes | |
| daylight | Yes | |
| location | Yes | |
| current_time | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds behavioral context by specifying data sources (weather pipeline's astro product) and details like day offsets and moon phase. No contradictions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with 3-4 sentences. It front-loads the purpose, then provides usage examples and parameter guidance. Every sentence adds value without redundancy.
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?
Given the tool has an output schema (indicated but not shown), 3 parameters (none required), and 100% schema description coverage, the description fully covers what the tool does, what it returns, and when to use it. No gaps are evident.
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 100% with each parameter described. The description provides an example usage ('{"location": "Seattle"}') which adds some practical guidance, but adds minimal meaning beyond the schema descriptions.
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 clearly states the tool provides 'Complete temporal context for a location' and lists specific data like local time, timezone, 14-day calendar, sunrise/sunset, and moon phase. This distinguishes it from sibling tools which are weather-focused.
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 explicitly says 'Use whenever you need to reason about dates, times, or daylight for a location' and gives concrete example questions. It also notes it 'Accepts a place name directly'. It lacks when-not-to-use information but is clear enough for the given context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tropicalGet tropical activityARead-onlyIdempotentInspect
Active NHC (National Hurricane Center) tropical systems: forecast cones, track lines, forecast points, coastal watches/warnings, and 7-day Tropical Weather Outlook formation areas -- Atlantic + East Pacific. Each feature carries a kind (cone | track | points | watch_warning | outlook_area) plus storm name, intensity, and timing properties. include_geometry=true adds full GeoJSON geometries (large). An empty result means no active tropical activity. Example: {} or {"include_geometry": true}.
| Name | Required | Description | Default |
|---|---|---|---|
| include_geometry | No | Include full GeoJSON geometries (cone/track polygons). Default false. |
Output Schema
| Name | Required | Description |
|---|---|---|
| active | Yes | |
| features | Yes | |
| feature_count | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare safe read-only and idempotent behavior. The description adds value by noting that an empty result means no active activity, the optional geo parameter can produce large payloads, and example call structures are provided.
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?
Description is front-loaded with the core purpose and uses efficient phrasing. It is somewhat dense but each sentence adds value. Slight redundancy (e.g., repeating 'include_geometry') is acceptable.
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 single-parameter tool with output schema present, the description fully covers behavior: data features, property structure, empty result handling, and example invocations. No gaps remain.
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 100% with a clear default and description. The description enriches the parameter by explaining the size implication of include_geometry=true, which aids agent decision-making about payload size.
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?
Description specifies a clear verb+resource: 'get' NHC tropical systems with detailed enumeration of data types (forecast cones, tracks, etc.) and geographic scope (Atlantic + East Pacific), distinguishing it from sibling tools like get_storm_cells or get_observations.
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 implies usage for active tropical activity but provides no explicit guidance on when to use this tool versus alternatives such as get_storm_cells or get_alerts. No exclusions or context-sensitive advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_datasetsList datasetsARead-onlyIdempotentInspect
Discover the datasets (model grids, analyses, observations) available at a location, with per-dataset freshness (data age, latest model run). Datasets vary by domain (CONUS/Alaska/Hawaii). Use this to find dataset_id values for query_dataset and describe_dataset, or to assess whether data is current before making decisions. Example: {"location": "Anchorage"}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. | |
| include_freshness | No | Include per-dataset data age and run times. Default true. |
Output Schema
| Name | Required | Description |
|---|---|---|
| datasets | Yes | |
| location | Yes | |
| freshness | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds that it returns per-dataset freshness and domain information. While it doesn't discuss error behavior (e.g., invalid location), the combination of annotations and description provides good transparency for a safe, read-only 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?
The description is a short paragraph with three sentences and an example. It is front-loaded with the core purpose and provides essential usage context. It is concise and well-structured, though slightly more structured formatting (e.g., bullet points) could improve readability.
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?
Given the tool has an output schema (not shown) and 4 optional parameters, the description covers the main use case: finding available datasets and their freshness. It relates to sibling tools and gives a concrete example. It is complete enough for most scenarios, though a note on parameter handling when both lat/lon and location are omitted would be helpful.
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 100%, so all parameters are well-described in the input schema. The description adds an example using 'location' but does not provide significantly new semantics beyond the schema. It reinforces that include_freshness defaults to true, which is already in the schema. Baseline 3 is appropriate.
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 clearly identifies the tool's purpose: 'discover the datasets available at a location, with per-dataset freshness'. It specifies the resource ('datasets') and action ('discover'), and distinguishes it from siblings like query_dataset and describe_dataset by stating it is used to find dataset_id values.
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 explicitly states when to use the tool: 'Use this to find dataset_id values for query_dataset and describe_dataset, or to assess whether data is current before making decisions.' This provides clear guidance on using it before other tools and for freshness assessment, differentiating it from alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_datasetQuery datasetARead-onlyIdempotentInspect
Raw time series from a specific dataset for specific variables at a point. Power-user access to any gridded product (NBM, HRRR, GFS, RTMA, MRMS, air quality, ...). Time modes: hours (next N hours, default 24), time_start+time_end (explicit ISO-8601 window), or latest=true (single most-recent value). reference_time pins a specific model run. For blended forecasts use get_forecast instead. Examples: {"location": "Denver", "dataset_id": "hrrr_surface", "variables": ["temperature_2m"], "hours": 18} or {"lat": 41.4, "lon": -92.9, "dataset_id": "rtma_conus", "variables": ["temperature_2m"], "latest": true}.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | No | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | No | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). | |
| hours | No | Forecast/lookahead hours from now (1-264). Default 24 when no other time mode set. | |
| latest | No | Return only the most recent value (analysis datasets like RTMA/MRMS). | |
| location | No | Free-text place: city ("Denver"), city+state ("Portland, OR"), US ZIP ("50219"), or "lat,lon" ("39.74,-104.99"). Provide either this OR explicit lat+lon, not both. | |
| time_end | No | ISO 8601 window end (with time_start). | |
| variables | Yes | Standard variable names (e.g. temperature_2m, precipitation). Discover with describe_dataset. | |
| dataset_id | No | Dataset to query. Default: the NBM dataset for the location domain (nbm_conus/nbm_alaska/nbm_hawaii). Discover options with list_datasets. | |
| time_start | No | ISO 8601 window start (with time_end). | |
| reference_time | No | Pin a specific model run (ISO 8601). Default: latest run. |
Output Schema
| Name | Required | Description |
|---|---|---|
| series | Yes | |
| location | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds context about power-user access to various gridded products and time mode details. Could mention that location will be geocoded, but schema covers parameter constraints.
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?
Concise single paragraph with essential information, front-loaded with core purpose, includes example JSON. Every sentence adds value.
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?
Covers main usage patterns, references sibling tools (get_forecast, describe_dataset, list_datasets) for related operations. Output schema exists, so return value details are not required. Complete given complexity and existing structured data.
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 100%, so baseline is 3. Description adds value by explaining time modes, reference_time, and providing examples that illustrate parameter combinations beyond what schema describes.
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?
Description clearly states it provides raw time series data from a specific dataset for specific variables, and distinguishes from the sibling tool get_forecast for blended forecasts. Verb 'query' and resource 'dataset' are specific.
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?
Explicitly describes three time modes (hours, time_start+time_end, latest), reference_time usage, and advises using get_forecast for blended forecasts. Provides examples to clarify usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_geocodeReverse geocodeARead-onlyIdempotentInspect
Resolve coordinates to a human-readable place (city, state, county, timezone). Use when you have lat/lon but need a display name or the local timezone. Example: {"lat": 39.74, "lon": -104.99} -> Denver, Colorado, America/Denver.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | Latitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon. | |
| lon | Yes | Longitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian). |
Output Schema
| Name | Required | Description |
|---|---|---|
| lat | Yes | |
| lon | Yes | |
| place | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and no destructiveness. Description adds behavioral context: it converts coordinates to a place and timezone, which is a safe, non-destructive lookup. No contradictions.
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 well-structured sentences with an example. No wasted words. Every sentence adds value: first defines purpose, second gives usage context and example.
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?
Given the presence of an output schema (not shown but mentioned), description covers all needed context: purpose, when to use, parameter semantics. No missing critical information for an agent to use the tool correctly.
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 100% (both lat and lon have descriptions). Description adds an example and clarifies the meaning of the outputs (city, state, timezone), going beyond schema. Example also validates expected usage.
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?
Description clearly states the verb 'Resolve' and the resource 'coordinates to a human-readable place', including specific outputs like city, state, county, timezone. It distinguishes from sibling tools (e.g., weather tools) by its unique purpose. Example reinforces understanding.
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?
Explicitly says 'Use when you have lat/lon but need a display name or the local timezone.' Provides clear context for usage. Does not explicitly say when not to use, but the sibling list implies alternatives are other geospatial/weather tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_locationsSearch locationsARead-onlyIdempotentInspect
Resolve a place query to candidate locations with coordinates. Accepts city names ("Denver"), city+state ("Portland, OR" via query), ZIP codes ("50219"), or partial input with fuzzy=true for autosuggest-style matching ("bost" -> Boston). Returns ranked candidates with lat/lon. Most weather tools accept a location string directly and geocode internally -- use this tool only to disambiguate ("which Springfield?") or to present location choices to the user. Example: {"query": "Springfield"} returns all major Springfields ranked by population.
| Name | Required | Description | Default |
|---|---|---|---|
| fuzzy | No | Autosuggest mode for partial/misspelled input. Default false (exact search). | |
| limit | No | Maximum candidates to return (1-10). Default 5. | |
| query | Yes | Place query: city, "city, state", ZIP, or partial text with fuzzy=true. |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| candidates | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds behavioral context beyond annotations (readOnlyHint, idempotentHint, etc.) by explaining the ranking by population and the fuzzy matching behavior for partial input. No contradictions.
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?
Extremely concise yet comprehensive: two sentences plus a concrete example. Every sentence provides essential information with no redundancy.
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?
Given the simple tool, rich annotations, and presence of an output schema, the description fully covers what an agent needs: input formats, fuzzy mode, ranking behavior, and when to use.
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 100% with clear descriptions for all three parameters. The description does not add significant extra meaning beyond the schema, so baseline 3 is appropriate.
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?
Description uses a specific verb "resolve" and clearly states the resource (place query to candidate locations with coordinates). It distinguishes from sibling tools by noting that most weather tools geocode internally, so this tool is for disambiguation.
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?
Explicitly states when to use this tool (disambiguate 'which Springfield?' or present location choices) and when not (most weather tools accept location string directly). Includes examples of valid inputs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!