Skip to main content
Glama

flightaware-mcp

npm

MCP server for FlightAware AeroAPI (v4) — live flight tracking and aviation data for Claude. Track flights, read airport boards, look up operators and aircraft, fetch scheduled flights, and manage flight alerts, all over stdio.

Developed and maintained by AI (Claude Code). Use at your own discretion.

Quick start

{
  "mcpServers": {
    "flightaware": {
      "command": "npx",
      "args": ["-y", "@chrischall/flightaware-mcp"],
      "env": { "AEROAPI_API_KEY": "your-aeroapi-key-here" }
    }
  }
}

Get a key at flightaware.com/aeroapi/portal. The free Personal tier (500 calls/month) is enough to start; AeroAPI bills per query.

Related MCP server: FlightRadar MCP Server

Tools

Area

Tools

Flights

fa_get_flights, fa_search_flights, fa_search_flights_advanced, fa_search_flight_positions, fa_count_flights, fa_get_flight_track, fa_get_flight_position, fa_get_flight_route, fa_get_flight_map, fa_get_flight_history, fa_resolve_flight

Airports

fa_get_airport, fa_get_airport_flights, fa_get_airport_flight_counts, fa_get_airport_routes, fa_list_airports, fa_get_nearby_airports, fa_get_airport_delays, fa_get_airport_weather, fa_resolve_airport

Operators / aircraft

fa_get_operator, fa_get_operator_flights, fa_list_operators, fa_get_aircraft_owner

Schedules / predictive

fa_get_scheduled_flights, fa_foresight_search (premium tier)

Alerts

fa_list_alerts, fa_get_alert, fa_create_alert, fa_update_alert, fa_delete_alert, fa_get_alerts_endpoint, fa_set_alerts_endpoint

Health

fa_healthcheck — is this connector working? Reports whether AEROAPI_API_KEY resolved, whether AeroAPI accepted it, and what to fix. Uses a static-cached lookup, so repeat checks are not re-billed.

Alert mutations are confirm-gated: without confirm: true they return a dry-run preview and make no network call.

Configuration

Var

Required

Purpose

AEROAPI_API_KEY

yes

Your AeroAPI key (sent as the x-apikey header).

AEROAPI_OUTPUT_DIR

no

Default directory for flight-map PNGs (default: cwd).

AEROAPI_CACHE_TTL

no

Seconds to cache identical live-data GET responses (default: 15; 0 disables). Cuts AeroAPI per-query billing.

AEROAPI_STATIC_CACHE_TTL

no

Longer TTL for reference data — airport/operator info, routes, ownership, canonical lookups (default: 3600; 0 disables).

Development

npm install
npm run build
npm test

Every request rides your own AeroAPI key and counts against your subscription quota. See docs/FLIGHTAWARE-API.md for the pinned endpoint surface.

License

MIT

Available Tools

34 tools
fa_count_flightsA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSimplified "-key value" search string (same syntax as fa_search_flights), e.g. -airline UAL

TDQS

A4.5/5.0
Behavior4/5

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

Discloses that the tool only returns a count, not flights, and explains query syntax. Annotations already indicate readOnly; description adds return type and usage pattern.

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

Conciseness5/5

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

Two sentences plus example, front-loaded with purpose, no unnecessary words.

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 tool simplicity (one param, no output schema, readOnly annotations), the description fully covers functionality, syntax, and return value.

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?

Schema covers parameter with description, but description provides concrete example and clarifies the syntax is same as fa_search_flights, adding value beyond schema.

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 uses specific verb 'count' and resource 'flights', clearly states it returns a count without returning flights, and distinguishes from search tools by syntax reference.

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

Usage Guidelines4/5

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

Explicitly mentions the syntax (simplified -key value) and contrasts with fa_search_flights_advanced, giving guidance on when to use this tool. Could be improved by stating 'when only count needed'.

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

fa_create_alertA

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. Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401).

ParametersJSON Schema
NameRequiredDescriptionDefault
etaNoNotify on ETA changes
holdNoNotify on hold
filedNoNotify when a flight plan is filed
identNoFlight ident / designator to watch (e.g. UAL123)
originNoOrigin airport code filter
arrivalNoNotify on arrival
confirmNoMust be true to proceed. Without this, the tool returns a preview.
divertedNoNotify on diversion
end_dateNoISO-8601 date the alert expires
cancelledNoNotify on cancellation
departureNoNotify on departure
max_weeklyNoCap on notifications per week
start_dateNoISO-8601 date the alert becomes active
destinationNoDestination airport code filter
aircraft_typeNoICAO aircraft type filter (e.g. B738)

TDQS

A4.1/5.0
Behavior4/5

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

Annotations indicate a non-read-only, mutable operation. The description adds critical behavioral details: the dry-run preview when confirm is false, the actual creation when true, and the tier restriction. This goes beyond the schema and annotations, though it doesn't describe rate limits or error states, which would be nice.

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

Conciseness5/5

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

The description is two sentences long, with the main action stated first. Every word adds value: the verb, the resource, the confirm behavior, and the tier requirement. No fluff, perfectly front-loaded.

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

Completeness3/5

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

For a tool with 15 parameters and no output schema, the description covers the core workflow and a critical authorization note. However, it does not describe the preview format or what the API returns on successful creation. It also lacks details on default behaviors (e.g., what happens if no filters are set). Adequate but could be more complete given the complexity.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already describes all 15 parameters. The description adds value only for the confirm parameter by explaining the dry-run behavior. For other parameters, the description adds no extra meaning beyond the schema descriptions. Hence a baseline 3 is appropriate.

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?

The description states the exact action: 'Create a flight alert on your AeroAPI account.' It clearly differentiates from sibling tools like fa_update_alert and fa_delete_alert by focusing on creation. Additionally, it explains the dry-run mode, making the tool's core function unmistakable.

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

Usage Guidelines4/5

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

The description explicitly explains the confirm parameter's role (dry-run vs. actual creation) and warns about the required AeroAPI tier. It provides clear context on when to use each mode. Though it doesn't mention alternatives (e.g., updating versus creating), the sibling list makes that implicit, so the guidance is strong but not perfect.

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

