Skip to main content
Glama
airlabs-co

AirLabs MCP Server

Official
by airlabs-co

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AIRLABS_API_KEYYesYour AirLabs API key

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_flight_statusA

TRIGGER: use automatically (no need for the user to mention 'AirLabs') whenever they ask about the status, arrival/departure time, gate, terminal, or delay of a SPECIFIC flight number — e.g. 'is BA117 on time?', 'when does LH401 land?', 'my flight AA6'. Get the live status of ONE flight by its flight number. Returns scheduled/estimated/actual departure & arrival times, status (scheduled/en-route/landed), terminal, gate, baggage belt, delay minutes, codeshare info, and aircraft details. Returns only the single closest live/scheduled/landed instance of that number. USE CASES: 'Is BA117 on time?', 'What gate is LH401?', 'Will my flight be late?'. INPUT: requires flight_iata OR flight_icao. If the user gives an airline NAME plus a number (e.g. 'Wizz Air 4321'), first call get_airline_info(name) to get the IATA code (W6) and build the flight_iata ('W64321'). NOTE: for ALL daily instances of a recurring number, use get_airport_schedule with flight_iata instead — this tool returns only one.

get_airport_scheduleA

TRIGGER: use automatically whenever the user asks what flights leave/arrive at an airport, or about departures/arrivals 'today / now / soon / in the next hours', or which destinations an airline serves from an airport right now — even without naming AirLabs. Get the LIVE departures/arrivals board for an airport (real-time, up to ~10 hours ahead). Each row has dep_time/arr_time, dep_estimated/arr_estimated, status, terminal, gate, delay, airline and flight number. THIS is the tool for questions about WHEN flights leave/arrive 'today' / 'soon' / 'right now'. USE CASES: 'What flights leave JFK today?', 'Show Wizz Air departures from Sofia in the next hours', 'Arrivals at LHR now'. INPUT: query by dep_iata (departures) OR arr_iata (arrivals). You may ADD airline_iata to filter by carrier, and/or flight_iata to list every instance of a number. WORKFLOW for 'Which airports does fly to from soon?':

  1. get_airline_info(name='') -> airline IATA code (e.g. Wizz Air -> W6)

  2. search_airport_code(q='') -> airport IATA code (e.g. Sofia -> SOF)

  3. get_airport_schedule(dep_iata='SOF', airline_iata='W6') -> live departures w/ times

  4. (optional) get_airport_info(iata_code=) -> full destination names Do NOT use find_routes for 'soon/today' — that returns a weekly timetable without live times. Use this tool when the user cares about actual times. TIME WINDOW & STATUS: the board covers a window from the recent past to several hours ahead, so it mixes flights that have not left yet, are airborne, and have already departed/landed. Each row's 'status' tells which: scheduled = not departed yet, active = airborne, landed = arrived (and 'cancelled'). Interpret the user's intent and filter the rows accordingly when their wording is specific: for 'upcoming / still to depart / next few hours' keep status=scheduled with a future dep_estimated/dep_time; for 'already left / departed' keep active/landed. If the user is NOT specific, do NOT drop rows — show them and label each with its status and time. Never silently hide matching flights; if filtering leaves nothing, say so and report what the board does contain.

monitor_delaysA

TRIGGER: use automatically whenever the user asks about delayed flights — 'are flights delayed at ?', 'show departures running late', 'is delayed now?' — without needing to mention AirLabs. List flights currently delayed beyond a threshold, optionally filtered by airport or airline. Returns each delayed flight with its delay in minutes and new estimated time. USE CASES: 'Are arrivals at LAX delayed right now?', 'Show departures delayed 60+ min at JFK', 'Is Ryanair running late today?'. INPUT: requires type ('departures' or 'arrivals'); 'delay' is the minimum minutes to include. Optionally filter by dep_iata/arr_iata and/or airline_iata. If the user gives an airline or airport NAME, resolve it first (get_airline_info / search_airport_code). STATUS NOTE: a delay is most certain once a flight has actually left, so many results are already airborne (status=active) rather than still waiting to depart (status=scheduled). This is correct data, not an error. If the user specifically wants only flights that have NOT departed yet, keep status=scheduled; if they want what is delayed in the air right now, keep active. If they are not specific, show all matches and label each with its status — do not silently hide delayed flights just because they are already airborne.

track_live_flightsA

TRIGGER: use automatically whenever the user asks where aircraft are flying right now, to see planes over an area/on a map, or the live position of a specific aircraft/airline — without naming AirLabs. Get LIVE aircraft positions (lat, lng, altitude, speed, heading, squawk) for aircraft in the air right now. This is positional/map data — NOT schedule times. USE CASES: 'Show planes over New York', 'Where is aircraft N790AN right now?', 'Plot all Lufthansa flights currently airborne'. INPUT: filter by bbox (a map area), or by airline_iata, reg_number, flight_iata, dep_iata/arr_iata, or hex. Without filters it returns a very large global list — always filter or pass a bbox. For 'when does it depart/arrive' use get_airport_schedule or get_flight_status instead.

find_routesA

