https://github.com/chrischall/flightaware-mcp
FlightAware AeroAPI MCP server — live flight tracking, airports, operators, schedules, and alerts. Built with @chrischall/mcp-utils.
https://github.com/chrischall/flightaware-mcp
aeroapi aviation claude flight-tracking flightaware mcp model-context-protocol
Last synced: 15 days ago
JSON representation
FlightAware AeroAPI MCP server — live flight tracking, airports, operators, schedules, and alerts. Built with @chrischall/mcp-utils.
- Host: GitHub
- URL: https://github.com/chrischall/flightaware-mcp
- Owner: chrischall
- License: mit
- Created: 2026-06-23T04:23:28.000Z (25 days ago)
- Default Branch: main
- Last Pushed: 2026-06-25T04:16:56.000Z (23 days ago)
- Last Synced: 2026-06-25T06:08:15.953Z (23 days ago)
- Topics: aeroapi, aviation, claude, flight-tracking, flightaware, mcp, model-context-protocol
- Language: TypeScript
- Size: 192 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# flightaware-mcp
[](https://www.npmjs.com/package/@chrischall/flightaware-mcp)
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](https://www.flightaware.com/aeroapi/portal/). The free **Personal** tier (500 calls/month) is enough to start; AeroAPI bills per query.
## Tools
| Area | Tools |
| --- | --- |
| Flights | `fa_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` |
| Airports | `fa_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 / aircraft | `fa_get_operator`, `fa_get_operator_flights`, `fa_list_operators`, `fa_get_aircraft_owner` |
| Schedules / predictive | `fa_get_scheduled_flights`, `fa_foresight_search` (premium tier) |
| Alerts | `fa_list_alerts`, `fa_get_alert`, `fa_create_alert`, `fa_update_alert`, `fa_delete_alert`, `fa_get_alerts_endpoint`, `fa_set_alerts_endpoint` |
Alert mutations are **confirm-gated**: without `confirm: true` they return a dry-run preview and make no network call.
## Configuration
| Var | Required | Purpose |
| --- | --- | --- |
| `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). |
| `AEROAPI_CACHE_TTL` | no | Seconds to cache identical **live-data** GET responses (default: 15; `0` disables). Cuts AeroAPI per-query billing. |
| `AEROAPI_STATIC_CACHE_TTL` | no | Longer TTL for **reference data** — airport/operator info, routes, ownership, canonical lookups (default: 3600; `0` disables). |
## Development
```bash
npm install
npm run build
npm 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