fa_delete_alertA
Idempotent

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. Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAlert id to delete
confirmNoMust be true to proceed. Without this, the tool returns a preview.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond annotations (idempotent, non-read-only), the description discloses the dry-run behavior (no network call without confirm:true) and tier requirement, providing critical behavioral context that annotations alone do not cover.

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

Conciseness5/5

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

The description is three concise sentences, front-loaded with the core purpose. Every sentence contributes essential information without redundancy or fluff.

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

Completeness4/5

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

The description covers the tool's core functionality, dry-run mode, and tier requirements. Without an output schema, it could detail what the preview returns, but overall it is sufficiently complete for a delete operation with conditional behavior.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The description reinforces confirm behavior but adds little new meaning beyond what the schema already provides, meeting the baseline for high coverage.

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?

The description clearly states 'Delete a flight alert by id,' specifying the verb (delete) and resource (flight alert by id). Among siblings, there are create, update, get, and list alerts, making this tool's delete function distinct and unambiguous.

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

Usage Guidelines4/5

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

The description explains the confirm parameter's role in triggering a dry-run vs actual deletion, and specifies the required AeroAPI tier (Standard or Premium) with a 401 error for free tier. It gives clear context for using the tool but does not explicitly compare to siblings like fa_create_alert or fa_update_alert.

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

fa_get_aircraft_ownerA
Read-only

Get the registered owner of an aircraft by tail number / registration (e.g. N12345).

ParametersJSON Schema
NameRequiredDescriptionDefault
identYesAircraft registration / tail number (e.g. N12345)

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to restate them. It adds no additional behavioral context (e.g., data freshness, rate limits), but does not contradict the annotations.

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

Conciseness5/5

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

The description is a single, well-structured sentence that conveys the essential information without any unnecessary words. It is appropriately front-loaded and concise.

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?

For a simple tool with one parameter, no output schema, and read-only semantics, the description is fully complete. It provides all necessary information for an agent to use the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, and the description includes the same example 'N12345' as the schema. Beyond echoing the parameter's purpose, it adds no new semantic value, meeting the baseline expectation.

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?

The description clearly states the action ('Get'), the resource ('registered owner of an aircraft'), and the input method ('by tail number / registration'), with a concrete example. It effectively distinguishes itself from sibling tools like fa_get_operator.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for different lookups, the absence of usage context or exclusions leaves the agent without direction.

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

fa_get_airportA
Read-only

Get details for an airport by code (ICAO like KJFK, IATA like JFK, or LID).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAirport code (ICAO/IATA/LID)

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already provide readOnlyHint (true) and openWorldHint (true), so the description's job is lighter. It adds the code formats, but does not disclose additional behaviors like data freshness or return structure. Adequate for a simple read operation.

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

Conciseness5/5

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

Single, front-loaded sentence that is concise and includes all necessary information. No wasted words.

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 the tool's simplicity (1 required parameter, no output schema, and clear annotations), the description is complete. It tells the agent exactly what to input and what to expect.

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?

Schema coverage is 100% with a regex pattern, but the description adds semantic meaning by specifying 'airport code (ICAO/IATA/LID)' with examples (KJFK, JFK), which helps the agent understand the parameter's intent beyond the pattern.

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?

The description clearly states the verb 'Get', the resource 'airport details', and the input format (ICAO, IATA, or LID codes). It distinguishes from sibling tools like fa_list_airports and fa_get_airport_delays.

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

Usage Guidelines4/5

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

The description specifies when to use (when you need airport details by code) and accepts multiple code formats. However, it does not explicitly state when not to use or provide alternatives, but the context is clear enough.

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

fa_get_airport_delaysA
Read-only

Get current airport delays — all delayed airports, or just one when id is given.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoAirport code to scope to a single airport (omit for all delays)
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description's value is limited. It adds the behavioral trait 'current' implying real-time data, but does not disclose other traits like latency, rate limits, or response size. It does not contradict annotations.

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

Conciseness5/5

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

The description is highly concise at one sentence with a clear front-loaded purpose, no redundancy, and efficient use of words.

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

Completeness2/5

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

Given the absence of an output schema and the tool's three parameters (including pagination), the description is insufficiently complete. It does not explain the return format, cursor usage, or max_pages behavior, leaving the agent underinformed for correct invocation.

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?

Schema coverage is 100% with all parameters described, so baseline is 3. The description adds extra value by explicitly highlighting the key 'id' parameter usage ('when `id` is given'), though it omits mention of 'cursor' and 'max_pages'.

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?

The description clearly states the tool retrieves 'current airport delays' and distinguishes two modes: all delays or a single airport when 'id' is provided. This specificity differentiates it from sibling tools like fa_get_airport (general info) or fa_get_airport_weather.

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

Usage Guidelines3/5

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

The description offers a basic usage condition ('or just one when `id` is given') but provides no explicit guidance on when not to use this tool or alternatives among the many sibling tools. The usage context is implied but not fully articulated.

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

fa_get_airport_flight_countsA
Read-only

Get current flight counts at an airport: { departed, enroute, scheduled_arrivals, scheduled_departures }.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAirport code (ICAO/IATA/LID)

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. The description adds the specific fields returned, which is useful but does not discuss behavioral traits like data freshness or authorization needs. No contradiction.

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

Conciseness5/5

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

One sentence, concise, lists the return fields. No wasted words. Front-loaded purpose.

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 a simple parameter and no output schema, the description fully explains what the tool returns in a structured format. Annotations cover safety. Complete for an agent to use correctly.

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

Parameters3/5

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

Schema coverage is 100%, with the parameter 'id' described as 'Airport code (ICAO/IATA/LID)'. The description does not add extra meaning beyond the schema, so the baseline of 3 is appropriate.

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?

The description clearly states the verb 'Get', the resource 'flight counts at an airport', and lists the specific fields returned: departed, enroute, scheduled_arrivals, scheduled_departures. This distinguishes it from siblings like fa_get_airport_flights (detailed flights) or fa_get_airport (airport info).

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

Usage Guidelines4/5

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

The description implies usage for aggregate counts vs. detailed flight data, but does not explicitly state when to use this tool over alternatives or when not to. It's clear enough for an agent to infer.

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

fa_get_airport_flightsA
Read-only

Get a flight board for an airport: all flights, or just arrivals/departures/scheduled_arrivals/scheduled_departures.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAirport code (ICAO/IATA/LID)
endNoISO-8601 end of the time window
typeNoRestrict to airline or GA traffic
boardNoWhich board to fetch (default: all)all
startNoISO-8601 start of the time window
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds no behavioral details beyond the parameter descriptions, such as data freshness or pagination behavior, which are partially covered by parameters. No contradiction.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the purpose. Every word earns its place.

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

Completeness3/5

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

With 7 parameters and no output schema, the description could be more complete about return values (e.g., listing flight details). However, parameter descriptions cover time window and pagination, making it adequate for a read-only list tool.

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

Parameters3/5

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

Schema description coverage is 100%, so each parameter is already documented. The description adds minimal value beyond what the schema provides, e.g., explaining the board enum which is also in the schema.

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?

The description clearly states the verb 'Get' and resource 'flight board for an airport', and lists specific board types. This distinguishes it from sibling tools like fa_get_airport_flight_counts and fa_get_flights.

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

Usage Guidelines3/5

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

The description provides clear context on what boards can be fetched but does not explicitly mention when to use this tool versus alternatives, nor any when-not-to scenarios.

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

fa_get_airport_routesB
Read-only

Get the most popular routes (with aircraft types, counts, and filed altitudes) flown between an origin and destination airport.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOrigin airport code (ICAO/IATA/LID)
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.
destinationYesDestination airport code (ICAO/IATA/LID)

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and data volatility. The description adds that routes include aircraft types, counts, and altitudes, but omits paging behavior, response size limits, or data freshness.

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?

Single sentence with no redundancy. However, it could be slightly expanded to include key return elements without becoming verbose.

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

Completeness2/5

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

The tool has 4 parameters, paging (cursor, max_pages), and no output schema. The description does not explain how paging works, what the response structure is, or how many routes are returned. This is insufficient for an agent to use correctly without additional inference.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds no extra parameter meaning beyond what the schema already provides. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool gets popular routes with aircraft types, counts, and filed altitudes between an origin and destination. It distinguishes from siblings like fa_get_airport_flights or fa_get_flight_route, though not explicitly.

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

Usage Guidelines2/5

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

No guidance on when to use this vs alternatives. Does not mention when not to use, prerequisites, or context where another tool might be better.

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

fa_get_airport_weatherA
Read-only

Get weather for an airport: current METAR observations, or the TAF forecast.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAirport code (ICAO/IATA/LID)
cursorNoOpaque paging cursor from a previous response's links.next
reportNoobservations (METAR) or forecast (TAF)observations
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.

TDQS

A3.5/5.0
Behavior2/5

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

Annotations already declare readOnlyHint and openWorldHint. The description adds only that it fetches weather, which aligns but does not disclose additional behaviors like pagination (cursor, max_pages) or response format. With annotations present, the bar is higher for adding context; the description adds minimal behavioral insight.

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

Conciseness5/5

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

One sentence, zero waste. Efficiently captures the tool's purpose without unnecessary detail.

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

Completeness3/5

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

Given the absence of an output schema, the description fails to clarify the response structure or pagination behavior. It mentions data types but lacks completeness for a 4-parameter tool. Adequate but has clear gaps.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter documented. The description adds little beyond the schema; it only reiterates the report enum values ('observations' vs 'forecast'). Baseline is 3 for high coverage, and no substantial extra meaning is provided.

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?

The description clearly states the tool gets weather for an airport, specifying both current METAR observations and TAF forecast. It uses specific verbs and resources ('Get weather', 'METAR', 'TAF'), and distinguishes from sibling tools like fa_get_airport and fa_get_airport_delays.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. While the description implies it is for weather data, it does not mention when to choose observations vs forecast, or when to use sibling tools like fa_get_airport_delays.

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

fa_get_alertA
Read-only

Get a single configured flight alert by its id. Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAlert id

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description adds tier-based behavior (401 for free tier) as extra context. No side effects or other behaviors need disclosure.

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

Conciseness5/5

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

Two sentences: first states purpose, second adds crucial precondition. No unnecessary words, and the key information is front-loaded.

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?

Tool is simple with one parameter, no output schema, and annotations clear. Description covers purpose and a key behavioral constraint (tier requirement), making it complete for the agent to use correctly.

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

Parameters3/5

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

Schema coverage is 100% with the parameter 'id' having a description 'Alert id'. Description does not add any additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.

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 'Get a single configured flight alert by its id', specifying verb, resource, and retrieval method. This distinguishes it from sibling tools like fa_list_alerts (list all) and fa_create_alert (create).

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

Usage Guidelines4/5

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

Explicitly states tier requirement and the 401 error for free tier, providing a key precondition. While it does not explicitly list when-to-use vs alternatives, the specificity implies use when you have an alert id and want details.

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

fa_get_alerts_endpointA
Read-only

Get the current delivery (webhook) endpoint configured for your AeroAPI alerts. Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true. Description adds valuable behavioral context: the tier requirement and the 401 error for free tier. This goes beyond annotations. No contradictions.

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

Conciseness5/5

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

Two sentences, zero waste. Front-loaded with verb and resource. Every sentence provides actionable information.

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

Completeness3/5

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

No output schema is provided, and the description does not specify the return format (e.g., URL string in JSON). For a simple read tool, this is a minor gap. Annotations are rich, but return format would improve completeness.

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 zero parameters with 100% coverage, so description adds no parameter info. Baseline score of 4 applies for no-param tools.

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 it retrieves the current delivery endpoint for AeroAPI alerts, distinguishing it from sibling tools like fa_set_alerts_endpoint (which sets) and fa_get_alert (which gets a specific alert). Verb 'Get' and resource 'delivery endpoint' are specific.

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

Usage Guidelines4/5

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

Description specifies when to use (to get endpoint) and includes a condition (requires Standard/Premium tier, free tier returns 401). However, it does not explicitly contrast with sibling tools like fa_set_alerts_endpoint for setting the endpoint, but the context is sufficient for an AI agent.

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

fa_get_flight_historyA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoISO-8601 end of the time window
identYesFlight designator, registration, or fa_flight_id
startNoISO-8601 start of the time window
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.
ident_typeNoDisambiguate how `ident` is interpreted

TDQS

A4.4/5.0
Behavior4/5

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

Beyond annotations (readOnlyHint, openWorldHint), the description adds critical context about API tier requirements and the scope of data (historical beyond recent window). Does not cover pagination but annotations already signal safety.

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

Conciseness5/5

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

Two sentences: first defines the core action, second provides a crucial usage note. No wasted words, highly efficient.

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

Completeness4/5

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

Covers purpose, scope distinction, and tier requirement. With 6 parameters and no output schema, the description is sufficient but could briefly mention pagination or cursor usage to be more complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific meaning beyond what the schema already provides; it only reiterates the ident types.

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?

The description clearly states the verb 'Get' and resource 'historical flights', and explicitly distinguishes itself from the sibling tool fa_get_flights by noting it covers data 'beyond the recent window'.

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 guidance on when to use (for historical data beyond recent window) and when not (requires Standard or Premium tier, otherwise returns 401). Implicitly suggests using fa_get_flights for recent flights.

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

fa_get_flight_mapA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesfa_flight_id of the flight
widthNoImage width in pixels
heightNoImage height in pixels
inlineNoReturn the PNG inline as base64 instead of writing to disk
output_dirNoDirectory to write the PNG to (default: $AEROAPI_OUTPUT_DIR or cwd)
show_data_blockNoOverlay the flight data block on the map

TDQS

A4.1/5.0
Behavior4/5

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

Annotations indicate readOnlyHint and openWorldHint. The description adds important behavioral context: writes PNG to disk with configurable directory, or returns inline base64. It does not contradict annotations since the write is client-side.

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?

Two sentences efficiently convey output, behavior, and default directory. Could be slightly more concise, but no wasted words.

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

Completeness4/5

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

No output schema, but description explains return format (path or base64) and mentions PNG. It lacks error handling details but is adequate for a straightforward image retrieval tool with 6 parameters.

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?

Schema covers all 6 parameters with descriptions. The description adds value by explaining the output type (PNG), return mechanism (path or base64), and default output directory logic, complementing the schema.

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?

The description clearly states it retrieves a rendered map image (PNG) for a flight using fa_flight_id. This specific verb-resource combo distinguishes it from sibling tools like fa_get_flight_position or fa_get_flight_route.

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

Usage Guidelines3/5

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

The description explains output modes (disk vs inline base64) but does not explicitly state when to use this tool over alternatives like fa_get_flight_track for raw data. Usage context is implied but not exclusionary.

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

fa_get_flight_positionA
Read-only

Get the most recent reported position for an in-air flight by fa_flight_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesfa_flight_id of the flight

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already indicate safe read-only behavior (readOnlyHint: true). The description adds that it returns the 'most recent reported position' for in-air flights, but does not mention behavior when flight is not airborne or no position is available. With strong annotations, the description adds moderate value.

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

Conciseness5/5

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

Single sentence, no wasted words. Front-loaded with the essential purpose.

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

Completeness4/5

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

For a simple read-only tool with one parameter and no output schema, the description is sufficient. It could mention the return format, but annotations compensate for safety.

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?

Schema description covers 100% of parameters, explaining that 'id' is the fa_flight_id. The description repeats this, adding no new meaning but consistently using the same terminology.

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?

The description specifies the verb 'Get' and the resource 'most recent reported position for an in-air flight by fa_flight_id', clearly differentiating it from siblings like fa_get_flight_track, fa_get_flight_history, etc.

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

Usage Guidelines4/5

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

The description implies when to use (current position of an in-air flight) but does not explicitly state when not to use or provide alternatives. However, the purpose is clear enough for an agent to infer usage.

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

fa_get_flight_routeA
Read-only

Get the decoded route (fixes/waypoints) for a specific flight by fa_flight_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesfa_flight_id of the flight

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already provide readOnlyHint and openWorldHint. The description adds that the route is 'decoded', implying processed data, but does not disclose other behavioral traits like data source, update frequency, or limitations. Minimal additional transparency beyond annotations.

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

Conciseness5/5

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

The description is a single concise sentence with no fluff. It front-loads the action and resource, making it efficient for an AI agent to parse.

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

Completeness4/5

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

Given the simple one-parameter tool and annotations covering safety, the description is mostly complete. However, it lacks explanation of the return format or what 'decoded route' entails, which could be useful for an agent comparing with other flight tools.

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

Parameters3/5

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

Input schema has 100% description coverage for the single parameter 'id', which is already described as 'fa_flight_id of the flight'. The description repeats this without adding new semantics, so baseline 3 is appropriate.

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?

The description clearly states the verb 'Get', the resource 'decoded route (fixes/waypoints)', and the key parameter 'fa_flight_id'. It distinguishes from sibling tools that focus on alerts, searches, or other flight aspects.

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

Usage Guidelines3/5

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

The description implies usage when a flight ID is available but does not provide explicit guidance on when to use this tool versus siblings like fa_get_flight_track or fa_get_flight_history. No exclusion criteria or alternative suggestions are given.

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

fa_get_flightsA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoISO-8601 end of the time window
identYesFlight designator, registration, or fa_flight_id
startNoISO-8601 start of the time window
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.
ident_typeNoDisambiguate how `ident` is interpreted

TDQS

A3.7/5.0
Behavior4/5

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

Description adds 'Returns recent, current, and scheduled flights' beyond annotations (readOnlyHint, openWorldHint). Does not contradict annotations. However, missing details on pagination and rate limits.

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

Conciseness5/5

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

Single sentence, front-loaded with purpose, no extraneous wording.

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

Completeness3/5

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

Description covers core function but is vague on return format and optional time-window parameters; given no output schema, more detail would be helpful.

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

Parameters3/5

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

Schema parameter coverage is 100%, so baseline is 3. Description adds value by elaborating on 'ident' types, but repeats some schema-provided information.

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 'Get flights for an ident' and explains valid ident types (designator, registration, fa_flight_id), distinguishing it from sibling tools like fa_get_flight_history or fa_get_flight_position.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives; lacks context about exclusions or prerequisites.

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

fa_get_flight_trackA
Read-only

Get the position track (breadcrumb log) for a specific flight by fa_flight_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesfa_flight_id of the flight
include_estimated_positionsNoInclude estimated positions where actual data is missing

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint. Description adds 'breadcrumb log' implying a sequence, but does not disclose limits, pagination, or behavior when data is missing. No contradictions.

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

Conciseness5/5

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

Single sentence, no wasted words, front-loaded with purpose. Highly concise and structured.

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

Completeness3/5

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

Given schema coverage and annotations, description is adequate but lacks usage guidance and details about return format. Minimal but not insufficient.

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

Parameters3/5

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

Schema coverage is 100%, descriptions already present for both parameters. Description does not add further meaning beyond what schema provides. Baseline 3.

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?

The description clearly states the verb 'Get', the resource 'position track (breadcrumb log)', and the identifier 'fa_flight_id'. It distinguishes from siblings like fa_get_flight_position and fa_get_flight_route.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like fa_get_flight_position or fa_get_flight_route. Siblings are listed but no exclusions or context provided.

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

fa_get_nearby_airportsA
Read-only

Find airports near a latitude/longitude within a radius (statute miles).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque paging cursor from a previous response's links.next
radiusYesSearch radius in statute miles
latitudeYesLatitude in decimal degrees
only_iapNoOnly airports with a published instrument approach
longitudeYesLongitude in decimal degrees
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.

TDQS

A3.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to repeat those. However, the description adds no further behavioral details such as paging behavior, rate limits, or that the radius is in statute miles (already in schema). No contradiction with annotations.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded and contains no filler. Every word is necessary to convey the core purpose.

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

Completeness4/5

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

The tool has moderate complexity with 6 parameters and no output schema. The description adequately explains the basic operation, but it omits mention of paging (cursor parameter) and the max_pages limitation, which are relevant for a complete understanding.

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

Parameters3/5

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

All 6 parameters have descriptions in the input schema (100% coverage), so the description does not need to add parameter-level detail. It provides a high-level context but no additional meaning beyond what the schema already offers.

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?

The description specifies the verb 'Find', the resource 'airports', and the key constraints: near a latitude/longitude and within a radius in statute miles. This clearly differentiates it from sibling tools like fa_get_airport, fa_list_airports, and fa_resolve_airport.

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

Usage Guidelines3/5

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

The description implies usage when needing airports near a location, but it does not explicitly state when to use this tool versus alternatives (e.g., fa_list_airports for listing all airports or fa_get_airport for a specific airport). No guidance on when not to use it.

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

fa_get_operatorA
Read-only

Get details for an operator (airline) by code (ICAO like UAL, or IATA like UA).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOperator code (ICAO/IATA)

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. Description adds value by specifying acceptable code formats (ICAO/IATA with examples), which is beyond the annotations.

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

Conciseness5/5

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

Single sentence, no wasted words, front-loaded with action verb and resource.

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

Completeness4/5

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

Given the single parameter, annotations, and sibling tools, the description is sufficient for an agent to select and invoke the tool correctly. No output schema, but purpose is clear.

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?

Schema coverage is 100% with a clear description of the id parameter. Description adds examples (UAL, UA), providing extra clarity without redundancy.

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?

The description uses a specific verb ('Get details') and resource ('operator'), and distinguishes from siblings like fa_list_operators and fa_get_operator_flights by focusing on a single operator by code.

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

Usage Guidelines4/5

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

The description clearly states when to use (get details by code) and implies when not to (if you need list or flights, use siblings). No explicit exclusions but context is sufficient.

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

fa_get_operator_flightsA
Read-only

Get a flight board for an operator (airline): all flights, or arrivals/departures/enroute/scheduled.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOperator code (ICAO/IATA)
boardNoWhich board to fetch (default: all)all
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true. Description adds context about board types but does not mention billing (max_pages capped at 20), pagination, or any rate limits. With annotations covering safety, a 3 is appropriate.

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

Conciseness5/5

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

Single sentence, front-loaded with key information. No superfluous words.

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

Completeness4/5

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

Adequately describes purpose and board types. Missing mention of pagination (cursor) and billing implications (max_pages cap) which are in schema but not in description. For a tool with 4 params and no output schema, it is mostly complete.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description lists board values but adds no new meaning beyond the schema. No elaboration on cursor or max_pages parameters.

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 verb ('Get'), resource ('flight board for an operator'), and scope ('all flights, or arrivals/departures/enroute/scheduled'). Distinguishes from sibling tools like fa_get_operator (which gets operator details) and fa_get_flights (which likely gets flights without operator filter).

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance. While the resource name implies use for operator-specific flight boards, there are many flight-related siblings (fa_get_flights, fa_search_flights, etc.) and no comparison or exclusion of alternatives.

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

fa_get_scheduled_flightsA
Read-only

Get airline-scheduled flights between two dates (YYYY-MM-DD), optionally filtered by origin, destination, airline, or flight number.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque paging cursor from a previous response's links.next
originNoFilter by origin airport code
airlineNoFilter by operator (airline) code
date_endYesEnd date, YYYY-MM-DD
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.
date_startYesStart date, YYYY-MM-DD
destinationNoFilter by destination airport code
flight_numberNoFilter by flight number
include_codesharesNoInclude codeshare duplicates

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already indicate read-only and open world behavior. The description adds date range and filter context, but does not mention pagination behavior, cost implications (capped pages), or data freshness, slightly beyond annotations.

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

Conciseness5/5

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

Single clear sentence with no superfluous words, effectively front-loaded with key action and scope.

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

Completeness2/5

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

For a tool with 9 parameters and no output schema, the description lacks details on pagination (cursor, max_pages), return structure, or usage prerequisites, leaving significant gaps for proper invocation.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are well documented in the schema. The description adds no new parameter semantics beyond listing some filter fields, meeting baseline expectations.

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?

The description clearly states it retrieves airline-scheduled flights between two dates with optional filters, using specific verb 'Get' and resource 'scheduled flights', and distinguishes from many sibling tools that handle other flight data like tracks or history.

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

Usage Guidelines3/5

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

The description implies usage for scheduled flight lookups in a date range, but does not explicitly differentiate from similar tools like fa_get_flights or fa_search_flights, nor provides when-not-to-use guidance.

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

fa_healthcheckVerify credentials and upstream reachabilityA
Read-onlyIdempotent

Resolves the credential the way real tools do, then makes one authenticated request to aeroapi.flightaware.com. Reports which source supplied the credential, whether aeroapi.flightaware.com accepted it, the round-trip time, and a plain-English hint distinguishing 'no credential' from 'credential rejected' from 'a aeroapi.flightaware.com-side problem'. Call this when a real tool fails and you want to know which hop broke. Read-only; never returns the credential itself.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true. The description adds valuable behavioral context: it resolves credentials the same way real tools do, makes exactly one authenticated request, and reports source, acceptance, round-trip time, and a plain-English hint distinguishing failure modes. It also explicitly states 'never returns the credential itself', which is a safety-relevant behavioral trait beyond the annotations.

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

Conciseness5/5

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

The description is a single paragraph but well structured: it starts with the core action, then enumerates outputs, then gives the usage trigger, and ends with a read-only and security note. Every sentence earns its place, no fluff, and the essential information is front-loaded.

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?

For a zero-parameter diagnostic tool, the description fully covers what the tool does, what it reports, when to use it, and confirms its safety (read-only, no credential leak). No output schema exists, but the description explicitly lists the output elements (source, acceptance, RTT, hint). Nothing essential is missing for an agent to select and invoke it correctly.

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?

The tool has zero parameters, and schema coverage is 100% (vacuously). The description adds meaning by clarifying that no parameters are needed and that the tool works autonomously. This is a baseline of 4 for 0 params, and the description indeed confirms the parameterless nature without relying on schema.

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?

The description uses a specific verb 'Resolves' and 'makes one authenticated request', clearly identifying the resource (aeroapi.flightaware.com) and the overall purpose (credential and reachability verification). It distinguishes itself from sibling tools which are all flight/airport data operations. The title 'Verify credentials and upstream reachability' accurately summarizes the purpose.

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?

Explicitly states 'Call this when a real tool fails and you want to know which hop broke.' This provides a clear scenario for usage and differentiates from other tools that fetch flight data. No alternative tool is needed, but the guidance is direct. It also mentions what it does not do ('never returns the credential itself'), helping avoid misuse.

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

fa_list_airportsA
Read-only

List airports known to AeroAPI (paged). Use the cursor to page through.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already provide readOnlyHint and openWorldHint. Description adds the paging behavior and cursor usage, but does not reveal additional behavioral traits such as rate limits, data freshness, or response structure. This is adequate given the simple read-only nature.

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

Conciseness5/5

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

Two short sentences, front-loaded with purpose. Every word is functional with no redundancy. Excellent conciseness.

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

Completeness3/5

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

Description covers the core purpose and paging, but omits what data is returned (e.g., airport codes, names) since no output schema exists. For a simple list tool, this is minimally adequate but could be improved with a brief note on response content.

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

Parameters3/5

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

Schema coverage is 100%, with detailed descriptions for both cursor and max_pages (including billing context). The description only adds 'Use the cursor to page through', which does not surpass the schema's own semantics. Baseline score of 3 is appropriate.

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 'List airports known to AeroAPI' with verb 'List' and specific resource 'airports'. It distinguishes from sibling fa_get_airport by implying a collection rather than a single item. The mention of paging clarifies the scope.

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

Usage Guidelines2/5

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

Description lacks explicit guidance on when to use this tool vs alternatives like fa_get_airport (for single airport). It only provides paging instructions ('Use the cursor to page through'), but no context on selection criteria or exclusions.

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

fa_list_alertsA
Read-only

List the flight alerts configured on your AeroAPI account. Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401).

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.

TDQS

A4.2/5.0
Behavior4/5

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

Discloses tier dependency and implied read-only nature. Annotations already indicate readOnlyHint and openWorldHint. No contradictions, and adds value beyond annotations.

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

Conciseness5/5

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

Single sentence, no wasted words. Essential information is front-loaded and clear.

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

Completeness4/5

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

Adequate for a simple list tool with good schema coverage. Missing details about empty results or response format, but not critical given the lack of output schema.

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

Parameters3/5

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

Schema coverage is 100%, so description adds no extra meaning. Baseline 3 is appropriate; the description does not elaborate on parameter formats or defaults beyond what schema provides.

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?

Clearly states it lists flight alerts configured on the account. The verb 'list' and resource 'flight alerts' are specific. Distinguished from sibling tools like fa_create_alert and fa_get_alert.

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

Usage Guidelines4/5

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

Specifies tier requirements (Standard or Premium) and that free tier returns 401. Provides clear usage context, though it does not explicitly contrast with other list tools.

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

fa_list_operatorsA
Read-only

List operators (airlines) known to AeroAPI (paged). Use the cursor to page through.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating safe, read-only behavior. The description adds paging context but no additional behavioral disclosures beyond what annotations provide.

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

Conciseness5/5

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

Extremely concise: two short sentences that directly convey the tool's purpose and key usage (paging with cursor). No wasted words.

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

Completeness4/5

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

For a simple list tool with two optional parameters and no required fields, the description is adequate. It mentions paging but does not specify the return format; however, given the lack of output schema, this is acceptable.

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

Parameters3/5

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

Input schema has 100% description coverage: both 'cursor' and 'max_pages' are well-documented in the schema. The tool description does not add extra semantic value beyond the schema.

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?

The description clearly states it lists operators (airlines) known to AeroAPI, with paging support. It distinguishes itself from sibling tools like fa_get_operator (single operator) and fa_get_operator_flights (flights for an operator).

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

Usage Guidelines4/5

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

The description provides guidance on paging (cursor usage) and indicates the tool is for listing all operators. While it doesn't explicitly exclude other contexts, the purpose is clear enough for an agent to decide when to use it.

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

fa_resolve_airportA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAirport code (ICAO/IATA/LID) to canonicalize
id_typeNoDisambiguate how `id` is interpreted

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint and openWorldHint. The description adds behavior about the free tier returning 401, which is beyond annotations. No contradictions.

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

Conciseness5/5

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

Two sentences, front-loaded with the action, and the note is concise. No wasted words.

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

Completeness3/5

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

Without an output schema, the description hints at return values but does not fully describe the response. The tier requirement is included, but more detail on output would improve completeness for this simple tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the description adds minor context (e.g., output includes equivalents). This is sufficient but not exceptional beyond the schema.

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?

