Skip to main content
Glama

faa-traffic-delays-mcp-server

Server Details

Track FAA ground stops, delay programs, airport delays, the operations plan, and ATCSCC advisories.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cyanheads/faa-traffic-delays-mcp-server
GitHub Stars
1
Server Listing
faa-traffic-delays-mcp-server

TDQS

A4.4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct resource and action: listing vs. getting advisories, NAS-wide active events vs. single-airport status, operations plan summary vs. full advisory text, and reference decoding. The descriptions explicitly clarify boundaries and cross-references, leaving no ambiguity that would cause misselection.

Naming Consistency5/5

All tools follow the same faa_delays_ prefix with snake_case and consistent get_/list_ verb patterns. The naming is highly predictable across the entire set.

Tool Count5/5

Six tools are well-scoped for an FAA traffic delay monitoring server, with each tool earning its place. There is no bloat or thinness; the count matches the focused domain.

Completeness5/5

The surface covers active events, airport status, operations plans, advisory listing and full text, plus a reference decoder. Cross-references between tools fill gaps, and the read-only domain has no obvious missing operations.

Available Tools

6 tools
faa_delays_get_advisoryGet ATCSCC AdvisoryA
Read-onlyIdempotent
Inspect

Get the full text of one ATCSCC advisory by its number and UTC date. faa_delays_list_advisories lists the advisories issued on a date with their numbers, and the advisory reference that faa_delays_list_active_events and faa_delays_get_airport_status return on program rows and faa_delays_get_operations_plan returns for the plan names one directly. Advisory text carries what the status feed omits: program rate by hour, delay assignment mode, scope, comments, and the operations plan's active constraints and runway closures. Advisory numbers restart at 1 each UTC day, and older advisories remain available.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesUTC date the advisory was issued, YYYY-MM-DD: date from the same faa_delays_list_advisories row or advisory reference. MM/DD/YYYY, as advisory titles print it, and M/D/YYYY are also accepted.
advisory_numberYesATCSCC advisory number, 1–999: number from a faa_delays_list_advisories row, or advisory.number from an advisory reference on faa_delays_list_active_events, faa_delays_get_airport_status, or faa_delays_get_operations_plan. The printed forms "ADVZY 082" and "082" are also accepted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe character ceiling applied; present only when the text was cut.
urlNoServer-built advisory URL this tool read; it also opens in a browser.
dateNoThe advisory UTC date read, YYYY-MM-DD.
textNoFull advisory text (FAA-authored), cut at 50,000 characters when longer; truncated then reports the cut.
errorNoPresent when the call failed. Absent on success.
foundNoWhether the FAA advisories database holds this advisory number on this UTC date.
shownNoCharacters of advisory text returned; present only when the text was cut.
titleNoAdvisory title line as the FAA prints it (FAA-authored), e.g. ATCSCC ADVZY 082 DCC 09/29/2026 OPERATIONS PLAN.
noticeNoGuidance on a cut advisory text; present only when the text was cut.
sentAtNoWhen the advisory was signed, as the FAA prints it: YY/MM/DD HH:MM in UTC.
subjectNoAdvisory subject parsed from the title (CDM GROUND DELAY PROGRAM, OPERATIONS PLAN); absent when the title has another form.
guidanceNoPresent when found is false: where to get a valid advisory number and date.
truncatedNoTrue when the advisory text was cut at the 50,000-character ceiling; absent otherwise.
totalCharsNoFull length of the advisory text in characters; present only when the text was cut.
effectiveTimeNoEffective period as the FAA prints it, DDHHMM-DDHHMM in UTC.
advisoryNumberNoThe advisory number read.
controlElementNoAirport/ARTCC pair or facility the advisory concerns, parsed from the title (SEA/ZSE, DCC); absent when the title has another form.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnly, idempotent, openWorld), so the description's job is to add beyond them — and it does: advisory numbers restart at 1 each UTC day (a real keying pitfall), older advisories remain available, and the payload contains program rate by hour, delay assignment mode, scope, comments, and plan constraints/runway closures.

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?

Three sentences, front-loaded with the core action, then sourcing, then what the returned text adds. No filler; every clause carries routing or content information.

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, return-value detail is unnecessary, and for a 2-param read tool the description fully covers invocation: input provenance, numbering/date semantics, data retention, and value over the status endpoints.

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 accepted alternate formats (MM/DD/YYYY, 'ADVZY 082', '082'). The description adds only the pairing 'by its number and UTC date', so the schema does the heavy lifting and the baseline of 3 applies.

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 with its identifying keys: 'Get the full text of one ATCSCC advisory by its number and UTC date.' It is immediately distinguishable from the list/status siblings it names, so an agent can route correctly without opening a schema.

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?

