Skip to main content
Glama

Server Details

Aircraft registry search, flight history, and analytics powered by ADS-B Exchange data.

Ownership verified
Status
Healthy
Uptime
19.9% over 56 days
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
flightdb/FlightDB-MCP
GitHub Stars
1
Server Listing
FlightDB

TDQS

B3.4/5.0

Scored across 15 tools

Disambiguation3/5

Most tools target distinct resources, but Flight_get_aircraft_detail bundles byYear, byDistance, byCountry, airportVisits and visitHistory, directly overlapping Flight_flights_by_year, Flight_flights_by_country, Flight_flights_by_distance, Flight_airport_visits and Flight_visit_history. Flight_airport_visits and Flight_visit_history also both describe per-aircraft visit data with weak boundaries, so an agent can plausibly pick the wrong one.

Naming Consistency4/5

All names share a consistent Flight_ prefix and snake_case, and verb-first names (get_*, list_*, search_*) are used predictably. The aggregate tools instead use a resource-metric pattern (flights_by_year, airport_arrival_trend), which is a second convention but internally consistent and readable.

Tool Count4/5

15 tools is at the upper end of a reasonable, well-scoped range for a flight-analytics API. However, the aggregate breakdown tools duplicate what Flight_get_aircraft_detail already returns, so several entries are arguably redundant rather than additive.

Completeness4/5

Read-only analytics surface is largely covered: airport search/get/stats, arrivals breakdowns, top routes, aircraft and flight listing, and per-aircraft aggregates. Minor gaps remain, such as no direct fetch of a single flight by id or an explicit departures-trend counterpart to the arrivals tool.

Available Tools

15 tools
Flight_airport_arrivals_by_countryA
Read-only
Inspect

Arrival counts to one airport broken down by departure country, grouped by day/month/year. Optional date range and country filter. Returns [{ period, byCountry: { "IN": 12, "CN": 8, ... } }] sorted chronologically. Example: compare India vs China arrivals to Bali from January to May with countries=["IN","CN"].

ParametersJSON Schema
NameRequiredDescriptionDefault
dateToNo
airportYes
dateFromNo
countriesNo
granularityNomonth

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A3.5/5.0
Behavior4/5

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

With readOnlyHint, destructiveHint=false, and openWorldHint=false already provided, the description adds meaningful context by describing the return shape ([{ period, byCountry: {...} }]) and that results are sorted chronologically. It does not cover auth or rate limits, but for a read-only query this is solid additional detail.

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 front-loaded with purpose, then return structure, then a concrete example. Every sentence earns its place without waste, making it easy to parse quickly.

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?

An output schema exists, so the return value explanation is redundant but not harmful. For a tool with five parameters and zero schema descriptions, the description leaves important parameter details (granularity, date format, code patterns) unaddressed, making it only partially complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for all five parameters. It mentions the optional date range and country filter, and the example shows the country array format, but it omits any explanation of granularity (enum with default), date format, airport code pattern (4 uppercase letters), or country code pattern (2 uppercase letters). This leaves significant gaps.

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 states a specific verb+resource — arrival counts to one airport broken down by departure country — and clarifies the grouping dimensions (day/month/year). It does not explicitly differentiate itself from siblings like Flight_airport_arrival_trend or Flight_flights_by_country, but the purpose is otherwise clear.

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 via the example (comparing India vs China arrivals to Bali) and notes optional date range and country filter. However, it offers no explicit when-to-use versus when-not-to-use guidance or named alternatives among sibling tools.

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

Flight_airport_arrival_trendA
Read-only
Inspect

Arrival counts to one airport grouped by day/month/year. Optional date range. Returns [{ period, count }] sorted chronologically. Example: arrivals to Bali (WADD) for the last 12 months with granularity=month.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateToNo
airportYes
dateFromNo
granularityNomonth

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuine value by disclosing the return shape ([{ period, count }]) and chronological sorting, which annotations do not provide. It says nothing about date bounds, timezone, or empty results.

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?

Three compact sentences, front-loaded with the core purpose, followed by scoping and a concrete example. No filler.

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 read-only aggregation tool with an output schema already defined, the description plus annotations cover the essentials, and even restating the return shape aids selection. Missing date-format and timezone conventions are the only notable omissions.

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 0%, so the description must carry the load. It confirms the date range is optional, hints at granularity via 'day/month/year', and the WADD example shows the airport code is ICAO-style. However, dateTo/dateFrom formats and the 'hour' granularity are not addressed, so there are real gaps.

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?

