Skip to main content
Glama

Get Terminal Aerodrome Forecast (TAF)

aviation_get_taf
Read-onlyIdempotent

Get the Terminal Aerodrome Forecast (TAF) for one or more airports. Returns each forecast period with valid times, surface wind, low-level wind shear, visibility, decoded weather conditions, cloud layers, and the vertical visibility into a forecast obscuration, plus the raw TAF string. TAFs cover the next 24–30 hours and are issued only for airports with scheduled commercial service; check data_types from aviation_find_stations to confirm TAF availability. Accepts 1–4 ICAO station IDs (e.g., KSEA, KJFK).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
station_idsYesICAO station IDs to query. 1–4 stations per call.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
noticeNoRecovery guidance naming the missing station IDs. Present only on a partial result. It lists the candidate causes without asserting one — upstream omits the row either way.
missingNoRequested station IDs absent from the result. Absent when none are missing.
partialNoTrue when a requested station produced no forecast. False affirms the result covers every requested station, so full coverage is distinguishable from a short batch rather than being inferred from the count.
returnedNoDistinct station IDs that produced a forecast.
forecastsNoTAF forecasts, one per requested station.
requestedNoStation IDs this call asked for, in the order given.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows this is a safe read; the description adds valuable context beyond that: the 24-30 hour forecast window, the scheduled-service issuance constraint, and the explicit return-element list. It doesn't address error behavior or invalid-station handling, but given the read-only annotation profile, this is not a major gap.

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 sentences that are front-loaded with purpose and efficiently convey returns, scope, and a usage prerequisite. The only minor redundancy is restating the 1-4 station count that maxItems/minItems already encode, but it serves as useful reinforcement. No filler or hedging.

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 tool that already has an output schema and a single well-documented parameter, this is nearly complete: it covers what data is returned, the coverage window, the availability constraint, and the parameter format. It doesn't discuss forecast period count, units, or error handling, but those are minor given the annotations and 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% — station_ids is fully documented with type, pattern (^[A-Z]{4}$), minItems, maxItems, and an example. The description's 'Accepts 1-4 ICAO station IDs (e.g., KSEA, KJFK)' largely restates the schema's constraints rather than adding new meaning. Baseline 3 is appropriate when the schema carries the semantic load.

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 (Get), resource (Terminal Aerodrome Forecast), and target (one or more airports), and enumerates the exact return fields (valid times, wind, wind shear, visibility, weather, clouds, vertical visibility, raw TAF string). This makes the tool's scope unambiguous and distinguishes it from siblings like aviation_get_metar (current conditions) and aviation_get_advisories (warnings).

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?

Provides clear context: TAFs cover 24-30 hours and are only issued for airports with scheduled commercial service, plus points the agent to aviation_find_stations to confirm availability via data_types. It doesn't explicitly state when to prefer this over aviation_get_metar for current conditions, but the forecast-vs-observation framing implies it.

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.

TDQS

A4.3/5.0
Disambiguation5/5

Each tool targets a distinct resource type: stations, advisories, METARs, PIREPs, and TAFs. There is no overlap in purpose; an agent can unambiguously choose the right tool for a specific weather data need.

Naming Consistency5/5

All tools follow a consistent `aviation_` prefix with a predictable verb-noun pattern (`find_stations`, `get_metar`, etc.). The naming convention is uniform and immediately communicates the tool's function.

Tool Count5/5

With 5 tools, the server is well-scoped for aviation weather retrieval. Each tool covers a core data type without redundancy, and the count is within the ideal range for a focused MCP server.

Completeness4/5

The set covers primary aviation weather products (METAR, TAF, PIREP, SIGMET) and station lookup. Minor gaps exist such as AIRMET (explicitly rejected) and lack of other products like winds aloft, but the core functionality is coherent and usable without dead ends.