Skip to main content
Glama

Bts Airport Delays

bts_airport_delays
Read-onlyIdempotent

Delay-cause breakdown at one US airport (as the ARRIVAL airport), by carrier, from BTS TranStats on-time data: arriving flights, how many arrived 15+ minutes late, cancellations, diversions, and delay minutes attributed to carrier, weather, NAS (air-traffic-control/system), security, and late-aircraft causes. Pass year and/or month to scope to a specific period; omit both to get every loaded month, most recent first. Rows beyond limit are reported via truncated/total_matching rather than silently dropped -- narrow with year/month or page with limit/offset to see the rest. Unknown airport codes are refused with a clear error, never an empty success.

Input Schema

NameRequiredDescriptionDefault
yearNoOptional: scope to one calendar year.
limitNoMax rows to return, 1-200. Default 50. A truncated response carries truncated:true and total_matching.
monthNoOptional: scope to one month (1-12). Requires year to be meaningful alongside it, but works alone too (matches that month in any loaded year).
offsetNoPagination offset. Default 0.
airportYesAirport code, e.g. "ORD".

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/open-world, and the description still adds real behavioral context on top: rows past `limit` are surfaced via truncated/total_matching rather than silently dropped, results are ordered most-recent-first when unscoped, and unknown airport codes are refused with a clear error instead of an empty success. Those three details are exactly the failure modes an agent would otherwise have to discover at runtime.

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 sentences, each load-bearing: the first defines the resource and its return payload, the second defines the scope/pagination contract, the third defines error behavior. Nothing repeats the schema or the annotations, and the most important identification (arrival airport, by carrier) 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?

With no output schema, the description must carry the return payload — and it does, listing the count fields and each delay-cause bucket. Combined with the stated truncation, ordering, pagination, and error-refusal behavior, plus annotations covering the safety profile, an agent has everything needed to call this 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, and the description does add meaning beyond the schema: it spells out the joint semantics of year+month ('and/or', omit both = all loaded months), the default ordering (most recent first), and the intended remedy for truncation (narrow with year/month, or page with limit/offset). It stops short of adding format constraints such as valid airport-code form or month-without-year matching rules, which the schema already covers.

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 with unusual precision: a delay-cause breakdown at one US airport, framed explicitly as the ARRIVAL airport, grouped by carrier, sourced from BTS TranStats. It also enumerates the returned measures (arrivals, 15+ min late, cancellations, diversions, and the five cause buckets). It loses the top score only because it never names the close siblings (delay_causes, carrier_ontime, route_ontime) so an agent must infer which one this differs from.

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?

Guidance is present but is scoping guidance rather than selection guidance: pass year and/or month to narrow, omit both to get all loaded months, and use year/month or limit/offset when rows are truncated. There is no statement of when to prefer this tool over delay_causes, carrier_ontime, or route_ontime, nor any prerequisite/precondition beyond the implicit need for a valid airport code.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.