States a specific verb+resource: arrival counts to one airport grouped by day/month/year. An agent can tell it returns a time series rather than a snapshot or stats, which separates it from Flight_airport_stats and Flight_airport_visits. It does not name those siblings explicitly, so it stops short of a 5.

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 example ('arrivals to Bali (WADD) for the last 12 months with granularity=month') implies when to reach for the tool, and the 'Optional date range' note clarifies scoping. But there is no when-not guidance and no comparison to the many sibling airport tools, leaving the agent to infer selection.

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

Flight_airport_statsA
Read-only
Inspect

Aggregated stats for one airport: total departures, top destination airports, top aircraft, and departures by year. Use the ICAO code (4 letters, e.g. WADD for Bali).

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
byYearYes
airportYes
topAircraftYes
uniqueAircraftYes
topDestinationsYes
totalDeparturesYes
uniqueDestinationsYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, destructiveHint=false, so the safety profile is covered. The description adds the aggregation semantics and which dimensions are returned, but says nothing about data scope (lifetime vs date-bounded), rate limits, or handling of unknown ICAO codes.

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 what is returned, the second gives the input format. No filler, no restatement of the tool name, and parameter guidance follows rather than precedes the 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?

An output schema exists, so return-value details need not be spelled out, and the description still enumerates the key metrics plus the input format — enough for correct invocation. The only residual gap is that it doesn't say whether the stats span all time or a bounded period.

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 description coverage is 0% for the single 'code' parameter, so the description carries the full burden and does it well: it names the identifier as an ICAO code, specifies 4 uppercase letters, and gives a concrete example (WADD for Bali) that resolves ambiguity with IATA codes.

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?

States a specific verb/scope ('aggregated stats for one airport') and enumerates the returned dimensions: departures, top destinations, top aircraft, departures by year. This implicitly separates it from arrival- or trend-oriented siblings, but no sibling is named explicitly, so it falls just short of the top band.

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?

Usage is only implied: the agent can infer 'get stats for one airport' from the phrasing, and the ICAO note steers parameter format, but there is no explicit when-to-use versus alternatives (e.g. Flight_airport_arrivals_by_country, Flight_airport_arrival_trend) and no stated preconditions or exclusions.

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

Flight_airport_visitsB
Read-only
Inspect

Per-airport visit and stay aggregates by year for one aircraft id.

ParametersJSON Schema
NameRequiredDescriptionDefault
aircraftIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearsYes
airportsYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that results are aggregates grouped by year and that both visits and stays are summarized, which is useful, but says nothing about ordering, coverage limits, or empty-aircraft behavior.

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?

One compact sentence with the scope constraint carried at the end; nothing is wasted. It is arguably terse to the point of under-explaining, but structurally sound and front-loaded on purpose.

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?

An output schema exists, so return-value detail is not required in the description. However, for a tool whose only parameter is undocumented, the description leaves gaps in how to supply the id and when this aggregate view is preferable to its many siblings.

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 0% and aircraftId has no description, so the schema contributes nothing. The phrase 'for one aircraft id' conveys that this takes a single identifier rather than a list, which is mild added meaning, but it does not state the id format or where to obtain it.

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 names a specific resource (per-airport visit and stay aggregates), a granularity (by year), and a scope (one aircraft id), so an agent can tell it apart from siblings like Flight_visit_history or Flight_airport_stats. It is clear but does not explicitly contrast itself with those siblings.

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?

There is no statement of when to use this tool versus Flight_visit_history, Flight_airport_stats, or the arrivals/trend tools. The only implicit guidance is the scope on a single aircraft id.

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

Flight_flights_by_countryB
Read-only
Inspect

Per-year arrival-country flight counts for one aircraft id (stacked-series style payload).

ParametersJSON Schema
NameRequiredDescriptionDefault
aircraftIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearsYes
seriesYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's only behavioral addition is the 'stacked-series style payload' hint about output shape, which is partly redundant with the existing output schema.

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?

One sentence, front-loaded with the resource and granularity, and nothing superfluous. It is arguably too sparse rather than verbose.

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 output schema absolves the description of explaining return values, and annotations cover safety. However, with a crowded sibling set and no differentiation or usage routing, an agent still lacks enough to confidently choose this tool over Flight_flights_by_year.

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?