The description clearly states the verb 'resolve' and the resource 'airport code to canonical AeroAPI identifier', distinguishing it from sibling tools like fa_get_airport or fa_list_airports.

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

Usage Guidelines4/5

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

The description explicitly notes the AeroAPI tier requirement (Standard or Premium), informing when to use and when not. It does not mention specific alternatives among siblings, but the context is clear.

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

fa_resolve_flightA
Read-only

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
identYesFlight designator or registration to canonicalize
ident_typeNoDisambiguate how `ident` is interpreted

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate readOnlyHint and openWorldHint. The description adds the tier requirement and explains the output (canonical form, alternate idents), providing useful behavioral context beyond annotations.

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

Conciseness5/5

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

Two concise sentences: first states the core action and output, second gives critical usage note. No wasted words.

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?

For a simple lookup tool with no output schema, the description adequately covers what it does, the output, and a key prerequisite (tier requirement). Complete and helpful.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The description reiterates the purpose of 'ident' but adds little beyond the schema. The mention of 'designator/registration' aligns with the enum but is not novel.

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?

The description clearly states the tool resolves a flight ident to canonical form and alternate idents, which is specific and distinct from sibling tools like fa_resolve_airport.

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

Usage Guidelines4/5

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

Explicitly notes the required AeroAPI tier (Standard/Premium) and that free tier returns 401, guiding when to use. Does not mention alternatives, but the context is clear enough.

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

fa_search_flight_positionsA
Read-only

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}.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesStructured "{operator key value}" query, e.g. {match ident UAL*} {> alt 300}
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations indicate readOnlyHint and openWorldHint; description adds that returns position points rather than flight summaries, and explains paging via cursor and max_pages cap due to billing, providing additional behavioral context.

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

Conciseness5/5

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

Two concise sentences: first covers purpose and usage, second clarifies return type and gives example. No wasted words.

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

Completeness4/5

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

Given 3 parameters (1 required) and no output schema, description explains return type and paging. Missing details on position point structure, but sufficient for agent understanding.

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?

Schema coverage is 100%, so baseline is 3. Description adds value by explaining the query language and example for 'query', and billing context for 'max_pages' cap, exceeding basic schema info.

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?

The description clearly states it searches flight positions using a structured query language, and distinguishes itself from the sibling tool fa_search_flights_advanced by specifying the grammar and return type.

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?

It explicitly describes the query language format, contrasts with the simplified syntax of another tool, and provides an example, giving clear when-to-use guidance.

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

fa_search_flightsA
Read-only

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

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSimplified "-key value" search string (max 1000 bytes)
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations 'readOnlyHint: true' and 'openWorldHint: true' are present. The description adds context about billing (capped at 20 pages) and query string limits (1000 bytes), going beyond the annotations.

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

Conciseness5/5

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

The description is a single paragraph that concisely explains the tool's purpose, syntax, and example. Every sentence adds value, with no unnecessary words.

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

Completeness4/5

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

While there is no output schema, the description covers pagination via cursor and max_pages. It lacks details on response structure, but given the tool's simplicity and the presence of sibling tools for more detailed flight data, this is acceptable.

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

Parameters5/5

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

Schema covers all parameters with descriptions (100% coverage). The description adds significant meaning by explaining the query syntax, listing valid keys, and providing an example. It also clarifies the billing implication for max_pages.

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?

The description clearly states 'Search airborne flights using AeroAPI's simplified query syntax', specifying both the resource and method. It distinguishes itself from the sibling 'fa_search_flights_advanced' by emphasizing the simplified syntax.

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

Usage Guidelines4/5

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

The description explains the query syntax and provides an example, making it clear when to use this tool for simple queries. However, it does not explicitly state when not to use it (e.g., for complex queries, use the advanced version).

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

fa_search_flights_advancedA
Read-only

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}". Operators: true/false/null/notnull/=/!=/</>/<=/>=, match/notmatch (case-insensitive wildcards), range (two values), in/orig_or_dest/aircraftType/ident/ident_or_reg ({a b c} value lists), airline (1=airline, 0=GA). Common keys: ident, orig, dest (ICAO codes), aircraftType, alt (hundreds of ft), prefix, lifeguard, cancelled, arrived.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesStructured "{operator key value}" query, e.g. {match ident UAL*} {> alt 300}
cursorNoOpaque paging cursor from a previous response's links.next
max_pagesNoMax pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark it as read-only and open-world. The description adds substantial behavioral details: query language syntax, paging via cursor and max_pages with a billing cap, and operator explanations. No contradictions.

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?

The description is dense yet efficient, covering many details in one paragraph. It could benefit from more structured formatting (e.g., bullet lists) but is still clear and concise.

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

Completeness3/5

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

The description thoroughly explains query usage and paging but omits the return format or response structure. Since there is no output schema, this gap reduces completeness for an agent needing to process results.

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

Parameters5/5

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

Schema coverage is 100%, but the description greatly enhances understanding of the complex 'query' parameter with detailed syntax, operators, keys, and an example. This adds significant value beyond the schema.

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?

The description clearly states the tool searches flights using a structured query language, explicitly distinguishing it from fa_search_flights as more expressive. The verb 'Search' and resource 'flights' are specific, and the example solidifies the purpose.

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

Usage Guidelines4/5

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

The description indicates this tool is for advanced querying compared to fa_search_flights, providing an example and listing operators and keys. However, it lacks explicit guidance on when not to use it or detailed alternatives, slightly reducing clarity.

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

fa_set_alerts_endpointA
Idempotent

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. Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesHTTPS URL AeroAPI will POST alert payloads to
formatNoDelivery payload format
confirmNoMust be true to proceed. Without this, the tool returns a preview.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already indicate readOnlyHint=false, idempotentHint=true, and openWorldHint=true. The description enriches this by detailing the dry-run vs. apply behavior, absence of network call without confirm, and auth restriction (401 on free tier). No contradictions with annotations.

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

Conciseness5/5

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