Explicitly says where the required inputs come from (rows from faa_delays_list_advisories; advisory references returned by list_active_events, get_airport_status, and get_operations_plan) and when this tool is needed over the status feeds ('what the status feed omits'). That is when-to-use plus alternatives, with no inference required.

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

faa_delays_get_airport_statusGet FAA Airport StatusA
Read-onlyIdempotent
Inspect

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.

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription
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.

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.

faa_delays_get_operations_planGet FAA Operations PlanA
Read-onlyIdempotent
Inspect

Get the FAA Command Center's current operations plan: terminal programs (possible ground stops and delay programs by airport) and en-route initiatives (route closures, severe-weather avoidance plans) expected later in the day, each with its planned UTC time and stated likelihood, plus current ATCSCC announcements. The advisory reference opens the full plan text with faa_delays_get_advisory, including active constraints and runway closures this summary omits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
noticeNoGuidance on an empty plan, a missing advisory link, or partial data.
advisoryNoReference to the ATCSCC advisory behind this item, absent when the FAA feed links none. For the full text, call faa_delays_get_advisory with number as advisory_number and date as date.
fetchedAtNoWhen this server fetched the operations plan from the FAA (UTC ISO); with the 60 s cache it can trail the call by up to a minute.
announcementsNoCurrent ATCSCC announcements; [] when there are none, absent when that FAA list could not be read.
enRoutePlannedNoEn-route initiatives the FAA expects later today: route closures, severe-weather avoidance plans (SWAP), and coded departure routes (CDRs), in plan order.
terminalPlannedNoTerminal programs the FAA expects later today: possible ground stops and delay programs by airport, in plan order.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: this is a forward-looking summary ('expected later in the day') and it explicitly discloses that it omits active constraints and runway closures available elsewhere.

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?

Two sentences, front-loaded with what is returned and followed by the escalation path to the advisory. The first sentence is a dense run-on list, but each item earns its place by telling the agent what fields to expect.

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

Completeness4/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-value documentation is not strictly required, yet the description still scopes the response (summary vs. full advisory text). Combined with the annotations, an agent has enough to call this correctly; the only shortfall is absent guidance against the other four siblings.

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?