The single parameter has 0% schema description coverage, but the description does clarify that the id refers to an aircraft and that results are scoped to it. That is minimal added meaning over the self-explanatory parameter name.

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?

States a specific resource (arrival-country flight counts), a granularity (per-year), and a scope (one aircraft id), which is enough to distinguish it from Flight_flights_by_year and Flight_airport_arrivals_by_country in broad terms. The 'stacked-series style payload' phrasing is a shape hint rather than a purpose statement, but the core verb+resource is clear.

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 when-to-use guidance and no mention of alternatives, despite several closely related siblings (Flight_flights_by_year, Flight_airport_arrivals_by_country). The agent must infer the selection criteria from the data shape alone.

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

Flight_flights_by_distanceB
Read-only
Inspect

Per-year counts binned by trip distance category (Short / Medium / Long / Unknown) for one aircraft id.

ParametersJSON Schema
NameRequiredDescriptionDefault
aircraftIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearsYes
seriesYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that results are aggregated into per-year counts across four fixed distance bins, which is genuinely useful context beyond the annotations, but it omits any note on what the bins mean or how the aircraft scope affects results.

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, front-loaded with the output shape and then the grouping dimension and scope. Nothing is redundant.

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?

An output schema exists, so return values need not be documented, and the description supplies the aggregation semantics (bins plus per-year counts). For a one-parameter read-only tool this is nearly sufficient; only the provenance/format of aircraftId is left dangling.

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 0% for the single aircraftId parameter. The phrase 'for one aircraft id' usefully clarifies that the tool is scoped to a single aircraft rather than a fleet, but it gives no hint about the expected identifier format or where to obtain it (e.g., Flight_list_aircraft).

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 names the computation (per-year counts), the grouping dimension (trip distance category with its four enumerated bins), and the scope (one aircraft id). That is specific enough to separate it from Flight_flights_by_year and Flight_flights_by_country, though it never names those siblings 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?

There is no when-to-use or when-not-to-use guidance and no mention of alternative aggregation tools. The agent must infer from the name that this is the distance-binned variant rather than the yearly or country variant.

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

Flight_flights_by_yearB
Read-only
Inspect

Per-calendar-year flight counts for one aircraft id ({ years, counts }).

ParametersJSON Schema
NameRequiredDescriptionDefault
aircraftIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
yearsYes
countsYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and destructiveHint=false, covering the safety profile. The description adds the return payload keys { years, counts }, but that is also covered by the output schema, so it adds limited behavioral context beyond structured data.

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, front-loaded sentence with no filler. It communicates the metric, scope, and return shape compactly.

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 simple read-only aggregation tool with annotations and an output schema, the description is minimally adequate. It is missing parameter guidance and sibling differentiation, but structured fields cover safety and return details.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the single aircraftId parameter. It only repeats 'one aircraft id' without format, source, or examples, adding little semantic meaning beyond the parameter name and schema type.

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 states a specific metric and grouping: per-calendar-year flight counts for one aircraft id. It clearly identifies the resource and scope, but does not explicitly differentiate itself from siblings like Flight_flights_by_country or Flight_list_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?

Usage is implied by the metric description: use this when yearly flight counts for a single aircraft are needed. However, there is no explicit when-to-use, when-not-to-use, or alternative-tool guidance despite many sibling tools.

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

Flight_get_aircraft_detailB
Read-only
Inspect

All flights for an aircraft plus derived aggregates used on the detail page: flights (newest first), byYear, byDistance, byCountry, airportVisits, visitHistory. Empty aggregates when no flights.

ParametersJSON Schema
NameRequiredDescriptionDefault
aircraftIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
byYearYes
flightsYes
byCountryYes
byDistanceYes
visitHistoryYes
airportVisitsYes

TDQS

B3.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so safety is covered. The description adds useful behavioral context beyond annotations: it names the aggregate outputs, states flights are ordered newest first, and specifies that aggregates are empty when there are no flights. It does not mention pagination or authentication, but the added output semantics are substantial.

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 a single front-loaded sentence with no wasted words. The list of aggregate fields is dense but necessary to convey the return shape, though the abrupt colon-list style is slightly less scannable than it could be.

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 read-only tool with one parameter and an output schema, the description covers the return composition well. However, it omits parameter semantics for aircraftId and any when-to-use guidance relative to the many sibling tools, leaving clear gaps for an agent selecting among alternatives.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the undocumented aircraftId parameter. It does not describe the ID's format, source, or expected value at all; it only implies the tool operates on a single aircraft. This leaves the one required parameter semantically under-specified.

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 states a specific verb and resource: it returns all flights for an aircraft plus derived aggregates for a detail page. This clearly distinguishes the tool from siblings that return only one aggregate view (e.g., Flight_flights_by_year), but it does not name any alternative 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?

