Skip to main content
Glama

Airport lookup, IATA and ICAO codes

airport_lookup
Read-only

Look up airports by IATA or ICAO code, name or city (Paris, JFK, EGLL, Heathrow): codes, full name, city, country, region, coordinates, elevation, size, scheduled service and Wikipedia link, for ~9,500 airports worldwide; or give lat and lon for the nearest airports with distances. Data: OurAirports (public domain), committed snapshot, answers in milliseconds. Use for travel tools, flight data enrichment and geocoding airport codes. Example: q=Stockholm. Price $0.01/call via x402 USDC or a card key (/credits), first 25 free; failed calls free. Reads or computes only and changes nothing; each call is charged, so repeats are not free.

Input Schema

NameRequiredDescriptionDefault
qNoIATA code, ICAO code, airport name or city
latNoLatitude, for the nearest airports (with lon)
lonNoLongitude, for the nearest airports (with lat)
limitNoNumber of airports (1-25, default 5)
countryNoOnly airports in this country (code or name)
scheduledNotrue: only airports with scheduled passenger service

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/openWorld/non-idempotent/non-destructive, and the description adds substantive context beyond them: the data source and snapshot freshness (OurAirports, committed snapshot), latency ('answers in milliseconds'), and the cost model ($0.01/call, first 25 free, failed calls free). Crucially it explains the consequence of idempotentHint=false — 'each call is charged, so repeats are not free' — which the annotation alone would leave ambiguous.

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?

Front-loaded with the lookup modes, then return fields, then data provenance, then pricing — a sensible information order with no filler sentences. It is a single dense run-on sentence chain, and the pricing clause is lengthy, but each element carries decision-relevant information.

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 compensates by enumerating the returned fields (codes, name, city, country, region, coordinates, elevation, size, scheduled service, Wikipedia link) and noting distances in nearest-airport mode. Combined with full schema coverage and explicit cost/read-only behavior, an agent has everything needed to call 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?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning the schema does not: the two mutually exclusive query modes (q versus lat+lon) and that the coordinate mode returns nearest airports 'with distances'. That mode distinction matters more than any single field definition, though it does not explain interplay between q and country/scheduled.

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 concrete verb and resource ('Look up airports by IATA or ICAO code, name or city') and covers both operating modes: identifier/name search and lat+lon nearest-airport lookup. The listed return fields and dataset scope (~9,500 airports) make it clearly distinguishable from neighbors like airport_status (live status) and geocode (addresses).

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 explicit use cases ('travel tools, flight data enrichment and geocoding airport codes') plus a worked example ('q=Stockholm'), which tells an agent when this tool fits. It stops short of naming alternatives or exclusions — e.g. it never says to use airport_status for live flight status rather than this tool — so it is clear context without routing.

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.