Skip to main content
Glama
airlabs-co

AirLabs MCP Server

Official
by airlabs-co

get_airport_schedule

Retrieve real-time departure and arrival boards for any airport. Filter by airline or flight number to see live times and status.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows (airport: up to 1000; airline: 200; free keys: 50).
_fieldsNoComma-separated fields to keep responses small, e.g. 'flight_iata,arr_iata,dep_time,dep_estimated,status'.
arr_iataNoArrival airport IATA code, e.g. 'LHR'.
arr_icaoNoArrival airport ICAO code, e.g. 'EGLL'.
dep_iataNoDeparture airport IATA code, e.g. 'SOF' (Sofia), 'JFK'.
dep_icaoNoDeparture airport ICAO code, e.g. 'LBSF'.
flight_iataNoList every instance of this flight IATA number.
flight_icaoNoList every instance of this flight ICAO number.
airline_iataNoFilter the board by airline IATA code, e.g. 'W6' (Wizz Air).
airline_icaoNoFilter the board by airline ICAO code, e.g. 'WZZ'.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description fully discloses behavioral traits: time window covers recent past to hours ahead, explains status meanings (scheduled, active, landed), and gives specific filtering guidance. Warns not to silently hide rows and how to handle ambiguous queries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is well-structured with sections (TRIGGER, USE CASES, INPUT, WORKFLOW, TIME WINDOW). Though lengthy, each section serves a purpose. Slightly verbose in places but overall efficient for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description adequately explains return fields and statuses. Covers time window, filtering, and edge cases. Complete for the tool's purpose and context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with descriptions for all 10 parameters. Description adds value by clarifying usage of dep_iata/arr_iata as main input, optional airline_iata and flight_iata, and explains limit max values per key type. This exceeds the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves live departures/arrivals board for an airport, specifying fields like dep_time, arr_time, status, etc. It distinguishes from siblings by explicitly noting that find_routes returns weekly timetable without live times.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit trigger conditions (when user asks about flights 'today/now/soon'), use cases, and a workflow example. Clearly states when NOT to use this tool (do not use find_routes for soon/today) and gives alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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