Flightaware Mcp

io.github.chrischallPublished by GitHub account chrischallv1.4.1Updated Nov 7, 2026

Live flight tracking and aviation data via FlightAware AeroAPI (flights, airports, alerts).

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

MCP server that gives an assistant live flight tracking and aviation data from FlightAware AeroAPI: flights, airports, operators, schedules and alerts.

What you can do
  • Look up and search flights, tracks, positions, routes, history and flight maps
  • Read airport details, boards, flight counts, routes, nearby airports, delays and weather
  • Look up operators, their flights and aircraft ownership
  • Fetch scheduled flights and predictive searches
  • Create, update, list and delete flight alerts and configure the alerts endpoint
  • Run a health check that reports whether the API key resolved and was accepted
When to use it
Useful when you want an assistant to answer questions about a specific flight's status or position, check an airport's arrivals and delays, or set up alerts that notify you about flight events.
Requirements
Runs locally over stdio via npx (Node.js). Requires a FlightAware AeroAPI key in AEROAPI_API_KEY, sent as the x-apikey header. Optional settings: AEROAPI_CACHE_TTL, AEROAPI_STATIC_CACHE_TTL, AEROAPI_OUTPUT_DIR, and MCP_CONFIRM_MODE, MCP_CONFIRM_ELICITATION, MCP_CONFIRM_TTL_SECONDS, MCP_CONFIRM_SECRET. Network access to AeroAPI is needed.
Before you install
AeroAPI bills per query and every request counts against your subscription quota; caching settings reduce repeat charges. Alert mutations (create, update, delete, set endpoint) write to your AeroAPI account and require confirmation, which on clients without prompts means a preview plus a one-time token. Flight-map PNGs are written to a configured output directory. The README states the project is AI-developed and used at your own discretion.

Installation

In SourceWeft

  1. Open Flightaware Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

flightaware-mcp

[npm]

MCP server for FlightAware AeroAPI (v4) — live flight tracking and aviation data for Claude. Track flights, read airport boards, look up operators and aircraft, fetch scheduled flights, and manage flight alerts, all over stdio.

Developed and maintained by AI (Claude Code). Use at your own discretion.

Quick start

json
{  "mcpServers": {    "flightaware": {      "command": "npx",      "args": ["-y", "@chrischall/flightaware-mcp"],      "env": { "AEROAPI_API_KEY": "your-aeroapi-key-here" }    }  }}

Get a key at flightaware.com/aeroapi/portal. The free Personal tier (500 calls/month) is enough to start; AeroAPI bills per query.

Tools

AreaTools
Flightsfa_get_flights, fa_search_flights, fa_search_flights_advanced, fa_search_flight_positions, fa_count_flights, fa_get_flight_track, fa_get_flight_position, fa_get_flight_route, fa_get_flight_map, fa_get_flight_history, fa_resolve_flight
Airportsfa_get_airport, fa_get_airport_flights, fa_get_airport_flight_counts, fa_get_airport_routes, fa_list_airports, fa_get_nearby_airports, fa_get_airport_delays, fa_get_airport_weather, fa_resolve_airport
Operators / aircraftfa_get_operator, fa_get_operator_flights, fa_list_operators, fa_get_aircraft_owner
Schedules / predictivefa_get_scheduled_flights, fa_foresight_search (premium tier)
Alertsfa_list_alerts, fa_get_alert, fa_create_alert, fa_update_alert, fa_delete_alert, fa_get_alerts_endpoint, fa_set_alerts_endpoint
Healthfa_healthcheck — is this connector working? Reports whether AEROAPI_API_KEY resolved, whether AeroAPI accepted it, and what to fix. Uses a static-cached lookup, so repeat checks are not re-billed.

Alert mutations (fa_create_alert, fa_update_alert, fa_delete_alert, fa_set_alerts_endpoint) ask you to confirm before they write — see Confirmations.

Confirmations

Every alert mutation asks for your confirmation before it touches your AeroAPI account. A client that can show a confirmation prompt (Claude Code) shows one. On a client that cannot (claude.ai, Claude Desktop), the first call makes no network call and returns a preview of the exact request (method, path, body) plus a confirmToken; only a repeat call with that token sends it. A token acts once, expires, and is refused if the request changed since the preview.

variabledefault
MCP_CONFIRM_MODEask-userWhat a write does on a client that cannot show a confirmation prompt (claude.ai, Claude Desktop). ask-user: two steps — the first call does nothing and returns a preview plus a token, and the model must get your approval in chat before calling again with it. auto: the same two steps, but the model may use the token after reviewing the preview itself. refuse: writes are refused on such clients. A client that can show prompts (Claude Code) always gets the real prompt, unless MCP_CONFIRM_ELICITATION=off. An unrecognised value is treated as refuse.
MCP_CONFIRM_ELICITATIONonoff never sends a confirmation prompt, so every client gets the MCP_CONFIRM_MODE path. Set it for a client that declares it can show prompts but never does (the gated call hangs — opencode 2.0.x). Any other value stays on, with a stderr warning.
MCP_CONFIRM_TTL_SECONDS600How long a token stays valid.
MCP_CONFIRM_SECRETrandom per processSigning key; set it only if tokens must survive a server restart.

Configuration

VarRequiredPurpose
AEROAPI_API_KEYyesYour AeroAPI key (sent as the x-apikey header).
AEROAPI_OUTPUT_DIRnoDefault directory for flight-map PNGs (default: ~/Downloads/flightaware-mcp). A per-call output_dir must be inside this directory (or inside ~/Downloads/flightaware-mcp when it is unset).
AEROAPI_CACHE_TTLnoSeconds to cache identical live-data GET responses (default: 15; 0 disables). Cuts AeroAPI per-query billing.
AEROAPI_STATIC_CACHE_TTLnoLonger TTL for reference data — airport/operator info, routes, ownership, canonical lookups (default: 3600; 0 disables).

Upgrading

next release

  • fa_get_flight_map on a hosted server (mcp-host, i.e. MCP_DATA_DIR or MCP_BLOB_BASE_URL set) no longer writes the PNG to the server's disk, where the caller could never open it. It returns the map as an inline image when it fits (10 MiB), otherwise a signed, expiring download link: { "via": "link", "url": "…", "expiresAt": "…", "note"?: "…" } in place of { "map": "<path>" }. inline:false or an output_dir there also yields a link (with a note). A hosted server with no blob store refuses an over-cap map with a too_large error.
  • Local installs: the default is unchanged ({ "map": "<path>" }). inline:true is now capped at 10 MiB; a bigger map is saved to disk and returned as { "map": "<path>", "note": "…" } instead of an oversized inline image.

Development

bash
npm installnpm run buildnpm test

Every request rides your own AeroAPI key and counts against your subscription quota. See docs/FLIGHTAWARE-API.md for the pinned endpoint surface.

License

MIT

Source: README.md at commit 6a6c92a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

15
  1. v1.4.1LatestNov 7, 2026
  2. v1.4.0Nov 4, 2026
  3. v1.3.2Oct 16, 2026
  4. v1.3.1Oct 10, 2026
  5. v1.3.0Oct 7, 2026
  6. v1.2.4Oct 5, 2026
  7. v1.2.3Oct 3, 2026
  8. v1.2.2Sep 30, 2026
  9. v1.2.1Sep 25, 2026
  10. v1.2.0Sep 24, 2026
  11. v1.1.2Sep 23, 2026
  12. v1.1.1Sep 23, 2026
  13. v1.1.0Sep 20, 2026
  14. v1.0.0Sep 18, 2026
  15. v0.5.3Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts