FlightAware MCP
Server Details
Live flight status and scheduled-route search via the official FlightAware AeroAPI.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools target clearly different intents: one looks up a specific flight's status by ident, the other searches scheduled flights across a route and date window. Descriptions explicitly contrast them (status vs. schedule search) and both note they return no prices, removing any overlap confusion.
Both names use a shared 'flightaware_' prefix and snake_case, so they read as a coherent family. Minor deviation in the trailing segment style ('flight_status' is noun-like, 'search_scheduled' is verb-like), but still predictable.
Two tools is thin for a flight-data server, though each covers a genuinely distinct query mode. A user tracking flights would likely expect a couple more entry points (airport-level or routing lookups), making the surface feel sparse.
Core lookups—single-flight status and route schedule search—are covered, but the domain has notable gaps: no airport delay/conditions, no historical or completed-flight-by-route query, and no operator/aircraft lookup. Agents can handle most status questions but will hit dead ends on broader aviation questions.
Available Tools
2 toolsflightaware_flight_statusFlightAware flight status (AeroAPI)AInspect
Live or planned status of a flight via the official FlightAware AeroAPI: times (scheduled/estimated/actual), delays, gates/terminals, aircraft, progress, cancelled/diverted flags, plus flightaware.com tracking links. Operational data, not prices. Requires the FLIGHTAWARE_API_KEY secret; each call bills AeroAPI usage.
| Name | Required | Description | Default |
|---|---|---|---|
| ident | Yes | Flight ident: IATA number (LO281), ICAO number (BAW123), or tail/registration (SP-LVD). | |
| no_cache | No | Force a fresh AeroAPI fetch and bypass this server's result cache. Default false. | |
| max_pages | No | AeroAPI pagination cap — how many result pages to fetch (each page bills separately). Default 1. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does most of it well: it discloses the upstream provider, that a FLIGHTAWARE_API_KEY secret is required, and that each call bills AeroAPI usage — cost and auth facts the agent cannot get elsewhere. It stops short of describing failure behavior (unknown ident, no-data responses) or how stale cached results may be, which matters given the no_cache escape hatch in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the outcome and ending with the two call-time constraints (secret, billing) that an agent most needs before invoking. The comma-heavy enumeration of returned fields is dense but each item earns its place; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup with no annotations and no output schema, the description covers what an agent needs: what comes back, what it costs, what credential is required. The remaining gap is the relationship to the sibling tool and any error/empty-result expectations, neither of which is addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — ident formats, no_cache cache bypass, and per-page billing for max_pages are all documented in the schema itself. The description adds no parameter-level meaning beyond the passing mention that calls bill usage, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Live or planned status of a flight") and enumerates the returned data: times, delays, gates/terminals, aircraft, progress, cancellation/diversion flags, plus tracking links. "Operational data, not prices" sharpens the boundary against fare tools. It never names or characterizes the sibling flightaware_search_scheduled, so an agent must infer the split from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by "Live or planned status of a flight" — call it when you hold an ident and want current or scheduled status. There is no explicit when-not statement and no routing to the sibling search tool, even though one exists and the two could easily be confused.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
flightaware_search_scheduledFlightAware scheduled flights on a route (AeroAPI)AInspect
Scheduled (future) flights between two airports in a date window via the official FlightAware AeroAPI /schedules endpoint: ident, operator, scheduled out/in times and aircraft type per flight. Use it to see what actually flies a route on given days; it returns no prices. Requires the FLIGHTAWARE_API_KEY secret; each call bills AeroAPI usage.
| Name | Required | Description | Default |
|---|---|---|---|
| origin | Yes | Origin airport IATA or ICAO code (e.g. WAW or EPWA). | |
| date_end | Yes | Window end date, YYYY-MM-DD (exclusive per AeroAPI semantics). | |
| no_cache | No | Force a fresh AeroAPI fetch and bypass this server's result cache. Default false. | |
| max_pages | No | AeroAPI pagination cap — how many result pages to fetch (each page bills separately). Default 1. | |
| date_start | Yes | Window start date, YYYY-MM-DD. | |
| destination | Yes | Destination airport IATA or ICAO code. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose the two behaviors an agent most needs: the FLIGHTAWARE_API_KEY secret requirement and that each call bills AeroAPI usage. It omits any mention of rate limits, error behavior, or whether the server cache affects billing (the no_cache/max_pages schema notes hint at this but the description doesn't connect it).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core identification in the first clause, then usage, then operational constraints. Three sentences, each earning its place, with no restatement of the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter tool with no output schema, the description usefully compensates by listing returned fields and by covering auth and cost, while date-exclusivity and pagination live in the schema. Minor gap: it doesn't tie max_pages/no_cache to the billing warning, so the cost-per-page implication is only discoverable in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including the non-obvious exclusive-end-date semantics and per-page billing for max_pages, so the schema does the heavy lifting. The description adds only the phrase "date window," no syntax, format, or constraint detail beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope: scheduled (future) flights between two airports in a date window, via the AeroAPI /schedules endpoint. It also enumerates the returned fields (ident, operator, scheduled out/in times, aircraft type), which pins down exactly what the tool yields. The scope is clearly disjoint from the sibling flightaware_flight_status, which is about a specific flight rather than a route timetable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use it to see what actually flies a route on given days; it returns no prices" gives a concrete use case and an explicit exclusion, steering agents away from fare lookups. However, it never names flightaware_flight_status or states the condition that selects it over this tool, so the sibling routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
flightaware_flight_status - First observed
flightaware_search_scheduled
Related MCP Connectors
FlightAware MCP — wraps FlightAware AeroAPI v4 (aeroapi.flightaware.com)
FlightStats MCP — wraps the Cirium FlightStats Flex API (api.flightstats.com/flex)
Flight tracker: your trips, any flight's live status, routes, Starlink Wi-Fi checks and fares.
Aviationstack MCP — global flight + airport + airline data
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables querying real-time flight status, historical flight tracks, airport arrivals/departures, and current positions via FlightAware AeroAPI v4.425 npmMIT
- AlicenseBqualityAmaintenanceMCP server for FlightAware AeroAPI that enables live flight tracking, airport boards, operator and aircraft lookup, schedule retrieval, and flight alert management via natural language.34159 npm1MIT
- AlicenseBqualityDmaintenanceProvides access to real-time and historical flight data from Flightradar24 API, enabling users to track live aircraft positions, query flight histories, and retrieve comprehensive aviation information including aircraft, airline, and airport details.157 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables live aircraft tracking by geographic area, individual aircraft lookup, flight route resolution, and airport arrivals/departures using OpenSky Network ADS-B data.422 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.