ourairports-mcp-server
io.github.cyanheads/ourairports-mcp-serverVersion 0.3.0Offline global aviation reference: airports, runways, navaids, frequencies from OurAirports.
Status
Responds530 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:48 UTC
- Latency
- 530 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 22:14 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://ourairports.caseyjhand.com/mcpResponds530 msNo sign-in
Claude Code
claude mcp add --transport http ourairports-mcp-server https://ourairports.caseyjhand.com/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: ourairports-mcp-server
Remote MCP server URL: https://ourairports.caseyjhand.com/mcpCursor
{
"mcpServers": {
"ourairports-mcp-server": {
"url": "https://ourairports.caseyjhand.com/mcp"
}
}
}VS Code
code --add-mcp '{"name":"ourairports-mcp-server","type":"http","url":"https://ourairports.caseyjhand.com/mcp"}'Streamable HTTP
npm: @cyanheads/ourairports-mcp-server 0.3.0Package only
npm (npx)
claude mcp add ourairports-mcp-server -- npx -y @cyanheads/ourairports-mcp-server@0.3.0Streamable HTTP
npm: @cyanheads/ourairports-mcp-server 0.3.0Package only
npm (npx)
claude mcp add ourairports-mcp-server -- npx -y @cyanheads/ourairports-mcp-server@0.3.0Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
6 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
ourairports_find_airportsFind airports within a radius of a latitude/longitude, ranked nearest-first by great-circle distance. Each result includes distance in kilometers and bearing in degrees true from the query point. Resolve place names to coordinates before calling. Use nextOffset to continue the same query. OurAirports is community-edited — not authoritative for flight operations. | Not declared | Yes | Yes | No |
ourairports_find_navaidsFind navigation aids (VOR, VOR-DME, DME, NDB, NDB-DME, TACAN, VORTAC) by exactly one mode: latitude+longitude with optional radius_km, airport_code for navaids serving an airport, or ident for every exact navaid-code holder. Coordinate results rank nearest-first with distance (km) and bearing (degrees true); airport and ident results retain dataset order. frequencyKhz is stored for every type; frequencyMhz is the VHF or paired-VHF frequency and is null for NDB and NDB-DME. Each navaid includes DME pairing, usage, power, and magnetic variation. totalCount counts filtered matches before paging; pass nextOffset as offset with the same query to continue. An unmatched ident or an airport with no associated navaids returns an empty list; an unknown airport_code is an error. Shared airport codes carry a resolutionNote naming the other airport idents. OurAirports is community-edited — not authoritative for flight operations. | Not declared | Yes | Yes | No |
ourairports_get_airportFetch the full record for one airport resolved by ANY code — IATA (SEA), ICAO (KSEA), GPS, national/local, or the OurAirports ident — with its runways and radio frequencies inline. The single `code` param is resolved case-insensitively across all five identifier spaces (priority: ident, then ICAO, IATA, GPS, local). The response always echoes the airport's complete code set and a resolutionNote naming which space matched; when other airports carry the same code, the note names each one (ident, country, code space) and why this airport won, so a wrong resolution is self-correcting — pass the other airport's ident to fetch it. Absent codes are reported as null, never an error. Runway lengths are the full runway surface (displaced thresholds and overruns included), not usable takeoff or landing distance. Closed airports always resolve. OurAirports is community-edited — not authoritative for flight operations. | Not declared | Yes | Yes | No |
ourairports_list_countriesList countries and valid country/region filter codes for ourairports_search_airports and ourairports_search_runways, with airport counts excluding closed airports. Restrict to country for one country's regions; country and continent combine as AND. include_regions without a scope returns the entire region table, so prefer country for a one-country lookup. Unscoped and continent-only requests remain available. | Not declared | Yes | Yes | No |
ourairports_search_airportsSearch the bundled OurAirports corpus by exact airport code, free text (name, municipality, keywords), and/or facets (country, region, type). All query terms must match. Text supports forward prefixes and common abbreviations such as intl. Exact code matches lead code-only searches, followed by ranked summaries favoring operational and larger airports. Use ourairports_get_airport for full records by code, ourairports_list_countries for valid country and region codes, and ourairports_find_airports for nearest airports. OurAirports is community-edited — not authoritative for flight operations. | Not declared | Yes | Yes | No |
ourairports_search_runwaysSearch the bundled OurAirports corpus by airport and runway attributes. Returns one row per matching runway, paired with its airport. Supply latitude and longitude together to filter by radius and rank by distance to each parent airport. Surface matches any supplied fragment as a case-insensitive substring of the recorded surface. Lengths describe the full runway surface, including displaced thresholds and overruns. Minimum length and width filters exclude runways missing the corresponding measurement. Closed airports and runways are excluded unless their respective flags are set. Use nextOffset to continue the same query and ourairports_list_countries to find valid country and region codes. OurAirports is community-edited. Consult official sources for flight operations. | Not declared | Yes | Yes | No |
Details
- Registry status
- Active
- Published
- Nov 11, 2026
- Updated
- Nov 11, 2026
- Website
- Not given
- Categories (suggested)
- Search and webSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared