Skip to main content
Glama

Nws Get Alert

nws_get_alert
Read-only

Fetch one NWS alert message by ID — a current alert, or an earlier message that an update or cancellation has since superseded and that an active-alert search no longer returns. Takes an id from nws_search_alerts or a references[].identifier from any alert, and returns the same alert fields nws_search_alerts does. The message carries its own references, newest first, so a revision chain is walked one call per message. Every reference sharing the newest sent time is an immediate predecessor (an update can merge several earlier segments), so references[0] is one of them, not always the only one. NWS serves messages for about 7 days after they are sent.

Input Schema

NameRequiredDescriptionDefault
alert_idYesNWS alert message ID, e.g. "urn:oid:2.49.0.1.840.0.654087301e4bfcbe71d24494c26a965e54d3a1ad.001.1": the id of an alert from nws_search_alerts, or the identifier of one of its references. Pass it exactly as returned; IDs are case-sensitive.

Output Schema

NameRequiredDescriptionDefault
alertNoSingle alert message with event, severity, area, and timing
errorNoPresent when the call failed. Absent on success.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • changedOutput schema / properties / alert / properties / affectedZones / items / properties / type / description
      Previous value: -"NWS zone type: \"forecast\", \"county\", or \"fire\" (\"unknown\" when upstream reports a shape this server cannot type). Only \"forecast\" codes have a zone text forecast — pass those to nws_get_zone_forecast. All types are valid values for the nws_search_alerts zone filter."New value: +"NWS zone type: \"forecast\", \"county\", or \"fire\" (\"unknown\" when upstream reports a shape this server cannot type). A \"forecast\" code has a zone text forecast: pass it to nws_get_zone_forecast. A \"fire\" code has a segment in its office's Fire Weather Planning Forecast: call nws_get_office_discussion with office from this alert's office field, product_type \"FWF\", and sections [code]. All types are valid values for the nws_search_alerts zone filter."
    • addedOutput schema / properties / alert / properties / hazard
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "eventMotionDescription": {
      +          "description": "Storm time, motion, and position in NWS encoding (e.g., \"2026-10-22T17:17:00-00:00...storm...222DEG...11KT...34.0,-118.1\")",
      +          "type": "string"
      +        },
      +        "flashFloodDamageThreat": {
      +          "description": "Flash flood damage-threat tag (e.g., \"CONSIDERABLE\")",
      +          "type": "string"
      +        },
      +        "flashFloodDetection": {
      +          "description": "Flash flood detection (e.g., \"RADAR INDICATED\", \"OBSERVED\", \"RADAR AND GAUGE INDICATED\")",
      +          "type": "string"
      +        },
      +        "hailThreat": {
      +          "description": "How the hail is known (e.g., \"RADAR INDICATED\", \"OBSERVED\")",
      +          "type": "string"
      +        },
      +        "maxHailSize": {
      +          "description": "Maximum hail size in inches, as NWS states it (e.g., \"1.00\", \"Up to .75\")",
      +          "type": "string"
      +        },
      +        "maxWindGust": {
      +          "description": "Maximum wind gust, as NWS states it (e.g., \"60 MPH\", \"34 knots\")",
      +          "type": "string"
      +        },
      +        "thunderstormDamageThreat": {
      +          "description": "Thunderstorm damage-threat tag (e.g., \"CONSIDERABLE\")",
      +          "type": "string"
      +        },
      +        "tornadoDamageThreat": {
      +          "description": "Tornado damage-threat tag",
      +          "type": "string"
      +        },
      +        "tornadoDetection": {
      +          "description": "Tornado detection (e.g., \"RADAR INDICATED\", \"POSSIBLE\")",
      +          "type": "string"
      +        },
      +        "waterspoutDetection": {
      +          "description": "Waterspout detection (e.g., \"POSSIBLE\")",
      +          "type": "string"
      +        },
      +        "windThreat": {
      +          "description": "How the wind is known (e.g., \"RADAR INDICATED\", \"OBSERVED\")",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Severe-weather tags NWS attaches, under NWS key names with values verbatim (free text such as \"Up to .75\" or \"34 knots\"). Only the tags NWS sent are present; null when it sent none."
      +}
    • addedOutput schema / properties / alert / properties / nwsHeadline
      Added value: +{
      +  "description": "The NWS product headline (e.g., \"RED FLAG WARNING IN EFFECT FROM NOON TO 8 PM MDT FRIDAY\"), distinct from headline; null when NWS sends none.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / alert / properties / office
      Added value: +{
      +  "description": "Issuing forecast office code (e.g., \"RIW\"), from the issuing centre in the message's WMO header; pass it as office to nws_get_office_discussion. Null for tsunami warning centres and national test messages, which have no office discussion, and when NWS sends no usable WMO header.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / alert / properties / senderName / description
      Previous value: -"Issuing office"New value: +"Issuing office name (e.g., \"NWS Riverton WY\"); the office code nws_get_office_discussion takes is in office"
    • addedOutput schema / properties / alert / properties / vtec
      Added value: +{
      +  "description": "Raw P-VTEC strings NWS attaches (e.g., \"/O.CON.KRIW.FW.W.0031.261023T1800Z-261024T0200Z/\"), the key that tracks one event across its updates; empty when NWS sends none (e.g., Special Weather Statements).",
      +  "items": {
      +    "description": "One P-VTEC string, verbatim",
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / alert / required
      Previous value: -[
      -  "id",
      -  "event",
      -  "headline",
      -  "description",
      -  "instruction",
      -  "severity",
      -  "urgency",
      -  "certainty",
      -  "areaDesc",
      -  "sent",
      -  "effective",
      -  "onset",
      -  "ends",
      -  "expires",
      -  "status",
      -  "messageType",
      -  "references",
      -  "senderName",
      -  "affectedZones"
      -]New value: +[
      +  "id",
      +  "event",
      +  "headline",
      +  "description",
      +  "instruction",
      +  "severity",
      +  "urgency",
      +  "certainty",
      +  "areaDesc",
      +  "sent",
      +  "effective",
      +  "onset",
      +  "ends",
      +  "expires",
      +  "status",
      +  "messageType",
      +  "references",
      +  "senderName",
      +  "office",
      +  "vtec",
      +  "nwsHeadline",
      +  "hazard",
      +  "affectedZones"
      +]
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

With readOnlyHint=true already supplied by annotations, the description adds substantial behavioral context: NWS retains messages for about 7 days, references are newest first, and an update may merge several earlier segments so references[0] is not necessarily the only immediate predecessor. This goes well beyond the safety annotation and helps the agent interpret retrieval and revision behavior.

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

Conciseness4/5

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

The description is front-loaded with the core action and then adds useful operational context. It is dense but most sentences earn their place; the detailed references[0] explanation is somewhat heavy, but it directly supports correct revision-chain traversal.

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?

An output schema exists, so return fields need not be fully described, and the description explicitly says the response matches nws_search_alerts. It covers ID provenance, retention duration, revision-chain semantics, and the distinction from active-alert search, leaving no important gap for invoking the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already documents the alert_id format, pattern, case sensitivity, and example. The description adds provenance for the ID and notes that it returns the same fields as nws_search_alerts, but does not add format or syntax details beyond the schema. The baseline of 3 is appropriate.

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 description states a specific verb and resource: fetch one NWS alert message by ID. It immediately distinguishes this from nws_search_alerts by explaining that it can retrieve current alerts as well as superseded messages that active-alert searches no longer return.

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

Usage Guidelines5/5

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

It explicitly identifies valid ID sources, nws_search_alerts results or references[].identifier from any alert, and explains when to use this tool instead of an active-alert search. The revision-chain guidance tells the agent how to walk superseded messages one call per message.

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.