Skip to main content
Glama

Get Active Aviation Advisories

aviation_get_advisories
Read-onlyIdempotent

Get active domestic SIGMETs, international SIGMETs (including oceanic products), and Center Weather Advisories from the NWS Aviation Weather Center. Filter by advisory_type, hazard, optional altitude_ft, or ordered bbox. Returns source coverage, decoded hazards/altitudes/movement, multipart geometry, and original bulletins; missing facts stay null. CWA cancellations are excluded and counted. Independent source failures retain healthy results with partial coverage. AIRMET requests are rejected; this tool does not retrieve AIRMETs. Omit limit to return every available match; an explicit limit sorts results and discloses withheld matches.

Input Schema

NameRequiredDescriptionDefault
bboxNoOrdered geographic bounding box. Matches each geometry part by its bounding envelope, not exact polygon intersection; date-line-crossing source geometry is unwrapped.
limitNoOptional maximum matches to return, without a default or automatic cap. Sorts by source, issuer, series and validity; omit or raise it to retrieve withheld matches.
hazardNoUpstream hazard filter. TS and CONVECTIVE are thunderstorm aliases across every product, retaining source-native output hazards. Domestic also supports TURBULENCE, ICING, IFR. International also supports TURBULENCE, ICING, MTW (mountain wave), DS (duststorm), SS (sandstorm), TC (tropical cyclone), VA (volcanic ash). CWA also supports TURBULENCE, ICING, IFR, PCPN (precipitation), UNK (unknown). Incompatible sources are not_applicable; wholly incompatible selections are rejected. MTN OBSCN, SURFACE WIND and LLWS are not served and are rejected. A hazard-scoped zero says nothing about other hazards.
altitude_ftNoOptional finite altitude in feet MSL, rounded to the nearest 100 ft (half steps round upward). SIGMET sources use documented level filtering within ±3000 ft; CWA uses inclusive overlap with that band, lower edge clamped to zero. Unknown CWA bounds are retained and disclosed.
advisory_typeNoProduct selection: sigmet is domestic SIGMETs, isigmet is international SIGMETs, cwa is Center Weather Advisories, and all reads all three independently. airmet is rejected with guidance to separate AIRMET products.all

Output Schema