There is no explicit guidance on when to use this tool versus siblings like Flight_list_flights or Flight_flights_by_year. The phrase 'used on the detail page' is a UI context hint, not agent-facing usage criteria or exclusion conditions.

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

Flight_get_aircraft_from_listA
Read-only
Inspect

Single AircraftList row by id (fast header lookup). Returns null if missing. Use get_aircraft_detail for charts and full derived stats.

ParametersJSON Schema
NameRequiredDescriptionDefault
aircraftIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

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, openWorldHint=false and destructiveHint=false, so safety is covered. The description adds genuine behavioral context beyond that: it returns null when the id is missing and it is a lightweight header-only read rather than the derived-stats path. It stops short of describing error/auth behavior, so not a full 5.

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 with zero filler, front-loading the scope and null-return behavior before the sibling referral. Every clause earns its place.

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?

An output schema exists, so return-value detail is not required, and the description still adds the null-on-miss case. For such a simple one-parameter read, the definition is essentially complete, with only marginal room for auth or rate-limit notes.

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 0%, so the description carries the burden, and it does note the lookup is 'by id'. However, the single parameter (aircraftId, string) is self-describing and no format, prefix, or case constraints are given, so it only marginally exceeds what the schema already conveys.

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?

States a specific verb+resource ('Single AircraftList row by id') and immediately scopes it as a 'fast header lookup,' which cleanly separates it from the heavier sibling Flight_get_aircraft_detail. An agent can pick between the two without opening either schema.

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 routes the agent: use this for the fast header lookup, use get_aircraft_detail for charts and full derived stats. The when-to-use-this and when-to-use-alternative conditions are both stated.

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

Flight_get_airportA
Read-only
Inspect

Airport row by IATA/ICAO code (id). Returns null if not found.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, covering the safety profile. The description adds one genuinely useful behavioral detail, the null return on no match, which is not derivable from the schema or 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 short clauses, front-loaded with the resource and key, then the not-found behavior. No filler, and every clause earns its place.

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 an output schema present, return values need not be explained, and annotations cover safety. The description is adequate for a one-parameter lookup; its only gap is not routing the agent away from the sibling search tool.

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 coverage is 0%, so the description must carry the parameter burden. It does clarify that 'code' is an IATA/ICAO identifier rather than an internal id, which meaningfully disambiguates the single required parameter despite the regex being self-documenting on format.

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?

States a specific verb (get) and resource (airport row) with the keying method (IATA/ICAO code). It is clearly a lookup-by-id, but it does not explicitly contrast itself with sibling Flight_search_airports, leaving the get-vs-search distinction to be inferred from names.

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 gives no when-to-use guidance, no mention of when it is preferable to Flight_search_airports for looking up a single airport, and no prerequisites or exclusions. The agent must infer usage purely from the tool name.

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

Flight_list_aircraftB
Read-only
Inspect

Paginated aircraft directory (AircraftList): optional reg (hyphens stripped), 2-letter country, ICAO/id substring, usedBy substring, sortBy (AircraftList scalar), sortOrder.

Returns { data, total }.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
sortByNo
countryNo
regSearchNo
sortOrderNo
icaoSearchNo
ownopSearchNo
usedBySearchNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
totalYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description usefully adds pagination behavior, the { data, total } response shape, and that hyphens are stripped from reg input — real behavioral detail beyond annotations, though nothing about rate limits or default page size.

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?

Compact and front-loaded, opening with the paginated directory framing before enumerating filters. Slightly dense parenthesis-heavy phrasing ('sortBy (AircraftList scalar)') but no wasted sentences.

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?

An output schema exists, so return values need not be spelled out. Given 9 parameters at 0% schema coverage, the description covers most filters but leaves page/limit behavior and ownopSearch unaddressed, so it is adequate rather than 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?

