Skip to main content
Glama

Get NWS alerts

get_alerts
Read-onlyIdempotent

NWS watches, warnings, advisories. Point (city/ZIP/lat+lon): containing polygons. BBox or US state/DC/CONUS (codes, full names, US/national): intersecting polygons. A city miss is not a statewide all-clear — query the state or a bbox; never say regional inventory is impossible. NY/WA and "New York State"/"Washington State" are states; "New York"/"Washington" stay cities. Omit at for now; at (ISO-8601 UTC) is the snapshot then. Empty = all-clear or purged (~24h). alert_id = detail+geometry, ignores at. Ex: {"location":"WI","events":["Tornado Warning"]}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
atNoISO-8601 UTC past instant for the in-effect snapshot. Ignored with alert_id.
latNoLatitude in decimal degrees (-90 to 90). Most tools also accept a `location` place-name string instead of lat/lon.
lonNoLongitude in decimal degrees (-180 to 180). For continental US use negative values (west of the prime meridian).
bboxNoBounding box {west,south,east,north}. Skips geocoding; intersecting polygons.
eventsNoOptional event-name filter, e.g. ["Tornado Warning"].
alert_idNoAlert identifier for detail mode. When set, location is ignored.
locationNoFree-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

TableJSON Schema
NameRequiredDescriptionDefault
alertNo
alertsNo
widgetNosw-ui-spec widget block rendered by the MCP Apps weather widget (ui://weather-widget/v1/index.html). Additive; safe to ignore.
alert_idNo
locationNo
valid_timeNoEcho of at when an as-of snapshot was requested.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed3 schema fields changed
    • addedInput schema / properties / bbox
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Bounding box {west,south,east,north}. Skips geocoding; intersecting polygons.",
      +  "properties": {
      +    "east": {
      +      "$ref": "#/properties/lon"
      +    },
      +    "north": {
      +      "$ref": "#/properties/lat"
      +    },
      +    "south": {
      +      "$ref": "#/properties/lat"
      +    },
      +    "west": {
      +      "$ref": "#/properties/lon"
      +    }
      +  },
      +  "required": [
      +    "west",
      +    "south",
      +    "east",
      +    "north"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / properties / events
      Added value: +{
      +  "description": "Optional event-name filter, e.g. [\"Tornado Warning\"].",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / location / required
      Removed value: -[
      -  "lat",
      -  "lon"
      -]
  2. Changed2 schema fields changed
    • addedInput schema / properties / at
      Added value: +{
      +  "description": "ISO-8601 UTC past instant for the in-effect snapshot. Ignored with alert_id.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / valid_time
      Added value: +{
      +  "description": "Echo of at when an as-of snapshot was requested.",
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld/idempotent annotations, the description reveals important behavioral traits: empty results mean all-clear or data purged around 24 hours, alert_id switches to detail mode and ignores at, and location parsing treats NY/WA as states while New York/Washington remain cities. It also warns against claiming regional inventory is impossible, reinforcing the open-world hint with concrete guidance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficient, packing multiple query modes, edge cases, state-name disambiguation, temporal semantics, empty-result meaning, and an example into a few telegraphic sentences. Nothing is wasted, and the most important product-level information comes first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and all parameters already documented, the description covers the remaining ambiguities an agent would face: location naming pitfalls, bbox and point semantics, alert_id detail mode, at behavior, and the meaning of empty results. There is no obvious missing context needed to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema already documents all parameters at 100% coverage, the description adds real semantic value: it explains the point-versus-bbox containment distinction, clarifies that at is a snapshot selector and should be omitted for current alerts, defines alert_id behavior, and gives concrete location disambiguation rules plus a full example. This goes well beyond the baseline for fully covered schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The title "Get NWS alerts" plus the opening phrase 'NWS watches, warnings, advisories' makes the verb and resource unmistakable. It is clearly distinct from sibling forecast, observation, and climate tools because it specifically targets alert products, not general weather data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong operational guidance: point queries return containing polygons, bbox/state/CONUS return intersecting polygons, city misses must not be treated as statewide all-clear, and at should be omitted for current snapshots. It does not explicitly name sibling alternatives, but the tool's domain is unique enough that the routing is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, and the detailed descriptions generally prevent misselection. A few near-overlapping pairs exist — get_current_conditions vs get_observations, and get_forecast already bundling current conditions, alerts, and outlooks — so some ambiguity remains.

Naming Consistency4/5

The overwhelming majority of tools follow a get_<object>_<modifier> pattern in snake_case, and the non-get tools still use an imperative verb_noun form. The mix of verbs (get, list, describe, find, query, search, reverse) is a minor inconsistency, but the overall pattern is predictable.

Tool Count2/5

At 32 tools, the surface is heavy and exceeds the 25+ threshold for a large tool set. The weather domain justifies much of the breadth, but several tools overlap in scope and could plausibly be consolidated, making the count feel higher than necessary.

Completeness5/5

The tool set comprehensively covers current conditions, forecasts, hourly data, climate, alerts, severe weather, air quality, tropical systems, upper-air soundings, maps, model data, geocoding, and platform status. There are no obvious dead-end workflows, and raw access via query_dataset fills most remaining gaps.