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.

Run with Naftiko Aviation Weather CenterNOAA NWSNavigational Data

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

aviationweather-navigational-data.yaml Raw ↑
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: "$."