Schema description coverage is 0%, so the description must carry the load and largely does: it explains reg hyphen-stripping, the 2-letter country constraint, and that icaoSearch/regSearch/usedBySearch are substring matches. It omits page, limit, and ownopSearch semantics, so it is not fully complete.

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?

States a specific verb+resource: a paginated aircraft directory (AircraftList). An agent can distinguish it from Flight_get_aircraft_detail and Flight_get_aircraft_from_list by the listing/pagination framing, though the description never names those siblings 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 explicit when-to-use or when-not guidance. The listed filter options imply a browse/search use case, but there is no statement of when to prefer this directory over get_aircraft_detail or get_aircraft_from_list, nor any prerequisite context.

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

Flight_list_flightsB
Read-only
Inspect

Paginated flight rows with optional filters: aircraft id substring, departure/arrival airport or city substring, country substrings, date range, sortBy (Flight scalar field), sortOrder.

Returns { data, total }. Each row includes nested departure/arrival airport { id, name, municipality, timezone }.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
dateToNo
sortByNo
dateFromNo
flightIdNo
icaoTypeNoAircraft ICAO type code, e.g. B737, A320.
departureNoDeparture airport ICAO code (4 letters), e.g. WIII.
sortOrderNo
aircraftIdNo
destinationNoDestination airport ICAO code (4 letters), e.g. WSSS.
aircraftCountryNoAircraft registration country (2-letter ISO), e.g. ID, SG.
departureCountryNoDeparture country code (2-letter ISO 3166-1 alpha-2), e.g. ID.
destinationCountryNoDestination country code (2-letter ISO 3166-1 alpha-2), e.g. SG.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
totalYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds pagination behavior and the { data, total } envelope plus nested airport shape, but the output schema already documents the return, so the additional disclosure is modest.

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 dense sentences, filter capabilities front-loaded, return shape second. No filler, though the filter clause packs many concepts into a comma list that is slightly hard to parse.

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 14-parameter tool with 43% schema coverage, the description covers the main filter families but leaves pagination controls and flightId unaddressed. The return-value sentence is largely redundant given the output schema exists.

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 only 43%, and the description compensates for the biggest gaps by clarifying substring-matching semantics for aircraft id / airports / cities / countries and naming sortBy/sortOrder. However it omits meaning for page, limit, flightId and icaoType, leaving several undocumented parameters untouched.

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?

States a specific verb+resource ('Paginated flight rows') and enumerates the filter dimensions, so the agent knows this is a broad, filterable listing rather than one of the aggregate siblings (stats, trends, top_routes). It stops short of naming which sibling to prefer, so it is clear but not sibling-differentiating.

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?

Usage is implied by the filter list and the note that filters are optional, giving the agent a rough sense of when to reach for it. There is no explicit 'use this instead of Flight_flights_by_country / Flight_visit_history' guidance or any exclusion criteria.

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

Flight_search_airportsA
Read-only
Inspect

Search airports by name, city, IATA or ICAO code. Returns large and medium airports only. Use this to find an airport's ICAO code before calling other airport tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYes
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds a real behavioral constraint the annotations don't carry: only large and medium airports are returned. It doesn't mention ordering or whether limit truncates silently.

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?

Three tight sentences, front-loaded with the search scope followed by the result constraint and the usage cue. No wasted text, though the sentences are short enough that one more clause on limit behavior could fit.

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?

An output schema exists, so return-value explanation isn't required. The description covers search fields, result filtering, and the intended workflow role. The remaining gap is the `limit` parameter's effect, which matters for a search 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 0%, so the description must compensate. It does partially by enumerating the matchable fields (name, city, IATA, ICAO) for the `q` parameter, but the `limit` parameter (default 20, max 50) is entirely unaddressed, and no match syntax or partial-match behavior is described.

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?

States a specific verb (search) and resource (airports) plus the four matchable fields and a scope constraint (large/medium only). An agent can distinguish it from the stats/arrivals/visits siblings, though it never explicitly contrasts with the closest sibling, Flight_get_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?

Gives clear when-to-use guidance: 'Use this to find an airport's ICAO code before calling other airport tools,' which frames it as a lookup precursor. It stops short of naming alternatives or stating 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.

Flight_top_routesA
Read-only
Inspect