The tool takes zero parameters, so the baseline of 4 applies. The description correctly implies a no-argument call by describing a global snapshot rather than anything filterable, and adds no misleading parameter expectations.

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 ('Get the FAA Command Center's current operations plan') and enumerates the contents: terminal programs, en-route initiatives, UTC times, likelihood, and ATCSCC announcements. It explicitly distinguishes itself from faa_delays_get_advisory by describing itself as a summary that the advisory expands upon.

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?

Names the alternative sibling (faa_delays_get_advisory) and the condition that selects it: when the full plan text, active constraints, or runway closures are needed rather than this summary. It gives no guidance versus the other siblings (get_airport_status, list_advisories), so routing is clear but incomplete.

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

faa_delays_list_active_eventsList Active FAA Delay EventsA
Read-onlyIdempotent
Inspect

List every active FAA traffic management event across the National Airspace System in one call: ground stops, Ground Delay Programs, Airspace Flow Programs, arrival and departure delays, airport closures, closure NOTAMs, and deicing. Rows are sorted by severity (closures, ground stops, then GDPs and then AFPs each by average delay, arrival/departure delays by band maximum, closure NOTAMs, deicing) and carry the reason, delay figures, times, and an advisory reference for faa_delays_get_advisory. Use faa_delays_get_airport_status for the full detail of one airport, including its GDP delay profile and runway configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
event_typesNoOnly these event types: ground_stop, ground_delay_program, airspace_flow_program, arrival_delay, departure_delay, airport_closure, closure_notam, deicing. Also accepts gs, gdp, afp, spelled-out names such as "departure delay", and a comma-separated string; case-insensitive. Omit for every type. countsByType always covers the whole feed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
shownNoEvents returned after the event_types filter.
eventsNoActive events matching event_types, sorted by severity.
noticeNoGuidance on empty or partial results, stale delay entries, and how to get the missing data.
fetchedAtNoWhen this server fetched the airport events from the FAA (UTC ISO); with the 60 s cache it can trail the call by up to a minute.
enRouteFeedNoWhether Airspace Flow Programs were read: ok, unavailable (the en-route feed failed), or format_changed (it returned a format this server does not read).
totalActiveNoEvery active event read, before the event_types filter; excludes AFPs when the en-route feed could not be read.
countsByTypeNoActive events per type across the whole feed, counted before the event_types filter so types the filter excluded stay visible. airspace_flow_program is absent when the en-route feed could not be read.
appliedEventTypesNoThe event_types filter as the server normalized it, or every type when omitted.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description goes beyond that by disclosing the exact sort order (closures, ground stops, GDPs and AFPs by average delay, delays by band maximum, NOTAMs, deicing) and the payload each row carries (reason, delay figures, times, advisory reference), which materially shapes how an agent reads the result. It says nothing about rate limits or freshness/caching of the feed.

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?

Two sentences, with the scope-and-content statement front-loaded ahead of the sibling routing. The long parenthetical sort-order enumeration is dense but does real work for result interpretation; there is no filler.

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, the description need not explain return values, and it still covers scope, ordering and onward navigation. Schema coverage, annotations and output schema together leave no gap an agent needs to call this 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 single optional event_types parameter is fully documented there, including aliases, comma-separated strings, case-insensitivity, and the note that countsByType always covers the whole feed. The prose adds no additional meaning about the filter, so the baseline 3 applies.

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 with explicit scope ("every active FAA traffic management event across the National Airspace System") and enumerates the eight event classes it returns. It is unmistakably distinct from siblings that fetch a single airport, an advisory, or the operations plan.

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?

Names the alternative for a concrete case: "Use faa_delays_get_airport_status for the full detail of one airport, including its GDP delay profile and runway configuration." It also routes the agent onward to faa_delays_get_advisory via the advisory reference carried in each row, so the when-to-use-this-vs-that decision is spelled out rather than inferred.

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

faa_delays_list_advisoriesList ATCSCC AdvisoriesA
Read-onlyIdempotent
Inspect

List the ATCSCC advisories issued on one UTC date, newest first, from the FAA advisories database's per-date index: ground stops and delay programs as issued, proposed, revised, and canceled, required reroutes, flow constrained areas, operations plans, and CDM compression advisories, including those no longer active and those on past dates, which the NAS Status feed does not carry. Each row gives the advisory number, control element, subject, any further title lines (a reroute's name, constrained area, and valid period), and send time; its number and date open the full text with faa_delays_get_advisory. Narrow by categories or by control_element (an airport, its ICAO code, an ARTCC, or DCC for national advisories), and page with limit and offset.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoUTC date to list, YYYY-MM-DD; MM/DD/YYYY and M/D/YYYY are also accepted. Omit for today (UTC). No later than tomorrow (UTC); past dates remain available.
limitNoAdvisories per page, 1–200.
offsetNoMatching advisories to skip, for paging: nextOffset from the previous page.
categoriesNoOnly advisories the FAA files under these categories: ground_stop, ground_delay_program, airspace_flow_program, ctop, route, other (flow constrained areas and operations plans file under other). Also accepts gs, gdp, afp, spelled-out names such as "ground stop", and a comma-separated string; case-insensitive. Omit for every advisory, including CDM compression advisories, which the FAA files under no category.
control_elementNoOnly advisories whose control element is this facility or lists it as a part: an airport by FAA identifier (ORD) or ICAO code (KORD), an ARTCC (ZAU), a pair (ORD/ZAU or KORD/ZAU), or DCC for national advisories such as reroutes and the operations plan. Case-insensitive. Airports named only in a subject or details do not match.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe limit applied; present only when more advisories remain.
dateNoThe UTC date read, YYYY-MM-DD; today (UTC) when date was omitted.
errorNoPresent when the call failed. Absent on success.
shownNoAdvisories on this page; present only when more remain.
noticeNoGuidance on an empty date, a filter that matched nothing, an offset past the end, more pages, and index rows that could not be read.
truncatedNoTrue when matching advisories remain past this page; absent otherwise.
advisoriesNoAdvisories issued on date that match categories and control_element, newest first: up to limit of them, starting at offset.
nextOffsetNooffset of the next page; present while matching advisories remain past this one.
totalCountNoAdvisories on date that match categories and control_element, before paging.
appliedCategoriesNoThe categories filter as the server normalized it; absent when omitted, which reads every advisory, uncategorized ones included.
appliedControlElementNoThe control_element filter as the server matched it: uppercased, each ICAO airport code in it mapped to its FAA identifier (KORD → ORD, KORD/ZAU → ORD/ZAU); absent when omitted.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent/open-world profile, and the description adds behavior the annotations cannot: newest-first ordering, inclusion of canceled and past-date advisories, default-to-today, and the quirk that CDM compression advisories are filed under no category. That is substantive operational context beyond the structured hints.

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?

