io.github.chrischall/flightaware-mcp
Live flight tracking and aviation data via FlightAware AeroAPI (flights, airports, alerts).
Open source Open in the app JSON README (API)
About
Live flight tracking and aviation data via FlightAware AeroAPI (flights, airports, alerts).
Details
- Kind
- MCP servers
- Topic
- Maps, weather & travel
- Publisher
- chrischall
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.5.1
- Stars
- 1
- Forks
- 1
- Last push
- 2026-09-05T00:49:35Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 03:02:34
- Updated
- 2026-09-05 01:00:31
- Origin id
io.github.chrischall/flightaware-mcp
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` |
| Health | `fa_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 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