NameRequiredDescriptionDefault
drawnNoWith bbox: decoded active rows after cancellation removal and product/hazard/altitude selection, before geographic filtering; successful sources only.
errorNoPresent when the call failed. Absent on success.
totalNoWith explicit limit: all available matches before limiting.
noticeNoCoverage-scoped empty, bbox-removal or explicit-limit explanation and recovery. Failed sources never establish zero coverage.
matchedNoWith bbox: rows intersecting any geometry part, before limit.
partialNoTrue when a source failed or unreadable rows were skipped; no complete-coverage claim is possible.
coverageNoCoverage of selected sources, independent of bbox and limit.
returnedNoWith bbox or explicit limit: rows returned after limit.
truncatedNoWith explicit limit: whether matches were withheld. Omit or raise limit to retrieve them.
unlocatedNoWith bbox: drawn rows lacking decoded geometry; not known to be outside the box.
advisoriesNoActive advisories matching the filter criteria. May be empty during fair weather periods.
altitude_selectionNoApplied altitude selection; absent when altitude_ft was omitted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changed
    • addedInput schema / properties / altitude_ft
      Added value: +{
      +  "description": "Optional finite altitude in feet MSL, rounded to the nearest 100 ft (half steps round upward). SIGMET sources use documented level filtering within ±3000 ft; CWA uses inclusive overlap with that band, lower edge clamped to zero. Unknown CWA bounds are retained and disclosed.",
      +  "minimum": 0,
      +  "type": "number"
      +}
    • changedInput schema / properties / hazard / description
      Previous value: -"Upstream hazard filter. Domestic: CONVECTIVE, TURBULENCE, ICING, IFR. International: TS, TURBULENCE, ICING, MTW (mountain wave), DS (duststorm), SS (sandstorm), TC (tropical cyclone), VA (volcanic ash). CWA: TS, TURBULENCE, ICING, IFR, PCPN (precipitation), UNK (unknown). Incompatible sources are not_applicable; wholly incompatible selections are rejected. MTN OBSCN, SURFACE WIND and LLWS are not served and are rejected. A hazard-scoped zero says nothing about other hazards."New value: +"Upstream hazard filter. TS and CONVECTIVE are thunderstorm aliases across every product, retaining source-native output hazards. Domestic also supports TURBULENCE, ICING, IFR. International also supports TURBULENCE, ICING, MTW (mountain wave), DS (duststorm), SS (sandstorm), TC (tropical cyclone), VA (volcanic ash). CWA also supports TURBULENCE, ICING, IFR, PCPN (precipitation), UNK (unknown). Incompatible sources are not_applicable; wholly incompatible selections are rejected. MTN OBSCN, SURFACE WIND and LLWS are not served and are rejected. A hazard-scoped zero says nothing about other hazards."
    • addedOutput schema / properties / advisories / items / properties / issued_by_name
      Added value: +{
      +  "description": "Source-native CWA issuing-office name, or null when unavailable.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / advisories / items / properties / movement / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "direction_deg": {
      -        "description": "Domestic source movement direction in degrees true (FROM semantics); null when omitted or international.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "direction_text": {
      -        "description": "International source-native direction text, without converting to domestic FROM-angle semantics; null when omitted.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "speed_kt": {
      -        "description": "Decoded movement speed in knots, or null when omitted.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "direction_deg",
      -      "speed_kt"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "direction_deg": {
      +        "description": "Domestic source movement direction in degrees true (FROM semantics); null when omitted or international.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "direction_text": {
      +        "description": "International source-native direction text, without converting to domestic FROM-angle semantics; null when omitted.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "speed_kt": {
      +        "description": "Decoded movement speed in knots, or null when omitted.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "stationary": {
      +        "description": "International stationarity: true for an explicit unquoted standalone STNR bulletin token, false for non-sentinel decoded direction with positive speed, null otherwise. Sentinel or zero alone is not stationarity; absent for domestic movement.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "direction_deg",
      +      "speed_kt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / advisories / items / properties / severity / description
      Previous value: -"Severity integer for convective SIGMETs (higher = more intense). Null when the advisory stated none."New value: +"Source-native domestic severity value, without an inferred intensity scale; null when omitted."
    • addedOutput schema / properties / advisories / items / properties / tendency
      Added value: +{
      +  "description": "International source-native tendency token (such as INTSF, WKN, NC), or null when unavailable; future tokens are preserved.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / advisories / items / required
      Previous value: -[
      -  "advisory_type",
      -  "source",
      -  "series_id",
      -  "hazard",
      -  "severity",
      -  "issued_by",
      -  "fir_id",
      -  "fir_name",
      -  "qualifier",
      -  "valid_from",
      -  "valid_to",
      -  "altitude_low_ft",
      -  "altitude_high_ft",
      -  "movement",
      -  "polygon",
      -  "geometry",
      -  "raw_text"
      -]New value: +[
      +  "advisory_type",
      +  "source",
      +  "series_id",
      +  "hazard",
      +  "severity",
      +  "issued_by",
      +  "issued_by_name",
      +  "tendency",
      +  "fir_id",
      +  "fir_name",
      +  "qualifier",
      +  "valid_from",
      +  "valid_to",
      +  "altitude_low_ft",
      +  "altitude_high_ft",
      +  "movement",
      +  "polygon",
      +  "geometry",
      +  "raw_text"
      +]
    • addedOutput schema / properties / altitude_selection
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Applied altitude selection; absent when altitude_ft was omitted.",
      +  "properties": {
      +    "band_high_ft": {
      +      "description": "Inclusive search-band upper bound in feet MSL.",
      +      "type": "number"
      +    },
      +    "band_low_ft": {
      +      "description": "Inclusive search-band lower bound in feet MSL, clamped to zero.",
      +      "type": "number"
      +    },
      +    "level": {
      +      "description": "Effective integer flight level after nearest-100-ft rounding.",
      +      "type": "number"
      +    },
      +    "requested_ft": {
      +      "description": "Requested altitude in feet MSL.",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "requested_ft",
      +    "level",
      +    "band_low_ft",
      +    "band_high_ft"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverage / items / properties / altitude_filter
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "upstream",
      +        "client"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Altitude selection mechanism, or null when omitted or coverage unavailable."
      +}
    • addedOutput schema / properties / coverage / items / properties / altitude_unknown
      Added value: +{
      +  "description": "Retained rows with either decoded altitude bound unknown, before bbox; not a proven altitude match. Null without altitude selection or available coverage; describes only upstream-returned data.",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / coverage / items / properties / cancelled
      Added value: +{
      +  "description": "Excluded CWA cancellation notices; zero for readable feeds with none, null when coverage is unavailable.",
      +  "type": [
      +    "number",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / coverage / items / properties / drawn / description
      Previous value: -"Decoded rows after product/hazard selection, before bbox; null for failed or not_applicable sources."New value: +"Decoded active rows after cancellation removal and product/hazard/altitude selection, before bbox; null for failed or not_applicable sources."
    • changedOutput schema / properties / coverage / items / required
      Previous value: -[
      -  "source",
      -  "status",
      -  "drawn"
      -]New value: +[
      +  "source",
      +  "status",
      +  "drawn",
      +  "cancelled",
      +  "altitude_filter",
      +  "altitude_unknown"
      +]
    • changedOutput schema / properties / drawn / description
      Previous value: -"With bbox: decoded rows after product/hazard, before geographic filtering; successful sources only."New value: +"With bbox: decoded active rows after cancellation removal and product/hazard/altitude selection, before geographic filtering; successful sources only."
  2. Changed43 schema fields changed
    • changedInput schema / properties / advisory_type / description
      Previous value: -"Filter by advisory type. \"sigmet\" and \"all\" both return the active domestic SIGMET set, which is everything this tool serves. \"airmet\" is rejected with guidance: the upstream feed cannot return an AIRMET, so answering it would mean presenting SIGMETs as AIRMET matches."New value: +"Product selection: sigmet is domestic SIGMETs, isigmet is international SIGMETs, cwa is Center Weather Advisories, and all reads all three independently. airmet is rejected with guidance to separate AIRMET products."
    • changedInput schema / properties / advisory_type / enum
      Previous value: -[
      -  "sigmet",
      -  "airmet",
      -  "all"
      -]New value: +[
      +  "sigmet",
      +  "isigmet",
      +  "cwa",
      +  "airmet",
      +  "all"
      +]
    • changedInput schema / properties / bbox / description
      Previous value: -"Geographic bounding box to filter advisories by polygon overlap."New value: +"Ordered geographic bounding box. Matches each geometry part by its bounding envelope, not exact polygon intersection; date-line-crossing source geometry is unwrapped."
    • changedInput schema / properties / hazard / description
      Previous value: -"Optional hazard filter, applied upstream by AWC. CONVECTIVE, TURBULENCE, ICING, and IFR are the four hazard classes the domestic SIGMET feed carries, and an empty result under one of them means no advisory of that class is active — it says nothing about the others. MTN OBSCN, SURFACE WIND, and LLWS are AIRMET-family phenomena with no upstream counterpart here and are rejected rather than returning an empty result."New value: +"Upstream hazard filter. Domestic: CONVECTIVE, TURBULENCE, ICING, IFR. International: TS, TURBULENCE, ICING, MTW (mountain wave), DS (duststorm), SS (sandstorm), TC (tropical cyclone), VA (volcanic ash). CWA: TS, TURBULENCE, ICING, IFR, PCPN (precipitation), UNK (unknown). Incompatible sources are not_applicable; wholly incompatible selections are rejected. MTN OBSCN, SURFACE WIND and LLWS are not served and are rejected. A hazard-scoped zero says nothing about other hazards."
    • changedInput schema / properties / hazard / enum
      Previous value: -[
      -  "CONVECTIVE",
      -  "TURBULENCE",
      -  "ICING",
      -  "IFR",
      -  "MTN OBSCN",
      -  "SURFACE WIND",
      -  "LLWS"
      -]New value: +[
      +  "CONVECTIVE",
      +  "TURBULENCE",
      +  "ICING",
      +  "IFR",
      +  "TS",
      +  "MTW",
      +  "DS",
      +  "SS",
      +  "TC",
      +  "VA",
      +  "PCPN",
      +  "UNK",
      +  "MTN OBSCN",
      +  "SURFACE WIND",
      +  "LLWS"
      +]
    • addedInput schema / properties / limit
      Added value: +{
      +  "description": "Optional maximum matches to return, without a default or automatic cap. Sorts by source, issuer, series and validity; omit or raise it to retrieve withheld matches.",
      +  "maximum": 9007199254740991,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "not": {
      -      "required": [
      -        "error"
      -      ]
      -    },
      -    "required": [
      -      "advisories"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "error"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "advisories",
      +      "coverage",
      +      "partial"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • changedOutput schema / properties / advisories / items / description
      Previous value: -"An active SIGMET advisory."New value: +"An active advisory, with source omissions preserved as null."
    • changedOutput schema / properties / advisories / items / properties / advisory_type / description
      Previous value: -"Advisory type as issued. The domestic SIGMET feed this tool reads emits SIGMET."New value: +"Product type: SIGMET, ISIGMET or CWA."
    • addedOutput schema / properties / advisories / items / properties / fir_id
      Added value: +{
      +  "description": "Flight information region identifier, or null when omitted.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / advisories / items / properties / fir_name
      Added value: +{
      +  "description": "Flight information region name, or null when omitted.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / advisories / items / properties / geometry
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": false,
      +      "properties": {
      +        "kind": {
      +          "description": "Source-native geometry kind (AREA, AREAS, LINE), or null when omitted.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "parts": {
      +          "description": "Separate rings or lines, never flattened into connecting edges.",
      +          "items": {
      +            "description": "One intact source ring or line.",
      +            "items": {
      +              "additionalProperties": false,
      +              "description": "A polygon vertex as a lat/lon coordinate pair.",
      +              "properties": {
      +                "lat": {
      +                  "description": "Latitude in decimal degrees.",
      +                  "type": "number"
      +                },
      +                "lon": {
      +                  "description": "Longitude in decimal degrees.",
      +                  "type": "number"
      +                }
      +              },
      +              "required": [
      +                "lat",
      +                "lon"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "parts"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Decoded source geometry, or null when no complete coordinates can be decoded."
      +}
    • changedOutput schema / properties / advisories / items / properties / hazard / description
      Previous value: -"Hazard type — one of CONVECTIVE, TURBULENCE, ICING, or IFR."New value: +"Source-native hazard type, or null when omitted."
    • changedOutput schema / properties / advisories / items / properties / hazard / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / advisories / items / properties / issued_by / description
      Previous value: -"ICAO ID of the issuing meteorological watch office."New value: +"Issuing office ICAO ID or CWSU code; null when omitted."
    • changedOutput schema / properties / advisories / items / properties / issued_by / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / advisories / items / properties / movement / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "direction_deg": {
      -        "description": "Movement direction in degrees true, or null if stationary.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "speed_kt": {
      -        "description": "Movement speed in knots, or null if stationary.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "direction_deg",
      -      "speed_kt"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "direction_deg": {
      +        "description": "Domestic source movement direction in degrees true (FROM semantics); null when omitted or international.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "direction_text": {
      +        "description": "International source-native direction text, without converting to domestic FROM-angle semantics; null when omitted.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "speed_kt": {
      +        "description": "Decoded movement speed in knots, or null when omitted.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "direction_deg",
      +      "speed_kt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedOutput schema / properties / advisories / items / properties / polygon / anyOf
      Added value: +[
      +  {
      +    "items": {
      +      "additionalProperties": false,
      +      "description": "A polygon vertex as a lat/lon coordinate pair.",
      +      "properties": {
      +        "lat": {
      +          "description": "Latitude in decimal degrees.",
      +          "type": "number"
      +        },
      +        "lon": {
      +          "description": "Longitude in decimal degrees.",
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "lat",
      +        "lon"
      +      ],
      +      "type": "object"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedOutput schema / properties / advisories / items / properties / polygon / description
      Previous value: -"Geographic boundary of the advisory as a polygon of lat/lon points."New value: +"Single-area compatibility boundary; null for multipart, line or missing geometry."
    • removedOutput schema / properties / advisories / items / properties / polygon / items
      Removed value: -{
      -  "additionalProperties": false,
      -  "description": "A polygon vertex as a lat/lon coordinate pair.",
      -  "properties": {
      -    "lat": {
      -      "description": "Latitude in decimal degrees.",
      -      "type": "number"
      -    },
      -    "lon": {
      -      "description": "Longitude in decimal degrees.",
      -      "type": "number"
      -    }
      -  },
      -  "required": [
      -    "lat",
      -    "lon"
      -  ],
      -  "type": "object"
      -}
    • removedOutput schema / properties / advisories / items / properties / polygon / type
      Removed value: -"array"
    • addedOutput schema / properties / advisories / items / properties / qualifier
      Added value: +{
      +  "description": "Source-native hazard qualifier, or null when omitted.",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / advisories / items / properties / raw_text / description
      Previous value: -"Original encoded SIGMET text as issued by the meteorological watch office."New value: +"Original bulletin text, preserving line breaks and blank lines; null when omitted."
    • changedOutput schema / properties / advisories / items / properties / raw_text / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / advisories / items / properties / series_id / description
      Previous value: -"Unique advisory identifier (e.g., BOSMA0)."New value: +"Advisory series identifier, or null when omitted."
    • changedOutput schema / properties / advisories / items / properties / series_id / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / advisories / items / properties / source
      Added value: +{
      +  "description": "Independent source product.",
      +  "enum": [
      +    "sigmet",
      +    "isigmet",
      +    "cwa"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / advisories / items / properties / valid_from / description
      Previous value: -"Advisory validity start time in ISO 8601 format (UTC)."New value: +"Advisory validity start time in ISO 8601 format (UTC), or null when omitted."
    • changedOutput schema / properties / advisories / items / properties / valid_from / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / advisories / items / properties / valid_to / description
      Previous value: -"Advisory validity end time in ISO 8601 format (UTC)."New value: +"Advisory validity end time in ISO 8601 format (UTC), or null when omitted."
    • changedOutput schema / properties / advisories / items / properties / valid_to / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / advisories / items / required
      Previous value: -[
      -  "advisory_type",
      -  "series_id",
      -  "hazard",
      -  "severity",
      -  "issued_by",
      -  "valid_from",
      -  "valid_to",
      -  "altitude_low_ft",
      -  "altitude_high_ft",
      -  "movement",
      -  "polygon",
      -  "raw_text"
      -]New value: +[
      +  "advisory_type",
      +  "source",
      +  "series_id",
      +  "hazard",
      +  "severity",
      +  "issued_by",
      +  "fir_id",
      +  "fir_name",
      +  "qualifier",
      +  "valid_from",
      +  "valid_to",
      +  "altitude_low_ft",
      +  "altitude_high_ft",
      +  "movement",
      +  "polygon",
      +  "geometry",
      +  "raw_text"
      +]
    • addedOutput schema / properties / coverage
      Added value: +{
      +  "description": "Coverage of selected sources, independent of bbox and limit.",
      +  "items": {
      +    "additionalProperties": false,
      +    "description": "One selected source coverage result.",
      +    "properties": {
      +      "drawn": {
      +        "description": "Decoded rows after product/hazard selection, before bbox; null for failed or not_applicable sources.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "Source failure, skipped-row or applicability explanation.",
      +        "type": "string"
      +      },
      +      "source": {
      +        "description": "Selected source product.",
      +        "enum": [
      +          "sigmet",
      +          "isigmet",
      +          "cwa"
      +        ],
      +        "type": "string"
      +      },
      +      "status": {
      +        "description": "Readable response, unavailable response or unsupported source/hazard pair.",
      +        "enum": [
      +          "ok",
      +          "failed",
      +          "not_applicable"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "source",
      +      "status",
      +      "drawn"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / drawn
      Added value: +{
      +  "description": "With bbox: decoded rows after product/hazard, before geographic filtering; successful sources only.",
      +  "type": "number"
      +}
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `invalid_bbox`: The bounding box is inverted — minLat > maxLat or minLon > maxLon. `airmet_not_served`: advisory_type \"airmet\" was requested, or a hazard filter naming an AIRMET-family phenomenon (MTN OBSCN, SURFACE WIND, LLWS) with no counterpart on the SIGMET feed. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `invalid_bbox`: The bounding box is inverted — minLat > maxLat or minLon > maxLon. `airmet_not_served`: advisory_type \"airmet\" was requested, or an unsupported AIRMET-family hazard (MTN OBSCN, SURFACE WIND, LLWS). `hazard_not_supported`: No selected source supports the hazard. `advisory_sources_failed`: Every applicable source failed or was unreadable. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / error / properties / data / properties / reason / examples
      Previous value: -[
      -  "invalid_bbox",
      -  "airmet_not_served"
      -]New value: +[
      +  "invalid_bbox",
      +  "airmet_not_served",
      +  "hazard_not_supported",
      +  "advisory_sources_failed"
      +]
    • addedOutput schema / properties / matched
      Added value: +{
      +  "description": "With bbox: rows intersecting any geometry part, before limit.",
      +  "type": "number"
      +}
    • changedOutput schema / properties / notice / description
      Previous value: -"Present only when the result is empty, naming the stage that emptied it: no domestic SIGMETs are active at all, none carry the requested hazard, or none intersect the requested bbox — and which filter to broaden. A hazard-scoped empty draw states only that no advisory carries that hazard; AWC applies the hazard filter, so the response cannot say whether other classes are active."New value: +"Coverage-scoped empty, bbox-removal or explicit-limit explanation and recovery. Failed sources never establish zero coverage."
    • addedOutput schema / properties / partial
      Added value: +{
      +  "description": "True when a source failed or unreadable rows were skipped; no complete-coverage claim is possible.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / returned
      Added value: +{
      +  "description": "With bbox or explicit limit: rows returned after limit.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / total
      Added value: +{
      +  "description": "With explicit limit: all available matches before limiting.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / truncated
      Added value: +{
      +  "description": "With explicit limit: whether matches were withheld. Omit or raise limit to retrieve them.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / unlocated
      Added value: +{
      +  "description": "With bbox: drawn rows lacking decoded geometry; not known to be outside the box.",
      +  "type": "number"
      +}
  3. Changed2 schema fields changed
    • changedInput schema / properties / hazard / description
      Previous value: -"Optional hazard filter. CONVECTIVE, TURBULENCE, ICING, and IFR match the four hazard classes the domestic SIGMET feed carries. MTN OBSCN, SURFACE WIND, and LLWS are AIRMET-family phenomena with no upstream counterpart here and are rejected rather than returning an empty result."New value: +"Optional hazard filter, applied upstream by AWC. CONVECTIVE, TURBULENCE, ICING, and IFR are the four hazard classes the domestic SIGMET feed carries, and an empty result under one of them means no advisory of that class is active — it says nothing about the others. MTN OBSCN, SURFACE WIND, and LLWS are AIRMET-family phenomena with no upstream counterpart here and are rejected rather than returning an empty result."
    • addedOutput schema / properties / notice
      Added value: +{
      +  "description": "Present only when the result is empty, naming the stage that emptied it: no domestic SIGMETs are active at all, none carry the requested hazard, or none intersect the requested bbox — and which filter to broaden. A hazard-scoped empty draw states only that no advisory carries that hazard; AWC applies the hazard filter, so the response cannot say whether other classes are active.",
      +  "type": "string"
      +}
  4. Changed7 schema fields changed
    • removedOutput schema / properties / advisories / items / properties / altitude_high_ft / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / advisories / items / properties / altitude_high_ft / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / advisories / items / properties / altitude_low_ft / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / advisories / items / properties / altitude_low_ft / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • changedOutput schema / properties / advisories / items / properties / movement / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "direction_deg": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Movement direction in degrees true, or null if stationary."
      -      },
      -      "speed_kt": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Movement speed in knots, or null if stationary."
      -      }
      -    },
      -    "required": [
      -      "direction_deg",
      -      "speed_kt"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "direction_deg": {
      +        "description": "Movement direction in degrees true, or null if stationary.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "speed_kt": {
      +        "description": "Movement speed in knots, or null if stationary.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "direction_deg",
      +      "speed_kt"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / advisories / items / properties / severity / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / advisories / items / properties / severity / type
      Added value: +[
      +  "number",
      +  "null"
      +]
  5. Changed6 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / additionalProperties
      Added value: +false
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "advisories"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • addedOutput schema / properties / error
      Added value: +{
      +  "additionalProperties": {},
      +  "description": "Present when the call failed. Absent on success.",
      +  "properties": {
      +    "code": {
      +      "description": "JSON-RPC error code for this failure.",
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    "data": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "reason": {
      +          "description": "Machine-readable failure mode. Declared by this tool: `invalid_bbox`: The bounding box is inverted — minLat > maxLat or minLon > maxLon. `airmet_not_served`: advisory_type \"airmet\" was requested, or a hazard filter naming an AIRMET-family phenomenon (MTN OBSCN, SURFACE WIND, LLWS) with no counterpart on the SIGMET feed. Other values are possible when a failure originates below the handler.",
      +          "examples": [
      +            "invalid_bbox",
      +            "airmet_not_served"
      +          ],
      +          "type": "string"
      +        },
      +        "recovery": {
      +          "additionalProperties": {},
      +          "description": "Actionable next step for the caller.",
      +          "properties": {
      +            "hint": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "hint"
      +          ],
      +          "type": "object"
      +        },
      +        "retryable": {
      +          "description": "Whether retrying may succeed.",
      +          "type": "boolean"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "message": {
      +      "description": "Human-readable description of what went wrong.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code",
      +    "message"
      +  ],
      +  "type": "object"
      +}
    • removedOutput schema / required
      Removed value: -[
      -  "advisories"
      -]
  6. Changed7 schema fields changed
    • changedInput schema / properties / advisory_type / description
      Previous value: -"Filter by advisory type. \"sigmet\" includes convective SIGMETs. \"airmet\" includes AIRMET Sierra (IFR/mountain obscuration), Tango (turbulence), and Zulu (icing). \"all\" returns both."New value: +"Filter by advisory type. \"sigmet\" and \"all\" both return the active domestic SIGMET set, which is everything this tool serves. \"airmet\" is rejected with guidance: the upstream feed cannot return an AIRMET, so answering it would mean presenting SIGMETs as AIRMET matches."
    • changedInput schema / properties / hazard / description
      Previous value: -"Optional hazard filter. CONVECTIVE = convective SIGMETs; TURBULENCE = AIRMET Tango; ICING = AIRMET Zulu; IFR = AIRMET Sierra (IFR conditions); MTN OBSCN = AIRMET Sierra (mountain obscuration); SURFACE WIND = sustained strong surface winds (typically >30 kt); LLWS = low-level wind shear below 2,000 ft AGL."New value: +"Optional hazard filter. CONVECTIVE, TURBULENCE, ICING, and IFR match the four hazard classes the domestic SIGMET feed carries. MTN OBSCN, SURFACE WIND, and LLWS are AIRMET-family phenomena with no upstream counterpart here and are rejected rather than returning an empty result."
    • changedOutput schema / properties / advisories / items / description
      Previous value: -"An active SIGMET or AIRMET advisory."New value: +"An active SIGMET advisory."
    • changedOutput schema / properties / advisories / items / properties / advisory_type / description
      Previous value: -"Advisory type: SIGMET or AIRMET."New value: +"Advisory type as issued. The domestic SIGMET feed this tool reads emits SIGMET."
    • changedOutput schema / properties / advisories / items / properties / hazard / description
      Previous value: -"Hazard type (e.g., CONVECTIVE, TURBULENCE, ICING, IFR, MTN OBSCN)."New value: +"Hazard type — one of CONVECTIVE, TURBULENCE, ICING, or IFR."
    • changedOutput schema / properties / advisories / items / properties / raw_text / description
      Previous value: -"Original encoded SIGMET or AIRMET text as issued by the meteorological watch office."New value: +"Original encoded SIGMET text as issued by the meteorological watch office."
    • changedOutput schema / properties / advisories / items / properties / severity / description
      Previous value: -"Severity integer for convective SIGMETs (higher = more intense). Null for AIRMETs."New value: +"Severity integer for convective SIGMETs (higher = more intense). Null when the advisory stated none."
  7. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/open-world, and the description goes well beyond them: CWA cancellations are excluded and counted, per-source failures degrade to partial coverage while healthy results are retained, and missing facts stay null rather than being fabricated. That failure-mode and data-quality disclosure is exactly the context annotations cannot express.

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?

Purpose and scope are front-loaded, and the paragraph is dense with useful content rather than filler. There is mild redundancy — 'AIRMET requests are rejected; this tool does not retrieve AIRMETs' says the same thing twice, and the filter enumeration duplicates the schema.

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?

For a five-parameter, nested-bbox, multi-source tool with an output schema, the description covers sources, exclusions, filtering, degradation behavior, null handling, and limit semantics. An agent has everything needed to call it correctly and interpret partial results.

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 parameter docs are already unusually detailed (hazard aliases, ±3000 ft level band, bbox envelope matching), so the schema carries the load. The description mostly restates the filter set and limit behavior rather than adding new semantics, making the baseline 3 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?

States a specific verb and resource (active domestic SIGMETs, international SIGMETs incl. oceanic, and Center Weather Advisories from the NWS Aviation Weather Center) plus the filtering axes. It also explicitly excludes AIRMETs, which sharply separates it from any weather-product sibling such as aviation_get_metar or aviation_get_taf.

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?

Gives concrete when-not guidance ('AIRMET requests are rejected; this tool does not retrieve AIRMETs') and limit semantics ('omit limit to return every available match'). It stops short of naming an alternative tool for the excluded AIRMET case, but no sibling covers that product, so the routing gap is minor.

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.