Two dense sentences, front-loaded with the action and ordering before enumerating categories and paging. Long, but nearly every clause carries distinct information; slight overloading of the first sentence costs it the top score.

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 structure need not be re-explained, yet the description still summarizes row fields (advisory number, control element, subject, title lines, send time), and it covers filtering, paging, and follow-up routing. Nothing an agent needs to call this correctly is missing.

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 description coverage is 100%, so the baseline is 3, but the description adds real semantics: categories omission includes uncategorized CDM compression advisories, and control_element only matches the indexed element (airports named solely in subject/details do not match). These parsing nuances beat the raw 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?

Opens with a specific verb+resource+scope ('List the ATCSCC advisories issued on one UTC date, newest first') and enumerates the advisory families covered (ground stops, reroutes, FCAs, ops plans, CDM compression). It explicitly separates itself from the NAS Status feed and from sibling tools, so an agent can distinguish it without opening a schema.

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?

States when to reach for this tool (historical/inactive advisories that the NAS Status feed lacks), how to narrow (categories, control_element, limit/offset paging), and routes to the sibling faa_delays_get_advisory for the full text. The condition that selects the alternative is spelled out rather than implied.

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

faa_delays_list_referenceList FAA Delay Reference DataA
Read-onlyIdempotent
Inspect

Decode the vocabulary the other faa_delays tools return: event types and their fields, traffic-management terms (AAR, EDCT, FCA, GDP, SWAP), ARTCC center codes, the FAA pacing airports with time zones, and accepted identifier formats.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesWhat to decode: event_types (event types and their key fields), terms (traffic-management abbreviations), artccs (ARTCC center codes and names), pacing_airports (the FAA pacing airports with time zones, read live), or identifiers (accepted airport-code, advisory, and time formats). Case-insensitive; spaces and hyphens read as underscores.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
termsNoPresent for topic terms, alphabetical.
topicNoThe topic this result decodes.
artccsNoPresent for topic artccs, by code: the 25 US ARTCCs, including the New York and Oakland oceanic centers, plus Anchorage Oceanic, Guam, Auckland Oceanic, Toronto, and Vancouver, the other facilities NASR names as an airport's ARTCC. Every artcc faa_delays_get_airport_status returns is listed.
fetchedAtNoPresent for topic pacing_airports: when this server fetched the list from the FAA (UTC ISO).
eventTypesNoPresent for topic event_types, in severity order.
identifiersNoPresent for topic identifiers.
pacingAirportsNoPresent for topic pacing_airports: the FAA pacing airports, read live and cached 6 h.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds a small behavioral detail ('pacing airports... read live'), but otherwise does not disclose caching, freshness, or response characteristics beyond what the annotations and output schema imply.

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?

A single, densely packed sentence that leads with the tool's function and then enumerates the five topics. No filler, no redundancy.

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

Completeness4/5

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

With an output schema present, return-value explanation is not needed, and the description covers all five topic domains that the single parameter can select. Only marginal gaps around freshness/pagination, minor for a reference lookup.

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 enum is fully documented in the schema itself; the description's topic list largely restates that enum. Baseline 3 is appropriate since the schema carries the parameter semantics.

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 (decode) and a specific resource (the vocabulary/types used by the faa_delays tool family), and enumerates the domains covered. It is clearly distinguishable from the fetching siblings like get_advisory or list_active_events, since this is a lookup/reference tool, not a data-retrieval one.

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?

Implies the usage context strongly: use this to interpret the codes and terms returned by the other faa_delays tools, and names those tools. It does not give explicit when-not guidance or spell out prerequisites, but the routing intent is clear.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedfaa_delays_get_advisory
    • First observedfaa_delays_get_airport_status
    • First observedfaa_delays_get_operations_plan
    • First observedfaa_delays_list_active_events
    • First observedfaa_delays_list_advisories
    • First observedfaa_delays_list_reference

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.