nws-weather-mcp-server
Server Details
Get US weather forecasts, active alerts, and current observations.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- cyanheads/nws-weather-mcp-server
- GitHub Stars
- 1
- Server Listing
- @cyanheads/nws-weather-mcp-server
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.2/5 across 7 of 7 tools scored. Lowest: 3.3/5.
Each tool targets a distinct data product (stations, forecast, observations, office discussion, zone forecast, alert types, alerts). Forecast-related tools are clearly differentiated by granularity and purpose, though get_forecast and get_zone_forecast could be confused by users unfamiliar with NWS terminology.
All tool names follow the consistent pattern nws_verb_noun in snake_case (e.g., find_stations, get_forecast, list_alert_types). This makes the API highly predictable and easy to navigate.
Seven tools is well within the ideal 3-15 range for a weather-focused server. Each tool covers a major NWS data category without unnecessary redundancy, making the set feel tight and purposeful.
The tool set covers the core weather workflow: station discovery, observations, forecasts, zone text, office discussions, and alert searching. Minor gaps like marine-specific products or radar imagery exist, but the essential weather information needs are well covered.
Available Tools
7 toolsnws_find_stationsNws Find StationsARead-onlyInspect
Find weather observation stations near a location. Returns stations sorted by proximity with distance and bearing. Use to discover station IDs for nws_get_observations.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max stations per page (1-50). totalCount still reports every station near the point, so pass the returned nextCursor as cursor to reach the rest. | |
| cursor | No | Opaque continuation token from a previous response's nextCursor. Omit for the first page. The token carries its own page size, so limit applies to the first page only. Every call re-fetches the station list, so pages are contiguous within one response; the registry changes rarely, but a later call can window an updated list. | |
| latitude | Yes | Center latitude for proximity search. | |
| longitude | Yes | Center longitude for proximity search. |
Output Schema
| Name | Required | Description |
|---|---|---|
| shown | Yes | Number of stations returned in this page |
| notice | No | Guidance when no stations were found near the requested coordinates, when stations remain beyond this page, or when the supplied cursor points past the end of the list. |
| stations | Yes | Nearby stations sorted by distance |
| nextCursor | No | Opaque token for the next page of stations — pass it back as `cursor`. Omitted when this is the last page. |
| totalCount | Yes | Total observation stations available near this location before the page limit was applied — NOT the number returned in this page, which is shown. Same value on every page of one query; compare it against shown to tell whether stations were withheld. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only (readOnlyHint=true). The description adds value by disclosing the output ordering (sorted by proximity) and that each result includes distance and bearing, which is not in the annotations or schema. 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 exactly two sentences, front-loaded with the purpose and output, and the second sentence gives a clear use case. There is no fluff or repetition of schema/annotation contents.
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 rich output schema and fully-documented parameters, the description covers everything essential: what the tool finds, how results are ordered, and why an agent would call it (to get station IDs for observations). No critical missing context.
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%; every parameter (latitude, longitude, limit, cursor) has its own detailed description. The tool description does not add further parameter-specific semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') and resource ('weather observation stations'), specifies the output (sorted by proximity with distance and bearing), and explicitly connects to a sibling tool (nws_get_observations). This clearly differentiates it from the other NWS tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit usage directive: 'Use to discover station IDs for nws_get_observations.' This tells the agent when to employ this tool, but it does not explicitly state when not to use it or mention alternative tools, so it stops one step short of full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nws_get_forecastNws Get ForecastBRead-onlyInspect
Get the weather forecast for a US location. Returns either named 12-hour periods (default) or hourly breakdowns.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Opaque continuation token from a previous response's nextCursor, to retrieve the next 48 periods. Omit for the first page. Every call re-fetches the forecast, so consecutive periods are contiguous within one response; NWS reissues forecasts through the day, so a later call can window a regenerated period array. | |
| hourly | No | If true, returns hourly forecast (48 one-hour periods per page, ~156 available) instead of 12-hour named periods (14 periods). Hourly includes dewpoint and relative humidity. | |
| latitude | Yes | Latitude in decimal degrees (e.g., 47.6062). | |
| longitude | Yes | Longitude in decimal degrees (e.g., -122.3321). |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | Yes | Forecast mode: "hourly" or "7-day" |
| shown | Yes | Number of forecast periods in this page (at most 48). |
| notice | No | Set when periods remain beyond this page, or when the supplied cursor points past the end of the period array. |
| periods | Yes | Forecast periods |
| location | Yes | Resolved location metadata |
| nextCursor | No | Opaque token for the next page of periods — pass it back as `cursor`. Omitted when this is the last page. |
| totalCount | Yes | Total forecast periods available upstream before the page window was applied — NOT the number in this page, which is shown. Compare it against shown to tell whether periods were withheld. |
| generatedAt | Yes | When the forecast was generated (ISO 8601) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral detail about output modes (named 12-hour periods vs hourly), and the readOnlyHint annotation covers safety. However, it does not disclose pagination via cursor, the fact that each call re-fetches the forecast, or any other constraints beyond the basic output format. Given minimal annotations, this is only a partial disclosure.
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, front-loaded with the primary purpose, and contains no filler. It efficiently communicates the core functionality.
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 the core purpose and output modes but omits the pagination behavior (cursor) and does not clarify how this tool differs from zone forecasts. The output schema and full parameter descriptions compensate for some gaps, but the description alone is not fully self-sufficient for distinguishing and using 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?
All four parameters are fully documented in the input schema with descriptions, so the schema carries the parameter semantics. The tool description repeats only the hourly distinction and adds no new parameter meaning, so a baseline 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 states the tool retrieves weather forecasts for US locations and specifies the two output formats (named 12-hour periods vs hourly). It does not explicitly differentiate from the sibling nws_get_zone_forecast, which also provides forecasts, so it only partially distinguishes among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as nws_get_zone_forecast or nws_get_observations. The description implies it is for point forecasts but does not state that or mention scenarios like needing current conditions or zone-based forecasts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nws_get_observationsNws Get ObservationsARead-onlyInspect
Get current weather observations (actual measured conditions). Accepts coordinates (resolves nearest station automatically) or a station ID directly (e.g., "KSEA").
| Name | Required | Description | Default |
|---|---|---|---|
| latitude | No | Latitude for automatic station resolution. Use with longitude. Ignored if station_id is provided. | |
| longitude | No | Longitude for automatic station resolution. Use with latitude. Ignored if station_id is provided. | |
| station_id | No | Station identifier directly (e.g., "KSEA", "KORD"). Use nws_find_stations to discover station IDs. |
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | No | Guidance when the latest observation is more than 2 hours old — data may not reflect current conditions. |
| station | Yes | Station ID that served the observation (e.g., "KSEA") |
| timeZone | Yes | Station time zone when known |
| dewpointC | Yes | Dewpoint in Celsius |
| stationId | Yes | Observation station ID |
| timestamp | Yes | Observation time (ISO 8601) |
| heatIndexC | Yes | Heat index in Celsius |
| observedAt | Yes | Observation timestamp (ISO 8601) |
| windChillC | Yes | Wind chill in Celsius |
| cloudLayers | Yes | Cloud layer information |
| stationName | Yes | Station name |
| visibilityM | Yes | Visibility in meters |
| windGustKmh | Yes | Wind gust in km/h |
| temperatureC | Yes | Temperature in Celsius |
| windSpeedKmh | Yes | Wind speed in km/h |
| textDescription | Yes | Conditions summary (e.g., "Mostly Cloudy") |
| windDirectionDeg | Yes | Wind direction in degrees (0-360) |
| relativeHumidityPct | Yes | Relative humidity in percent (0-100) |
| barometricPressurePa | Yes | Barometric pressure in Pascals |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true, the description adds valuable behavioral context beyond annotations by disclosing automatic nearest-station resolution from coordinates. This is a non-obvious behavior that affects results. It does not discuss edge cases like missing station, but the annotation covers safety and the description adds meaningful extra insight.
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, front-loaded with the core purpose, no redundant wording. Every clause adds information about how to specify the target or what the tool returns.
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 output schema exists, so return values are covered. The description explains the two input modes and the automatic resolution behavior. It is slightly incomplete in that it does not mention what happens if neither coordinates nor station_id are provided, but the schema's optional parameters still make the tool callable. Overall, the description plus schema and annotations provide sufficient context for a simple read-only 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 description coverage is 100%, and each parameter has a detailed description including examples. The tool description only restates what the schema already says (coordinates vs station ID), adding no new meaning. Baseline 3 applies given the high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('current weather observations') with clarifying detail ('actual measured conditions') that distinguishes it from sibling forecast tools. It also explains the two ways to specify the target (coordinates or station ID).
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 clearly explains how to invoke the tool (coordinates or station ID) and implicitly separates it from forecasts by emphasizing 'actual measured conditions'. However, it does not explicitly name alternative tools for forecasts or exclusions, missing the top bar for explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nws_get_office_discussionNws Get Office DiscussionARead-onlyInspect
Get the latest narrative forecast product from a Weather Forecast Office (WFO). The default product is AFD (Area Forecast Discussion), which explains the meteorological reasoning behind the forecast — synoptic setup, model guidance, and forecaster confidence. Other types: HWO (Hazardous Weather Outlook, 1-7 day severe/flood/winter outlook), ZFP (Zone Forecast Product, zone-by-zone text), SPS (Special Weather Statement, short-fuse advisory). The office code is the 3-letter WFO identifier returned as the "office" field by nws_get_forecast.
| Name | Required | Description | Default |
|---|---|---|---|
| office | Yes | Three-letter Weather Forecast Office (WFO) code (e.g., "SEW" for Seattle, "LOX" for Los Angeles). Returned as the "office" field in nws_get_forecast output. | |
| product_type | No | Product type code. AFD (Area Forecast Discussion) — meteorological reasoning, model analysis, forecaster confidence. HWO (Hazardous Weather Outlook) — 1-7 day outlook for severe weather, flooding, winter weather. ZFP (Zone Forecast Product) — detailed zone-by-zone text forecast. SPS (Special Weather Statement) — short-fuse advisory for notable non-warning weather. | AFD |
Output Schema
| Name | Required | Description |
|---|---|---|
| productCode | Yes | Product type code (e.g., "AFD"). |
| productName | Yes | Full product name (e.g., "Area Forecast Discussion"). |
| productText | Yes | Full narrative product text as issued by the forecaster. AFDs are typically 1,000-3,000 words covering synoptic setup, model guidance, and period-by-period reasoning. |
| issuanceTime | Yes | When the product was issued (ISO 8601), e.g., "2026-05-30T10:33:00+00:00". |
| issuingOffice | Yes | Issuing office call sign (e.g., "KSEW"). Includes the K/P prefix, unlike the input office code. |
| wmoCollectiveId | Yes | WMO collective identifier (e.g., "FXUS66"). Identifies the product family in international message routing. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already signals a safe read operation, so the description does not need to restate that. It adds meaningful context by explaining what each product type contains (e.g., AFD gives 'synoptic setup, model guidance, forecaster confidence'), which helps the agent set expectations for the returned content. 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 moderately sized (about 4 sentences) and front-loaded with the core purpose. Each sentence serves a distinct role: first defines the tool, second explains the default, third enumerates the other product types, and the last clarifies the office code origin. It is slightly longer than necessary but avoids fluff and is well organized.
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 and readOnlyHint true, the description does not need to detail return values or safety. It covers the tool's function, the product_type options, and the office parameter's source. It does not mention failure modes (e.g., what happens if a WFO has no discussion) or rate limits, but for a simple read-only retrieval tool, the level of detail is sufficient for an agent to invoke it 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 already provides descriptions for both parameters (office and product_type) with 100% coverage, so the baseline is 3. The description adds value by explaining the office code is a WFO identifier sourced from nws_get_forecast and by expanding on the meaning of product_type entries (e.g., HWO is a '1-7 day outlook for severe weather, flooding, winter weather'). This goes beyond a simple repetition of 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 opens with a specific verb and resource: 'Get the latest narrative forecast product from a Weather Forecast Office (WFO).' It clearly identifies the default product (AFD) and lists alternate product types (HWO, ZFP, SPS), which distinguishes it from sibling tools like nws_get_forecast or nws_get_zone_forecast. The phrase 'narrative forecast product' delimits its scope precisely.
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 that the default product is AFD and gives a one-sentence definition of each product type, helping the agent choose the right product_type. It also points out that the office code is the 'office' field from nws_get_forecast, providing a concrete cross-reference. However, it does not explicitly state when to avoid this tool or prefer a sibling like nws_get_zone_forecast for ZFP, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nws_get_zone_forecastNws Get Zone ForecastARead-onlyInspect
Get the text forecast for a public NWS forecast zone. Returns named forecast periods (e.g., "Today", "Tonight", "Monday") with detailed narrative text — the human-readable, zone-level forecast written by local forecasters. Completes the alert-to-forecast chain: nws_search_alerts returns each affected zone in "affectedZones" as a code plus a type, and nws_find_stations returns codes in the "forecastZone" column. Only affectedZones entries with type "forecast" work here; entries typed "county" or "fire" have no text forecast upstream and will not resolve. Zone codes follow the pattern XXZ### (e.g., "WAZ315" for Western Washington lowlands).
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | NWS public forecast zone code (e.g., "WAZ315" for the Western Washington lowlands including Seattle). Returned as "forecastZone" by nws_get_forecast and nws_find_stations, or as the "code" of an "affectedZones" entry with type "forecast" in nws_search_alerts. Format: two-letter state + "Z" + three-digit number. |
Output Schema
| Name | Required | Description |
|---|---|---|
| zoneId | Yes | Zone ID as provided (e.g., "WAZ315"). |
| periods | Yes | Forecast periods in chronological order, typically covering 7 days. |
| updated | Yes | When the zone forecast was last updated (ISO 8601 with timezone offset). |
| periodCount | Yes | Number of forecast periods returned. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, and the description adds behavioral context: it returns human-readable zone forecasts and warns that county/fire entries will not resolve. This goes beyond the basic read-only flag and explains expected failure cases.
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 with the core purpose first, then return details, then integration context and caveats. Every sentence adds necessary information without 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?
The description covers the purpose, expected output, source of zone codes, and important type-based limitations. Given the output schema and annotations, this is a complete enough description 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?
The input schema describes the zone_id parameter thoroughly, including format, examples, and source tools. The description's mention of the XXZ### pattern is redundant but consistent; it only slightly reinforces the schema, so no major additional meaning is added.
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 opens with the specific action 'Get the text forecast for a public NWS forecast zone' and details the return type (named periods with narrative text). It distinguishes from siblings by mentioning the alert-to-forecast chain and the specific zone codes, clearly stating what the tool is for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains when to use this tool—after obtaining zone codes from nws_search_alerts or nws_find_stations—and includes an explicit exclusion: only affectedZones entries with type 'forecast' work, while 'county' or 'fire' will not resolve. This gives practical usage context and alternative paths.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nws_list_alert_typesNws List Alert TypesARead-onlyInspect
List all valid NWS alert event type names. Use to discover valid values for the event filter in nws_search_alerts, or to browse alert categories. No parameters required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of event types |
| eventTypes | Yes | Alert event type names sorted alphabetically |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with the readOnlyHint annotation and adds context that the tool returns all valid event names. It doesn't conflict with annotations; the read-only nature is clear, and no side effects are implied. The description could mention the return format, but output schema likely covers that.
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: first states the core function, second provides usage context. Every word earns its place; no filler or repetition.
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 simplicity (no parameters, output schema present, readOnly annotation), the description fully covers its purpose and usage. It even names a related sibling tool for integration context.
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 zero parameters, the schema is fully self-explanatory. The description reiterates 'No parameters required,' which is helpful but redundant. Baseline 4 applies; no further semantic clarification is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' with a clear resource 'valid NWS alert event type names'. It immediately distinguishes this tool from siblings by explaining its role in discovering values for nws_search_alerts and browsing alert categories.
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: to discover valid event filter values for nws_search_alerts or to browse alert categories. It also notes 'No parameters required,' signaling simplicity, which provides clear context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nws_search_alertsNws Search AlertsARead-onlyInspect
Search active weather alerts (watches, warnings, advisories) across the US. Filter by state, coordinates, zone, land/marine region, event type, severity, urgency, or certainty. area, point, zone, region_type, and region are mutually exclusive — provide at most one. Omit all filters for a national search.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | US state/territory code (e.g., "WA", "OK", "PR") or marine area code (e.g., "GM"). Mutually exclusive with point and zone. | |
| zone | No | NWS forecast zone (e.g., "WAZ558") or county zone (e.g., "WAC033"). Mutually exclusive with area and point. | |
| event | No | Filter to specific event types (e.g., ["Tornado Warning"]). Matches are case-insensitive and partial, so "tornado" matches both "Tornado Warning" and "Tornado Watch". Use nws_list_alert_types to discover valid names. | |
| limit | No | Maximum number of alerts to include in this page (1-25, default 25). totalCount still reports the full number of distinct matches, so a small limit returns a digest of broad or national searches without dropping the total; pass the returned nextCursor as cursor to reach the rest. | |
| point | No | Coordinates as "lat,lon" (e.g., "47.6,-122.3"). Returns alerts whose geometry contains this point. Mutually exclusive with area and zone. | |
| cursor | No | Opaque continuation token from a previous response's nextCursor. Omit for the first page. The token carries its own page size, so limit applies to the first page only. Every call re-fetches /alerts/active, so alerts are contiguous within one response but not across calls — the active set changes continuously as alerts are issued and expire, so a continued page covers the collection as it stands at that moment. | |
| region | No | Restrict to NWS marine region groups: "AL" (Alaska waters), "AT" (Atlantic Ocean), "GL" (Great Lakes), "GM" (Gulf of Mexico), "PA" (Eastern Pacific and US West Coast), "PI" (Central and Western Pacific). Marine alerts only — a land alert never matches. Mutually exclusive with area, point, zone, and region_type. | |
| status | No | Alert status filter. Default "Actual". Use a different value only when you specifically need non-live alerts. | Actual |
| urgency | No | Filter by urgency level. | |
| severity | No | Filter by severity level. | |
| certainty | No | Filter by certainty level. | |
| region_type | No | Restrict to land-based or marine alerts. Mutually exclusive with area, point, zone, and region. |
Output Schema
| Name | Required | Description |
|---|---|---|
| shown | Yes | Number of alerts included in this response |
| alerts | Yes | Matching alerts for this page (at most the requested limit, max 25) |
| notice | No | Guidance when no alerts matched (echoes applied filters and suggests how to broaden), when matches remain beyond this page, or when the supplied cursor points past the end of the match set. |
| nextCursor | No | Opaque token for the next page of matches — pass it back as `cursor`. Omitted when this is the last page. |
| totalCount | Yes | Total distinct alerts matching the filters in this fetch, before the page window is applied. NWS repeats some alerts verbatim within one response; the copies are collapsed on id, so this counts each alert once. Compare against shown to tell whether matches were withheld from this page. |
| appliedFilters | Yes | Summary of applied search filters |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=true, the safety profile is already known. The description adds the 'active' scope (only current alerts) but does not disclose pagination continuity, data freshness, or any side effects. This is on par with the high-calibration example where annotations covered safety and the description added a scoping constraint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences achieve high density: first states the action and scope, second lists the filter dimensions, third captures the key constraint and national-search behavior. No filler or 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 (12 optional parameters, mutual exclusivity) and rich schema, the description provides a coherent overview and highlights the most critical constraint for correct usage. Output schema covers return values, and parameter details live in the schema, so the description is sufficiently complete for an agent to choose 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?
Input schema description coverage is 100%, so the baseline is 3. The description's filter list and mutual-exclusivity note merely restate what the schema already documents per parameter, adding no new semantic meaning beyond a convenient summary.
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 opens with a specific action and resource: 'Search active weather alerts (watches, warnings, advisories) across the US.' This clearly distinguishes it from sibling tools like nws_list_alert_types or forecast retrieval, and the enumeration of filter dimensions (state, coordinates, zone, etc.) makes its function unmistakable.
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 operational context: it targets active alerts and explains that omitting all filters performs a national search. It also highlights the mutual exclusivity constraint. However, it does not explicitly contrast with alternative tools or state when not to use it, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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!
Related MCP Servers
- Flicense-qualityDmaintenanceProvides weather forecasts and active alerts from the US National Weather Service API for US locations.
- Flicense-qualityDmaintenanceProvides weather forecasts, current conditions, and alerts for US locations using the National Weather Service API.1
- Alicense-qualityDmaintenanceProvides US weather alerts and forecasts via the National Weather Service API.143GPL 3.0
- Alicense-qualityCmaintenanceProvides weather alerts and forecasts for US locations using the National Weather Service API.143GPL 3.0
Your Connectors
Sign in to create a connector for this server.