OpenWeatherMap · Capability

OpenWeatherMap Geocoding

Naftiko capability for OpenWeather Geocoding API covering direct, zip, and reverse geocoding.

Run with Naftiko OpenWeatherGeocoding

What You Can Do

GET
Getdirectgeocoding
/v1/geocoding/direct
GET
Getzipgeocoding
/v1/geocoding/zip
GET
Getreversegeocoding
/v1/geocoding/reverse

MCP Tools

geocode-by-name

Direct geocoding by location name.

read-only idempotent
geocode-by-zip

Direct geocoding by zip or post code.

read-only idempotent
reverse-geocode

Reverse geocoding by coordinate.

read-only idempotent

Capability Spec

geocoding.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: OpenWeatherMap Geocoding
  description: Naftiko capability for OpenWeather Geocoding API covering direct, zip, and reverse geocoding.
  tags:
    - OpenWeather
    - Geocoding
  created: '2026-05-29'
  modified: '2026-05-29'
binds:
  - namespace: env
    keys:
      OPENWEATHER_API_KEY: OPENWEATHER_API_KEY
capability:
  consumes:
    - type: http
      namespace: openweathermap-geocoding
      baseUri: https://api.openweathermap.org/geo/1.0
      description: OpenWeather Geocoding API.
      resources:
        - name: direct
          path: /direct
          operations:
            - name: getdirectgeocoding
              method: GET
              description: Direct geocoding by location name.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: array
                  value: $.
              inputParameters:
                - name: q
                  in: query
                  type: string
                  required: true
                - name: limit
                  in: query
                  type: integer
                - name: appid
                  in: query
                  type: string
                  required: true
        - name: zip
          path: /zip
          operations:
            - name: getzipgeocoding
              method: GET
              description: Direct geocoding by zip or post code.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: zip
                  in: query
                  type: string
                  required: true
                - name: appid
                  in: query
                  type: string
                  required: true
        - name: reverse
          path: /reverse
          operations:
            - name: getreversegeocoding
              method: GET
              description: Reverse geocoding by coordinate.
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: array
                  value: $.
              inputParameters:
                - name: lat
                  in: query
                  type: number
                  required: true
                - name: lon
                  in: query
                  type: number
                  required: true
                - name: limit
                  in: query
                  type: integer
                - name: appid
                  in: query
                  type: string
                  required: true
      authentication:
        type: apikey
        key: appid
        value: '{{env.OPENWEATHER_API_KEY}}'
        placement: query
  exposes:
    - type: rest
      namespace: openweathermap-geocoding-rest
      port: 8080
      description: REST surface for OpenWeather Geocoding.
      resources:
        - path: /v1/geocoding/direct
          name: direct
          operations:
            - method: GET
              name: getdirectgeocoding
              call: openweathermap-geocoding.getdirectgeocoding
              with:
                q: rest.q
                limit: rest.limit
                appid: rest.appid
              outputParameters:
                - type: array
                  mapping: $.
        - path: /v1/geocoding/zip
          name: zip
          operations:
            - method: GET
              name: getzipgeocoding
              call: openweathermap-geocoding.getzipgeocoding
              with:
                zip: rest.zip
                appid: rest.appid
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/geocoding/reverse
          name: reverse
          operations:
            - method: GET
              name: getreversegeocoding
              call: openweathermap-geocoding.getreversegeocoding
              with:
                lat: rest.lat
                lon: rest.lon
                limit: rest.limit
                appid: rest.appid
              outputParameters:
                - type: array
                  mapping: $.
    - type: mcp
      namespace: openweathermap-geocoding-mcp
      port: 9090
      transport: http
      description: MCP surface for OpenWeather Geocoding.
      tools:
        - name: geocode-by-name
          description: Direct geocoding by location name.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: openweathermap-geocoding.getdirectgeocoding
          with:
            q: tools.q
            limit: tools.limit
            appid: tools.appid
          outputParameters:
            - type: array
              mapping: $.
        - name: geocode-by-zip
          description: Direct geocoding by zip or post code.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: openweathermap-geocoding.getzipgeocoding
          with:
            zip: tools.zip
            appid: tools.appid
          outputParameters:
            - type: object
              mapping: $.
        - name: reverse-geocode
          description: Reverse geocoding by coordinate.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: openweathermap-geocoding.getreversegeocoding
          with:
            lat: tools.lat
            lon: tools.lon
            limit: tools.limit
            appid: tools.appid
          outputParameters:
            - type: array
              mapping: $.