Two sentences: the first front-loads the core action, the second adds critical behavioral details. No superfluous words. Perfectly structured.

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, the description still mentions return behavior (dry-run preview). Auth requirement is covered. With idempotentHint and openWorldHint from annotations, the description provides sufficient context for an agent to use the tool correctly.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the url parameter's role (AeroAPI POSTs to it) and the confirm parameter's necessity for actual change. The format parameter's options are covered by the schema, but description adds context on delivery payload format. Marginal but useful enhancement.

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?

The description clearly states the tool sets the webhook endpoint for alert notifications, distinguishing it from siblings like fa_get_alerts_endpoint (retrieves) and fa_create_alert (creates alerts). The verb 'set' and resource 'delivery endpoint' are specific and unambiguous.

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?

The description explicitly explains the dry-run behavior without confirm:true (returns preview, no network call) and the requirement of confirm:true to apply the change. It also notes the tier requirement (Standard/Premium, free Personal returns 401). This provides clear when-to-use and when-not-to-use guidance.

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

fa_update_alertA
Idempotent

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. Requires a Standard or Premium AeroAPI tier (the free Personal tier returns 401).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAlert id to update
etaNoNotify on ETA changes
holdNoNotify on hold
filedNoNotify when a flight plan is filed
identNoFlight ident / designator to watch (e.g. UAL123)
originNoOrigin airport code filter
arrivalNoNotify on arrival
confirmNoMust be true to proceed. Without this, the tool returns a preview.
divertedNoNotify on diversion
end_dateNoISO-8601 date the alert expires
cancelledNoNotify on cancellation
departureNoNotify on departure
max_weeklyNoCap on notifications per week
start_dateNoISO-8601 date the alert becomes active
destinationNoDestination airport code filter
aircraft_typeNoICAO aircraft type filter (e.g. B738)

TDQS

A4.4/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=false, idempotentHint=true, openWorldHint=true. The description adds transparency by explaining that the tool replaces the entire configuration, requires confirm to execute (otherwise dry-run), and requires a paid tier. No contradiction with annotations.

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

Conciseness5/5

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

The description is two sentences with no wasted words. It front-loads the main purpose and then adds crucial usage details (confirm, tier). Every sentence provides necessary information.

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

Completeness4/5

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

With 16 parameters (all described in schema) and no output schema, the description covers the essential behavioral context (dry-run, auth). It does not describe the return value, but given the schema richness, it is largely complete.

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?

The input schema has 100% description coverage for all 16 parameters. The description adds value by explaining the confirm parameter's role (dry-run vs. apply) and that the update replaces the configuration. This clarifies the semantics beyond the schema.

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?

The description clearly states 'Update an existing flight alert (replaces its configuration).' The verb 'update' and resource 'flight alert' are specific. This distinguishes it from sibling tools like fa_create_alert and fa_delete_alert.

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

Usage Guidelines4/5

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

The description explains the dry-run behavior when confirm:true is absent and the actual update when present. It also mentions the required AeroAPI tier (Standard or Premium, not free Personal). It does not explicitly contrast with alternatives, but the context is clear.

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. Dates show when Glama detected each change.

  1. 1 tool updatev0.4.0
    • Addedfa_healthcheck
  2. 16 tool updatesv0.3.2
    • Changedfa_foresight_search2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_get_airport_delays2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_get_airport_flights2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_get_airport_routes2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_get_airport_weather2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_get_flight_history2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_get_flights2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_get_nearby_airports2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_get_operator_flights2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_get_scheduled_flights2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_list_airports2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_list_alerts2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_list_operators2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_search_flight_positions2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_search_flights2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
    • Changedfa_search_flights_advanced2 fields changed
      • changedInput schema / properties / max_pages / description
        Previous value: -"Max pages to fetch (AeroAPI default: 1)"New value: +"Max pages to fetch, 1-20 (AeroAPI default: 1). Capped at 20 since AeroAPI bills per page."
      • changedInput schema / properties / max_pages / maximum
        Previous value: -9007199254740991New value: +20
  3. 7 tool updatesv0.2.0
    • Addedfa_count_flights
    • Addedfa_get_airport_flight_counts
    • Addedfa_get_airport_routes
    • Addedfa_resolve_airport
    • Addedfa_resolve_flight
    • Addedfa_search_flight_positions
    • Changedfa_search_flights_advanced1 field changed
      • changedInput schema / properties / query / description
        Previous value: -"Boolean query expression"New value: +"Structured \"{operator key value}\" query, e.g. {match ident UAL*} {> alt 300}"
  4. 27 tool updatesv0.1.0
    • First observedfa_create_alert
    • First observedfa_delete_alert
    • First observedfa_foresight_search
    • First observedfa_get_aircraft_owner
    • First observedfa_get_airport
    • First observedfa_get_airport_delays
    • First observedfa_get_airport_flights
    • First observedfa_get_airport_weather
    • First observedfa_get_alert
    • First observedfa_get_alerts_endpoint
    • First observedfa_get_flight_history
    • First observedfa_get_flight_map
    • First observedfa_get_flight_position
    • First observedfa_get_flight_route
    • First observedfa_get_flight_track
    • First observedfa_get_flights
    • First observedfa_get_nearby_airports
    • First observedfa_get_operator
    • First observedfa_get_operator_flights
    • First observedfa_get_scheduled_flights
    • First observedfa_list_airports
    • First observedfa_list_alerts
    • First observedfa_list_operators
    • First observedfa_search_flights
    • First observedfa_search_flights_advanced
    • First observedfa_set_alerts_endpoint
    • First observedfa_update_alert

TDQS

A4/5.0
Disambiguation5/5

Every tool targets a distinct resource and action, with clear prefixes (fa_<resource>_<action>) and descriptions that differentiate similar-sounding tools like the three search variants.

Naming Consistency4/5

The vast majority follow a consistent verb_noun pattern in snake_case, but a few like fa_foresight_search (noun_verb) and fa_search_flights_advanced (adjective suffix) deviate slightly.

Tool Count4/5

33 tools is on the higher side but justified by the breadth of the flight tracking domain; each tool serves a specific purpose without significant redundancy.

Completeness5/5

The tool surface comprehensively covers flight tracking: search, current/historical flights, tracks, routes, maps, airports, operators, alerts, and ancillary features like aircraft ownership and scheduled flights.

Maintenance

ActivityActive
ResponsivenessWithin a week

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/chrischall/flightaware-mcp'

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