OpenWeatherMap · Capability
OpenWeatherMap Geocoding
Naftiko capability for OpenWeather Geocoding API covering direct, zip, and reverse geocoding.
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
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: $.