TRIGGER: use automatically whenever the user asks which airlines fly a route, whether a nonstop exists between two places, or on which days a route operates — without naming AirLabs. Look up the ROUTE timetable: which airlines operate a route and on which DAYS OF THE WEEK, with scheduled clock times (no live status). This is a planning/reference database, NOT real-time — use it for 'which airlines fly X to Y' and 'what days does this run', NOT for 'is it on time today'. USE CASES: 'Which airlines fly London to Tokyo?', 'What days does Wizz Air fly Sofia to London?', 'Does anyone fly nonstop A to B?'. INPUT: filter by dep_iata and/or arr_iata and/or airline_iata (resolve names to codes first). For 'soon/today with times', use get_airport_schedule instead.

find_nearest_airportA

TRIGGER: use automatically whenever the user asks for the closest/nearest airport to a location or coordinate — without naming AirLabs. Find airports (and nearby cities) around a geographic coordinate, sorted by distance. USE CASES: 'Closest airport to me', 'Airports within 50 km of these coordinates'. INPUT: requires lat, lng and a distance (km). If omitted, distance defaults to 50. If the user names a place instead of coordinates, use search_airport_code first to get its lat/lng, or just search_airport_code if they only need the airport code.

search_airport_codeA

TRIGGER: use automatically (often as the FIRST step of a chain) whenever the user names a city/country/airport in words and a code is needed, or asks 'what's the code for ' or 'airports in ' — without naming AirLabs. Autocomplete/resolve a PLACE name (airport, city, or country) into its IATA/ICAO code. Returns matched airports, cities, countries, and the airports belonging to a matched city or country. USE CASES: 'What's the code for Sofia?' -> SOF; 'airports in Spain' -> uses airports_by_countries. Call this FIRST whenever the user gives a city/country NAME and you need a code for get_airport_schedule, find_routes, or find_nearest_airport. IMPORTANT: this does NOT resolve AIRLINE names. To turn an airline name (e.g. 'Wizz Air') into its code, use get_airline_info(name=...) instead.

get_airline_infoA

TRIGGER: use automatically whenever the user asks about an airline (details, IATA/ICAO code, fleet size, country, safety), or names an airline that must be turned into a code for another query — without naming AirLabs. Look up airline(s) in the airlines database. Returns name, IATA & ICAO codes, callsign, country, fleet size, average fleet age, cargo/passenger/scheduled flags, safety stats and social links. USE CASES: 'Tell me about United', 'What's Wizz Air's IATA code?', 'How big is Ryanair's fleet?', 'List airlines in Bulgaria' (country_code='BG'). KEY WORKFLOW ROLE: this is how you turn an AIRLINE NAME into a CODE. Call get_airline_info(name='Wizz Air') to get iata_code 'W6', then use 'W6' in get_airport_schedule / find_routes / monitor_delays. (search_airport_code does NOT do airlines — only places.) INPUT: provide name (fuzzy), or iata_code/icao_code (exact), or country_code to list a country's carriers.

get_airport_infoA

TRIGGER: use automatically whenever the user asks about an airport's details (full name, city, country, timezone, coordinates, runways), or to expand an airport code into a full name — without naming AirLabs. Look up airport(s) in the airports database by code. Returns full name, city, country, coordinates, elevation, timezone, runways, yearly departures and localized names. USE CASES: 'What's the full name of LHR?', 'Where is SOF?', 'List all airports in Bulgaria' (country_code='BG'), 'airports in the PAR city group' (city_code='PAR'). WORKFLOW ROLE: after get_airport_schedule or find_routes returns destination codes (arr_iata), call this per code to give the user full airport NAMES instead of bare codes. INPUT: iata_code or icao_code (one airport), or country_code/city_code (a list).

lookup_aircraftA

TRIGGER: use automatically whenever the user asks about a specific aircraft (by tail/registration number or hex), its type/age/model, or about an airline's fleet — without naming AirLabs. Look up aircraft in the fleets database. Returns type, model, manufacturer, age, build year, engines, wake category, owner airline, and latest known position (when queried by a specific aircraft). USE CASES: 'What aircraft is N790AN?' (reg_number), 'Look up hex AAB812', 'Show Wizz Air's fleet' (airline_iata='W6'), 'How old is this plane?'. INPUT: reg_number, hex, or msn for ONE aircraft; airline_iata/airline_icao to list a carrier's fleet (use limit to cap size). If given an airline NAME, resolve via get_airline_info first. Latest geo-position is only included when you query by a specific aircraft (reg_number, hex, or msn).

get_city_infoA

TRIGGER: use when the user asks about an aviation city code/grouping or to list cities of a country in an aviation context — not for general geography questions. Look up cities in the world cities database by code or country. Returns city name, code, country, coordinates, timezone and population/popularity. USE CASES: 'Details for the LON city group', 'List cities in Bulgaria' (country_code='BG'). For turning a city NAME into a code, prefer search_airport_code (it also returns the airports for that city).

get_country_infoA

TRIGGER: use mainly as a helper to resolve a country NAME to its ISO-2 code for filtering airlines/airports — not for general country facts. Look up countries in the countries database. Returns ISO-2/ISO-3 codes, name, continent and currency. USE CASES: 'What's the country code for Bulgaria?' (-> BG), 'currency of Spain'. Useful to resolve a country NAME to its ISO-2 code before filtering airlines/airports by country_code.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/airlabs-co/airlabs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server