Skip to main content
Glama

Get airport status

get_airport_status
Read-onlyIdempotent

Use this when the user asks about airport delays, closures or weather right now, such as "is JFK delayed?" or "what is the weather at Heathrow?". Returns: active FAA delays, ground stops and closures with reason and times (US airports only), the latest METAR observation (flight category, temperature, wind, visibility) and the raw TAF forecast. Input tips: pass the four-letter ICAO code (EGLL) for an airport outside the US, or the IATA code (JFK) for a US airport. If status is not_found, ask the user for the ICAO code and call again. Not for: looking up a flight by number (such as BA117), schedules, seats or whether a flight will leave on time, or for flight planning.

Input Schema

NameRequiredDescriptionDefault
airportYesAirport code, 3 or 4 letters: the four-letter ICAO code such as "EGLL" (London Heathrow) for an airport outside the US, or the three-letter IATA code such as "JFK" for a US airport. Not a city name or a flight number.

Output Schema

NameRequiredDescriptionDefault
faaNoFAA delays. US airports only.
icaoNoThe ICAO code used for the weather, such as KJFK.
metarNoThe latest weather observation, or null when the station has none.
noticeYesThe limits of this information: not for flight planning.
statusYesok: see faa, metar and tafRaw. not_found: no station for that code; ask the user for the four-letter ICAO code and call again. invalid: the code is not 3 or 4 letters. unavailable: a source is down; try again in a few minutes. message says the next step.
tafRawNoThe raw TAF forecast as published, or null when there is none.
airportYesThe code as sent, in capitals.
messageNoWhat to tell the user or do next when status is not ok.
sourcesYesThe official sources, to link in the answer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / faa / properties / status / description
      Previous value: -"ok: delays lists every active FAA delay (empty means none). not_applicable: the airport is outside the US, so the FAA has no data."New value: +"ok: delays lists every active FAA delay (empty means none). unavailable: the FAA feed could not be read, so say the delays are unknown and do not guess them. not_applicable: the airport is outside the US, so the FAA has no data."
  2. Changed27 schema fields changed
    • changedInput schema / properties / airport / description
      Previous value: -"IATA code such as \"JFK\" or ICAO code such as \"EGLL\""New value: +"Airport code, 3 or 4 letters: the four-letter ICAO code such as \"EGLL\" (London Heathrow) for an airport outside the US, or the three-letter IATA code such as \"JFK\" for a US airport. Not a city name or a flight number."
    • addedInput schema / properties / airport / examples
      Added value: +[
      +  "EGLL",
      +  "JFK",
      +  "KORD"
      +]
    • addedOutput schema / properties / airport / description
      Added value: +"The code as sent, in capitals."
    • addedOutput schema / properties / faa / description
      Added value: +"FAA delays. US airports only."
    • addedOutput schema / properties / faa / properties / delays / items / properties / detail / description
      Added value: +"Average, shortest and longest delay and the trend, when given."
    • addedOutput schema / properties / faa / properties / delays / items / properties / reason / description
      Added value: +"The FAA's stated reason, such as weather or volume."
    • addedOutput schema / properties / faa / properties / delays / items / properties / since / description
      Added value: +"Start time as the FAA writes it (free text, not ISO)."
    • addedOutput schema / properties / faa / properties / delays / items / properties / type / description
      Added value: +"The FAA program, such as Ground Stop, Ground Delay or Airport Closure, with arrival or departure when given."
    • addedOutput schema / properties / faa / properties / delays / items / properties / until / description
      Added value: +"Expected end or reopening time as the FAA writes it (free text, not ISO)."
    • addedOutput schema / properties / faa / properties / status / description
      Added value: +"ok: delays lists every active FAA delay (empty means none). not_applicable: the airport is outside the US, so the FAA has no data."
    • addedOutput schema / properties / faa / properties / updated / description
      Added value: +"When the FAA feed was updated, as the FAA writes it, such as \"Sat Oct 10 17:02:57 2026 GMT\"."
    • addedOutput schema / properties / icao / description
      Added value: +"The ICAO code used for the weather, such as KJFK."
    • addedOutput schema / properties / message / description
      Added value: +"What to tell the user or do next when status is not ok."
    • addedOutput schema / properties / metar / description
      Added value: +"The latest weather observation, or null when the station has none."
    • addedOutput schema / properties / metar / properties / flightCategory / description
      Added value: +"VFR (good), MVFR (marginal), IFR (low cloud or poor visibility) or LIFR (very low), as the Aviation Weather Center sets it."
    • addedOutput schema / properties / metar / properties / observedAt / description
      Added value: +"When the observation was made, as an ISO 8601 UTC time."
    • addedOutput schema / properties / metar / properties / observedAt / format
      Added value: +"date-time"
    • addedOutput schema / properties / metar / properties / raw / description
      Added value: +"The METAR report as published."
    • addedOutput schema / properties / metar / properties / station / description
      Added value: +"Station name, such as New York/JF Kennedy Intl, NY, US."
    • addedOutput schema / properties / metar / properties / temperatureC / description
      Added value: +"Air temperature in degrees Celsius."
    • addedOutput schema / properties / metar / properties / visibility / description
      Added value: +"Visibility in statute miles, such as \"10+ statute miles\"."
    • addedOutput schema / properties / metar / properties / wind / description
      Added value: +"Wind direction and speed in knots, such as \"200° at 7 kt\", or \"calm\"."
    • addedOutput schema / properties / notice / description
      Added value: +"The limits of this information: not for flight planning."
    • addedOutput schema / properties / sources / description
      Added value: +"The official sources, to link in the answer."
    • addedOutput schema / properties / sources / items / properties / url / format
      Added value: +"uri"
    • addedOutput schema / properties / status / description
      Added value: +"ok: see faa, metar and tafRaw. not_found: no station for that code; ask the user for the four-letter ICAO code and call again. invalid: the code is not 3 or 4 letters. unavailable: a source is down; try again in a few minutes. message says the next step."
    • addedOutput schema / properties / tafRaw / description
      Added value: +"The raw TAF forecast as published, or null when there is none."
  3. Changed1 schema field changed
    • removedOutput schema / properties / note_from_openkrill
      Removed value: -{
      -  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      -  "type": "string"
      -}
  4. Changed1 schema field changed
    • addedOutput schema / properties / note_from_openkrill
      Added value: +{
      +  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      +  "type": "string"
      +}
  5. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), but the description goes well beyond them: it discloses that FAA delay/closure data is US-only, names the returned data sources (METAR, TAF), and defines the not_found branch. That is substantive behavioral context the structured fields do not carry.

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?

Front-loads the trigger condition, then returns, then input tips, then the not_found branch, then exclusions. Every sentence carries information an agent needs for selection or invocation; nothing is padding.

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 lookup with an output schema present, this covers triggers, return contents, error handling and exclusions. Nothing an agent needs to select or call it correctly is missing; the return-value summary is mild overlap with the output schema but aids selection.

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 itself already explains ICAO vs IATA and warns against city names or flight numbers. The description's 'Input tips' largely restate that, adding only the practical US/non-US routing rule, so it does not meaningfully exceed the schema. Baseline 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?

States a specific verb+resource (airport status) and immediately scopes it to live delays, closures and weather. It explicitly names what it is not for (flight lookup by number, schedules, seats, on-time prediction, flight planning), which cleanly separates it from the sibling tools and from flight-tracking tools generally.

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?

Gives concrete trigger phrases ("is JFK delayed?", "what is the weather at Heathrow?") plus an explicit 'Not for:' exclusion list. It also prescribes recovery behavior on not_found (ask for the ICAO code and call again), so the agent knows both when to use it and what to do on failure.

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.