{"name":"io.github.chrischall/flightaware-mcp","slug":"chrischall-flightaware-mcp","title":null,"description":"Live flight tracking and aviation data via FlightAware AeroAPI (flights, airports, alerts).","url":"https://mcp.market/server/chrischall-flightaware-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"maps","tags":["maps"],"presence":{"score":29,"stars":1,"forks":1,"downloads_week":207,"last_push_at":"2026-09-17T23:33:05.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/chrischall/flightaware-mcp","website":null,"version":"1.0.0","remotes":[],"packages":[{"registryType":"npm","identifier":"@chrischall/flightaware-mcp","version":"1.0.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your FlightAware AeroAPI key (flightaware.com/aeroapi/portal)","isRequired":true,"format":"string","isSecret":true,"name":"AEROAPI_API_KEY"},{"description":"Default directory for flight-map PNGs (default: current working directory)","format":"string","name":"AEROAPI_OUTPUT_DIR"},{"description":"Seconds to cache identical live-data GET responses (default 15; 0 disables)","format":"string","name":"AEROAPI_CACHE_TTL"},{"description":"Seconds to cache reference data — airports, operators, routes, ownership (default 3600; 0 disables)","format":"string","name":"AEROAPI_STATIC_CACHE_TTL"}]}],"tools":[{"name":"fa_count_flights","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_create_alert","description":"Create a flight alert on your AeroAPI account. Without confirm:true this returns a dry-run preview of the request and makes NO network call; with confirm:true it creates the alert.","write_action":true,"price_micros":0,"input_schema":null},{"name":"fa_delete_alert","description":"Delete a flight alert by id. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it deletes the alert.","write_action":true,"price_micros":0,"input_schema":null},{"name":"fa_foresight_search","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_aircraft_owner","description":"Get the registered owner of an aircraft by tail number / registration (e.g. N12345).","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_airport","description":"Get details for an airport by code (ICAO like KJFK, IATA like JFK, or LID).","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_airport_delays","description":"Get current airport delays — all delayed airports, or just one when `id` is given.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_airport_flight_counts","description":"Get current flight counts at an airport: { departed, enroute, scheduled_arrivals, scheduled_departures }.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_airport_flights","description":"Get a flight board for an airport: all flights, or just arrivals/departures/scheduled_arrivals/scheduled_departures.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_airport_routes","description":"Get the most popular routes (with aircraft types, counts, and filed altitudes) flown between an origin and destination airport.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_airport_weather","description":"Get weather for an airport: current METAR observations, or the TAF forecast.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_alert","description":"Get a single configured flight alert by its id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_alerts_endpoint","description":"Get the current delivery (webhook) endpoint configured for your AeroAPI alerts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_flight_history","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_flight_map","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_flight_position","description":"Get the most recent reported position for an in-air flight by fa_flight_id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_flight_route","description":"Get the decoded route (fixes/waypoints) for a specific flight by fa_flight_id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_flight_track","description":"Get the position track (breadcrumb log) for a specific flight by fa_flight_id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_flights","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_nearby_airports","description":"Find airports near a latitude/longitude within a radius (statute miles).","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_operator","description":"Get details for an operator (airline) by code (ICAO like UAL, or IATA like UA).","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_operator_flights","description":"Get a flight board for an operator (airline): all flights, or arrivals/departures/enroute/scheduled.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_get_scheduled_flights","description":"Get airline-scheduled flights between two dates (YYYY-MM-DD), optionally filtered by origin, destination, airline, or flight number.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_list_airports","description":"List airports known to AeroAPI (paged). Use the cursor to page through.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_list_alerts","description":"List the flight alerts configured on your AeroAPI account.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_list_operators","description":"List operators (airlines) known to AeroAPI (paged). Use the cursor to page through.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_resolve_airport","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_resolve_flight","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_search_flight_positions","description":"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}.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_search_flights","description":"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","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_search_flights_advanced","description":"Search flights using AeroAPI's full structured query language (more expressive than fa_search_flights). The `query` is a space-separated list of {operator key value} predicates, e.g. \"{match ident UAL*} {> alt 300} {= dest KLAX}\".","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_set_alerts_endpoint","description":"Set the delivery (webhook) endpoint AeroAPI POSTs alert notifications to. Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it applies the change.","write_action":false,"price_micros":0,"input_schema":null},{"name":"fa_update_alert","description":"Update an existing flight alert (replaces its configuration). Without confirm:true this returns a dry-run preview and makes NO network call; with confirm:true it applies the update.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-19T19:22:04.504Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:22:04.471Z","components":{"code":{"score":25,"max":25,"notes":["18 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 2 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@chrischall/flightaware-mcp","version":"1.0.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":4,"publishedAt":"2026-09-17T23:35:09.839Z","repositoryUrl":"git+https://github.com/chrischall/flightaware-mcp.git","weeklyDownloads":207}],"repo":{"found":true,"owner":"chrischall","repo":"flightaware-mcp","archived":false,"pushedAt":"2026-09-17T23:33:05Z","stars":1,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/10564245?v=4","ownerCreatedAt":"2015-01-16T16:58:09Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":1,"forks":1,"downloadsWeek":207,"license":"MIT","lastPushAt":"2026-09-17T23:33:05.000Z","score":29}}}},"grade_history":[{"kind":"downgrade","fromGrade":"A","toGrade":"B","reason":"score 83","createdAt":"2026-09-19T00:28:53.876Z"}],"reviews":[]}