flightaware-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AEROAPI_API_KEY | Yes | Your AeroAPI key (sent as the x-apikey header). | |
| AEROAPI_OUTPUT_DIR | No | Default directory for flight-map PNGs (default: cwd). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fa_get_flightsB | Get flights for an ident — a flight designator (e.g. UAL123, AAL100), aircraft registration (e.g. N12345), or fa_flight_id. Returns recent, current, and scheduled flights for that ident. |
| fa_search_flightsA | Search airborne flights using AeroAPI's simplified query syntax — a single string of "-key value" pairs. Keys: -prefix -type -idents -identOrReg -airline -destination -origin -originOrDestination -aboveAltitude -belowAltitude -aboveGroundspeed -belowGroundspeed -latlong "MINLAT MINLON MAXLAT MAXLON" -filter {ga|airline}. Example: -airline UAL -belowAltitude 30000 |
| fa_search_flights_advancedA | Search flights using AeroAPI's full structured query language (more expressive than fa_search_flights). The |
| fa_get_flight_trackA | Get the position track (breadcrumb log) for a specific flight by fa_flight_id. |
| fa_get_flight_positionA | Get the most recent reported position for an in-air flight by fa_flight_id. |
| fa_get_flight_routeA | Get the decoded route (fixes/waypoints) for a specific flight by fa_flight_id. |
| fa_get_flight_mapA | Get a rendered map image (PNG) of a flight by fa_flight_id. Writes the PNG to disk (default: $AEROAPI_OUTPUT_DIR or cwd) and returns the path, or returns it inline as base64 when inline:true. |
| fa_get_flight_historyA | Get historical flights for an ident (designator, registration, or fa_flight_id) beyond the recent window covered by fa_get_flights. NOTE: historical data requires a Standard or Premium AeroAPI tier — the free Personal tier returns 401. |
| fa_search_flight_positionsA | Search live flight POSITIONS using the structured "{operator key value}" query language (same grammar as fa_search_flights_advanced — NOT the simplified "-key value" syntax). Returns position points rather than flight summaries. Example: {match ident UAL*} {> alt 300}. |
| fa_count_flightsA | Count flights matching a query without returning the flights themselves. Returns { count }. Uses the SIMPLIFIED "-key value" syntax (same as fa_search_flights, NOT the structured grammar of fa_search_flights_advanced). Example: -airline UAL -belowAltitude 30000. |
| fa_resolve_flightA | Resolve a flight ident (designator/registration) to its canonical form and any alternate idents. NOTE: requires a Standard or Premium AeroAPI tier — the free Personal tier returns 401. |
| fa_get_airportA | Get details for an airport by code (ICAO like KJFK, IATA like JFK, or LID). |
| fa_get_airport_flightsA | Get a flight board for an airport: all flights, or just arrivals/departures/scheduled_arrivals/scheduled_departures. |
| fa_list_airportsA | List airports known to AeroAPI (paged). Use the cursor to page through. |
| fa_get_nearby_airportsA | Find airports near a latitude/longitude within a radius (statute miles). |
| fa_get_airport_delaysA | Get current airport delays — all delayed airports, or just one when |
| fa_get_airport_weatherA | Get weather for an airport: current METAR observations, or the TAF forecast. |
| fa_get_airport_flight_countsA | Get current flight counts at an airport: { departed, enroute, scheduled_arrivals, scheduled_departures }. |
| fa_get_airport_routesA | Get the most popular routes (with aircraft types, counts, and filed altitudes) flown between an origin and destination airport. |
| fa_resolve_airportA | Resolve an airport code to its canonical AeroAPI identifier (and equivalents). NOTE: requires a Standard or Premium AeroAPI tier — the free Personal tier returns 401. |
| fa_get_operatorA | Get details for an operator (airline) by code (ICAO like UAL, or IATA like UA). |
| fa_get_operator_flightsA | Get a flight board for an operator (airline): all flights, or arrivals/departures/enroute/scheduled. |
| fa_list_operatorsA | List operators (airlines) known to AeroAPI (paged). Use the cursor to page through. |
| fa_healthcheckA | Resolves the credential the way real tools do, then makes one authenticated request to aeroapi.flightaware.com. Reports which source supplied the credential, whether aeroapi.flightaware.com accepted it, the round-trip time, and a plain-English hint distinguishing 'no credential' from 'credential rejected' from 'a aeroapi.flightaware.com-side problem'. Read-only; never returns the credential itself. Call this when a real tool fails and you want to know which hop broke. |
| fa_get_aircraft_ownerA | Get the registered owner of an aircraft by tail number / registration (e.g. N12345). |
| fa_get_scheduled_flightsA | Get airline-scheduled flights between two dates (YYYY-MM-DD), optionally filtered by origin, destination, airline, or flight number. |
| fa_foresight_searchA | Predictive flight search via AeroAPI Foresight (Boolean query language, like fa_search_flights_advanced, but predicted data). NOTE: Foresight is a premium tier — expect a 402/403 unless your subscription includes it. |
| fa_list_alertsA | List the flight alerts configured on your AeroAPI account. Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401). |
| fa_get_alertA | Get a single configured flight alert by its id. Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401). |
| fa_create_alertA | Create a flight alert on your AeroAPI account. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview of the request (method, path, body) and a confirmToken, makes NO network call, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401). |
| fa_update_alertA | Update an existing flight alert (replaces its configuration). Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview of the request (method, path, body) and a confirmToken, makes NO network call, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401). |
| fa_delete_alertA | Delete a flight alert by id. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview of the request (method, path, body) and a confirmToken, makes NO network call, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401). |
| fa_get_alerts_endpointA | Get the current delivery (webhook) endpoint configured for your AeroAPI alerts. Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401). |
| fa_set_alerts_endpointA | Set the delivery (webhook) endpoint AeroAPI POSTs alert notifications to. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview of the request (method, path, body) and a confirmToken, makes NO network call, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 34 tools
The five search-style tools (fa_search_flights, fa_search_flights_advanced, fa_search_flight_positions, fa_count_flights, fa_foresight_search) plus fa_get_flights and fa_get_flight_history genuinely overlap in purpose, and the two different query grammars are easy to mix up. Descriptions are unusually explicit about the distinctions (simplified vs structured syntax, positions vs summaries, predicted vs live), which mitigates most confusion.
Every tool uses a consistent fa_ verb_noun snake_case pattern (fa_get_*, fa_search_*, fa_list_*, fa_create_*, fa_resolve_*). Resource prefixes are applied uniformly across flights, airports, operators, and alerts, so the naming is highly predictable.
34 tools is heavy and sits in the oversized band, with a sizable alerts sub-cluster (7 tools) and a dense flight-search cluster. The underlying domain (flights, airports, operators, alerts) is genuinely large, so the count is defensible but still on the bloated side.
Coverage is comprehensive: full CRUD for alerts plus endpoint management, complete flight/airport/operator read surfaces with weather, delays, routes, counts, and search. No obvious lifecycle gaps, and limits (tier requirements, confirmation flows) are documented inline.