Skip to main content
Glama

faa-traffic-delays-mcp-server

Get FAA Airport Status

faa_delays_get_airport_status
Read-onlyIdempotent

Get the current FAA traffic management status for one or more US airports: a headline status, every active event (ground stop, Ground Delay Program with its delay profile, arrival or departure delay, closure, deicing) with reason and times, and the runway configuration and airport arrival rate. Every row carries the airport's ARTCC, and its coordinates come from the feed when the airport is listed (absent when the feed omits them) and from the NASR directory otherwise; both place a departure airport against a program's includedFacilities and departureScopeNm. Airports are FAA 3-character identifiers (SEA, ORD, JFK) or their ICAO codes (KSEA, PHNL); a code that names no US airport is rejected. The FAA feed lists only airports with an active event, so a known airport absent from it returns status no_active_events, and runway configuration is available only for listed airports.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
airportsYes1–25 US airports, each a 3-character FAA location identifier (SEA, ORD, 0S9) or its ICAO code (KSEA, PHNL, TJSJ), case-insensitive; a comma-separated string is also accepted. City and airport names are not accepted.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
noticeNoGuidance on quiet results, stale delay entries, or partial data.
airportsNoOne row per requested airport, in request order, duplicates dropped.
fetchedAtNoWhen this server fetched the snapshot from the FAA (UTC ISO); with the 60 s cache it can trail the call by up to a minute.

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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 readOnly/idempotent/openWorld, yet the description adds substantial context beyond them: the feed's active-event-only coverage, the no_active_events sentinel, runway configuration availability being limited to listed airports, and the dual coordinate sourcing (feed vs NASR). These are exactly the behavioral traits an agent needs and cannot get from structured fields.

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?

Front-loaded with the core purpose and output contents, then layers caveats. It is a dense single paragraph and some return-value detail (event types, ARTCC, AAR) is arguably redundant given an output schema exists, but nothing is wasted or contradictory.

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 single-parameter, output-schema-backed read tool, the description covers the remaining ambiguity an agent faces: valid code formats, rejection behavior, feed coverage limits, and the no_active_events case. No material gap remains.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: it explains that FAA 3-character or ICAO codes are accepted, that a code naming no US airport is rejected, and how the code interacts with includedFacilities/departureScopeNm matching. That is useful validation and semantics beyond the schema text.

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 ('Get') and resource ('current FAA traffic management status') and scopes it to one or more US airports. The enumeration of what the status contains (headline status, active events, delay profile, runway configuration, AAR) makes the tool's output identity unambiguous next to siblings like list_active_events.

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

Usage Guidelines3/5

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

The description explains feed behavior (only airports with an active event are listed, so a known airport returns no_active_events) which helps an agent interpret results, but it never states when to choose this tool over faa_delays_list_active_events or faa_delays_get_advisory. Usage is implied rather than contrasted with alternatives.

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.