Top flight routes ranked by frequency. Filter by departure/arrival country or airport. Set bidirectional=true to combine both directions (e.g. AU↔ID). Returns routes sorted by flight count descending with city and country info. Example: top routes between Australia and Indonesia with departureCountry=AU, arrivalCountry=ID, bidirectional=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
dateToNo
dateFromNo
bidirectionalNoWhen true, matches routes in both directions between the given countries/airports.
arrivalAirportNo
arrivalCountryNo
departureAirportNo
departureCountryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, destructiveHint=false, so the safety profile is covered. The description adds real context beyond that: results are sorted by flight count descending and include city and country info, and bidirectional combines both directions. It omits pagination/limit behavior and date-range semantics, keeping it below a 5.

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 purpose and sort behavior are front-loaded, followed by filters and a single concrete example. Every sentence contributes, though the trailing example partially restates the filter parameters already named earlier.

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 no required parameters and an output schema present, the description need not explain return values, yet it still notes the sort order and included fields. The main gap is the undocumented limit and date-range parameters, which leaves a modest hole for an 8-parameter 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 only 13% (only bidirectional is documented in the schema), so the description must compensate. It explains the departure/arrival country and airport filters plus bidirectional via a worked example, but leaves limit, dateFrom, and dateTo unexplained and never states the airport/country code formats.

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 gives a specific verb+resource ('Top flight routes ranked by frequency') and names the filtering dimensions, which cleanly separates it from sibling tools like Flight_list_flights and Flight_flights_by_distance. It does not explicitly name or contrast a sibling, so it stops short of a 5.

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?

Usage is implied through a concrete example (departureCountry=AU, arrivalCountry=ID, bidirectional=true), which shows the intended call shape. However, there is no explicit when-to-use guidance or routing away from similar tools such as Flight_flights_by_country, so an agent must infer the choice.

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

Flight_visit_historyB
Read-only
Inspect

Visit timeline / history structure for one aircraft id (same shape as UI visit history).

ParametersJSON Schema
NameRequiredDescriptionDefault
aircraftIdYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
visitsYes
countriesYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already disclose readOnlyHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is clear. The description adds only that the output matches the UI visit history shape, which is vague without UI context. It does not cover any additional behavior such as permissions or response semantics beyond what annotations imply.

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 a single front-loaded sentence with no redundant filler. However, the slash construction 'timeline / history structure' is slightly awkward and contributes to an overly terse overall statement. It is concise but not optimally structured for clarity.

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?

An output schema exists, so the description need not fully explain return values. The annotations also carry the read-only safety profile. Still, the description omits usage guidance and parameter formatting for a tool whose sole input is otherwise undocumented, leaving clear gaps for an agent.

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

Parameters2/5

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

The schema has 0% description coverage for the single required parameter, aircraftId. The description restates that it is 'one aircraft id' but provides no format, identifier system, or other semantic detail. It therefore does not compensate for the schema gap.

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 identifies a specific resource: a visit timeline/history for one aircraft id. It is clear enough for an agent to understand the domain, but it does not distinguish this tool from siblings such as Flight_airport_visits or Flight_get_aircraft_detail. The action is implied rather than stated with a specific verb.

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 gives no explicit guidance on when to use this tool versus alternatives. It only names the scoping input ('one aircraft id'), leaving the agent to infer usage from the name. There are no exclusions or sibling references.

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.

  1. 15 tool updates
    • First observedFlight_airport_arrival_trend
    • First observedFlight_airport_arrivals_by_country
    • First observedFlight_airport_stats
    • First observedFlight_airport_visits
    • First observedFlight_flights_by_country
    • First observedFlight_flights_by_distance
    • First observedFlight_flights_by_year
    • First observedFlight_get_aircraft_detail
    • First observedFlight_get_aircraft_from_list
    • First observedFlight_get_airport
    • First observedFlight_list_aircraft
    • First observedFlight_list_flights
    • First observedFlight_search_airports
    • First observedFlight_top_routes
    • First observedFlight_visit_history

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides live ADS-B aircraft positions and enables searching by registration, ICAO hex, or callsign, viewing nearby traffic sorted by distance, finding the closest aircraft, filtering by type or military status, and looking up airport information.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides real-time aircraft tracking data from OpenSky Network combined with FAA aircraft registry information, enabling rich aviation queries that merge live flight positions with technical specifications.
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A real-time flight tracking interface for LLMs that connects AI assistants to live aircraft data from ADS-B Exchange, enabling searches by location, specific flight tracking, military aircraft monitoring, and aviation pattern discovery.
    4
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.