Aviation Weather Center · Capability
AviationWeather.gov API — Navigational Data
Navigational Data — the aviation reference data surface of the NOAA/NWS Aviation Weather Center. Lead operation: retrieve station metadata for one or more ICAO identifiers. Also covers airport details (including runways and frequencies), NAVAIDs (VORs, NDBs, DMEs), navigation fixes and waypoints, geographic features, and obstacles. All endpoints are public, read-only GETs returning JSON, GeoJSON, or XML. Self-contained Naftiko capability covering one Aviation Weather Center business surface.
What You Can Do
GET
Getstationinfo
— Get station info.
/v1/stations
GET
Getairport
— Get airport info.
/v1/airports
GET
Getnavaid
— Get navaid info.
/v1/navaids
GET
Getfix
— Get fix and waypoint info.
/v1/fixes
GET
Getfeature
— Get geographic feature info.
/v1/features
GET
Getobstacle
— Get obstacle info.
/v1/obstacles
MCP Tools
get-station-info
Get station info.
read-only
idempotent
get-airport
Get airport info.
read-only
idempotent
get-navaid
Get navaid info.
read-only
idempotent
get-fix
Get fix and waypoint info.
read-only
idempotent
get-feature
Get geographic feature info.
read-only
idempotent
get-obstacle
Get obstacle info.
read-only
idempotent
Capability Spec
naftiko: "1.0.0-alpha2"
info:
label: "AviationWeather.gov API — Navigational Data"
description: >-
Navigational Data — the aviation reference data surface of the NOAA/NWS
Aviation Weather Center. Lead operation: retrieve station metadata for
one or more ICAO identifiers. Also covers airport details (including
runways and frequencies), NAVAIDs (VORs, NDBs, DMEs), navigation fixes
and waypoints, geographic features, and obstacles. All endpoints are
public, read-only GETs returning JSON, GeoJSON, or XML.
Self-contained Naftiko capability covering one Aviation Weather Center
business surface.
tags:
- Aviation Weather Center
- NOAA NWS
- Navigational Data
created: "2026-05-29"
modified: "2026-05-29"
binds:
- namespace: env
keys: {}
capability:
# ── 1. Consumes ─────────────────────────────────────────────────────────
consumes:
- type: http
namespace: "aviationweather-navigational-data"
baseUri: "https://aviationweather.gov"
description: "Aviation Weather Center public Data API — Navigational Data surface. Self-contained, no shared references."
authentication:
type: none
resources:
- name: "stationinfo"
path: "/api/data/stationinfo"
operations:
- name: "getStationInfo"
method: GET
description: "Weather observation station information."
inputParameters:
- name: "ids"
in: query
type: string
required: false
description: "Station identifiers."
- name: "bbox"
in: query
type: string
required: false
description: "Bounding box."
- name: "format"
in: query
type: string
required: false
description: "Response format (json, geojson, xml)."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "airport"
path: "/api/data/airport"
operations:
- name: "getAirport"
method: GET
description: "Airport information including runways and frequencies."
inputParameters:
- name: "ids"
in: query
type: string
required: false
description: "Airport identifiers."
- name: "bbox"
in: query
type: string
required: false
description: "Bounding box."
- name: "format"
in: query
type: string
required: false
description: "Response format."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "navaid"
path: "/api/data/navaid"
operations:
- name: "getNavaid"
method: GET
description: "Navigational aid info (VOR/NDB/DME)."
inputParameters:
- name: "ids"
in: query
type: string
required: false
description: "Navaid identifiers."
- name: "bbox"
in: query
type: string
required: false
description: "Bounding box."
- name: "format"
in: query
type: string
required: false
description: "Response format."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "fix"
path: "/api/data/fix"
operations:
- name: "getFix"
method: GET
description: "Navigational fix and waypoint info."
inputParameters:
- name: "ids"
in: query
type: string
required: false
description: "Fix identifiers."
- name: "bbox"
in: query
type: string
required: false
description: "Bounding box."
- name: "format"
in: query
type: string
required: false
description: "Response format."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "feature"
path: "/api/data/feature"
operations:
- name: "getFeature"
method: GET
description: "Geographic feature info (geographic points of interest)."
inputParameters:
- name: "bbox"
in: query
type: string
required: false
description: "Bounding box."
- name: "format"
in: query
type: string
required: false
description: "Response format."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
- name: "obstacle"
path: "/api/data/obstacle"
operations:
- name: "getObstacle"
method: GET
description: "Aviation obstacle info (tall structures)."
inputParameters:
- name: "bbox"
in: query
type: string
required: false
description: "Bounding box."
- name: "format"
in: query
type: string
required: false
description: "Response format."
outputRawFormat: json
outputParameters:
- name: result
type: object
value: "$."
# ── 2. REST exposer ────────────────────────────────────────────────────
exposes:
- type: rest
namespace: "aviationweather-navigational-data-rest"
port: 8080
description: "REST adapter for AviationWeather.gov Navigational Data. One Spectral-compliant resource per consumed operation, prefixed with /v1."
resources:
- path: "/v1/stations"
name: "stations"
description: "REST surface for station info."
operations:
- method: GET
name: "getStationInfo"
description: "Get station info."
call: "aviationweather-navigational-data.getStationInfo"
with:
ids: "rest.ids"
bbox: "rest.bbox"
format: "rest.format"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/airports"
name: "airports"
description: "REST surface for airport info."
operations:
- method: GET
name: "getAirport"
description: "Get airport info."
call: "aviationweather-navigational-data.getAirport"
with:
ids: "rest.ids"
bbox: "rest.bbox"
format: "rest.format"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/navaids"
name: "navaids"
description: "REST surface for navigational aid info."
operations:
- method: GET
name: "getNavaid"
description: "Get navaid info."
call: "aviationweather-navigational-data.getNavaid"
with:
ids: "rest.ids"
bbox: "rest.bbox"
format: "rest.format"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/fixes"
name: "fixes"
description: "REST surface for navigational fix/waypoint info."
operations:
- method: GET
name: "getFix"
description: "Get fix and waypoint info."
call: "aviationweather-navigational-data.getFix"
with:
ids: "rest.ids"
bbox: "rest.bbox"
format: "rest.format"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/features"
name: "features"
description: "REST surface for geographic feature info."
operations:
- method: GET
name: "getFeature"
description: "Get geographic feature info."
call: "aviationweather-navigational-data.getFeature"
with:
bbox: "rest.bbox"
format: "rest.format"
outputParameters:
- type: object
mapping: "$."
- path: "/v1/obstacles"
name: "obstacles"
description: "REST surface for obstacle info."
operations:
- method: GET
name: "getObstacle"
description: "Get obstacle info."
call: "aviationweather-navigational-data.getObstacle"
with:
bbox: "rest.bbox"
format: "rest.format"
outputParameters:
- type: object
mapping: "$."
# ── 3. MCP exposer ─────────────────────────────────────────────────────
- type: mcp
namespace: "aviationweather-navigational-data-mcp"
port: 9090
transport: http
description: "MCP adapter for AviationWeather.gov Navigational Data. One tool per consumed operation, routed inline through this capability's consumes block."
tools:
- name: "get-station-info"
description: "Get station info."
hints:
readOnly: true
destructive: false
idempotent: true
call: "aviationweather-navigational-data.getStationInfo"
with:
ids: "tools.ids"
bbox: "tools.bbox"
format: "tools.format"
outputParameters:
- type: object
mapping: "$."
- name: "get-airport"
description: "Get airport info."
hints:
readOnly: true
destructive: false
idempotent: true
call: "aviationweather-navigational-data.getAirport"
with:
ids: "tools.ids"
bbox: "tools.bbox"
format: "tools.format"
outputParameters:
- type: object
mapping: "$."
- name: "get-navaid"
description: "Get navaid info."
hints:
readOnly: true
destructive: false
idempotent: true
call: "aviationweather-navigational-data.getNavaid"
with:
ids: "tools.ids"
bbox: "tools.bbox"
format: "tools.format"
outputParameters:
- type: object
mapping: "$."
- name: "get-fix"
description: "Get fix and waypoint info."
hints:
readOnly: true
destructive: false
idempotent: true
call: "aviationweather-navigational-data.getFix"
with:
ids: "tools.ids"
bbox: "tools.bbox"
format: "tools.format"
outputParameters:
- type: object
mapping: "$."
- name: "get-feature"
description: "Get geographic feature info."
hints:
readOnly: true
destructive: false
idempotent: true
call: "aviationweather-navigational-data.getFeature"
with:
bbox: "tools.bbox"
format: "tools.format"
outputParameters:
- type: object
mapping: "$."
- name: "get-obstacle"
description: "Get obstacle info."
hints:
readOnly: true
destructive: false
idempotent: true
call: "aviationweather-navigational-data.getObstacle"
with:
bbox: "tools.bbox"
format: "tools.format"
outputParameters:
- type: object
mapping: "$."