The historical-flights tool says up front that it needs the Basic plan, which saves the loop where a call fails and nobody knows whether it is the key, the query or the tier. Everything is paged with limit and offset, which matters because airport and airline tables are long. Running via uvx means the whole setup is a key and a config entry.
A twelve-tool server over the AviationStack API. Each tool maps to a question about flights rather than to a raw endpoint, and the reference data — airports, airlines, routes, taxes — is queryable alongside the flight data.
- flights_with_airline returns a sample of flights for a named airline
- historical_flights_by_date takes a date in YYYY-MM-DD form with optional airline, departure and arrival IATA filters — this one needs the Basic plan or above
- flight_arrival_departure_schedule returns arrivals or departures for an airport and airline; future_flights_arrival_departure_schedule does the same for a future date
- random_aircraft_type, random_airplanes_detailed_info, random_countries_detailed_info and random_cities_detailed_info return sample reference records
- list_airports, list_airlines, list_routes and list_taxes page through the reference tables with limit, offset and a search string
- Route listing filters by airline, departure and arrival IATA codes
Python 3.13 or newer and uv. The published package is aviationstack-mcp, version 1.6.0, run with `uvx aviationstack-mcp` — no clone needed. It requires an AviationStack API key in AVIATION_STACK_API_KEY; a free key covers most tools, and historical flights need the Basic plan.
One command plus a key — uvx aviationstack-mcp, then supply credentials
