OpenWeatherMap · Capability
OpenWeatherMap Forecast
Naftiko capability covering OpenWeather 5-day/3-hour forecast plus pro hourly, daily, and climatic forecasts.
What You Can Do
GET
Getforecastfiveday
— Five-day three-hour forecast.
/v1/forecast
GET
Getforecasthourly
— Four-day hourly forecast.
/v1/forecast/hourly
GET
Getforecastdaily
— Sixteen-day daily forecast.
/v1/forecast/daily
GET
Getforecastclimate
— Thirty-day climatic forecast.
/v1/forecast/climate
MCP Tools
get-forecast-five-day
Five-day three-hour forecast.
read-only
idempotent
get-forecast-hourly
Four-day hourly forecast.
read-only
idempotent
get-forecast-daily
Sixteen-day daily forecast.
read-only
idempotent
get-forecast-climate
Thirty-day climatic forecast.
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: OpenWeatherMap Forecast
description: Naftiko capability covering OpenWeather 5-day/3-hour forecast plus pro hourly, daily, and climatic forecasts.
tags:
- OpenWeather
- Forecast
created: '2026-05-29'
modified: '2026-05-29'
binds:
- namespace: env
keys:
OPENWEATHER_API_KEY: OPENWEATHER_API_KEY
capability:
consumes:
- type: http
namespace: openweathermap-forecast
baseUri: https://api.openweathermap.org/data/2.5
description: OpenWeather 5-day/3-hour forecast.
resources:
- name: forecast
path: /forecast
operations:
- name: getforecastfiveday
method: GET
description: Five-day three-hour forecast for a coordinate.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: lat
in: query
type: number
required: true
- name: lon
in: query
type: number
required: true
- name: cnt
in: query
type: integer
- name: units
in: query
type: string
- name: lang
in: query
type: string
- name: appid
in: query
type: string
required: true
authentication:
type: apikey
key: appid
value: '{{env.OPENWEATHER_API_KEY}}'
placement: query
- type: http
namespace: openweathermap-forecast-pro
baseUri: https://pro.openweathermap.org/data/2.5
description: OpenWeather pro forecast tier (hourly, daily, climatic).
resources:
- name: forecast-hourly
path: /forecast/hourly
operations:
- name: getforecasthourly
method: GET
description: Four-day hourly forecast.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: lat
in: query
type: number
required: true
- name: lon
in: query
type: number
required: true
- name: cnt
in: query
type: integer
- name: units
in: query
type: string
- name: lang
in: query
type: string
- name: appid
in: query
type: string
required: true
- name: forecast-daily
path: /forecast/daily
operations:
- name: getforecastdaily
method: GET
description: Sixteen-day daily forecast.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: lat
in: query
type: number
required: true
- name: lon
in: query
type: number
required: true
- name: cnt
in: query
type: integer
- name: units
in: query
type: string
- name: lang
in: query
type: string
- name: appid
in: query
type: string
required: true
- name: forecast-climate
path: /forecast/climate
operations:
- name: getforecastclimate
method: GET
description: Thirty-day climatic forecast.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: lat
in: query
type: number
required: true
- name: lon
in: query
type: number
required: true
- name: cnt
in: query
type: integer
- name: units
in: query
type: string
- name: lang
in: query
type: string
- 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-forecast-rest
port: 8080
description: REST surface for OpenWeather forecast suite.
resources:
- path: /v1/forecast
name: forecast
description: Five-day three-hour forecast.
operations:
- method: GET
name: getforecastfiveday
description: Five-day three-hour forecast.
call: openweathermap-forecast.getforecastfiveday
with:
lat: rest.lat
lon: rest.lon
cnt: rest.cnt
units: rest.units
lang: rest.lang
appid: rest.appid
outputParameters:
- type: object
mapping: $.
- path: /v1/forecast/hourly
name: forecast-hourly
description: Four-day hourly forecast.
operations:
- method: GET
name: getforecasthourly
description: Four-day hourly forecast.
call: openweathermap-forecast-pro.getforecasthourly
with:
lat: rest.lat
lon: rest.lon
cnt: rest.cnt
units: rest.units
lang: rest.lang
appid: rest.appid
outputParameters:
- type: object
mapping: $.
- path: /v1/forecast/daily
name: forecast-daily
description: Sixteen-day daily forecast.
operations:
- method: GET
name: getforecastdaily
description: Sixteen-day daily forecast.
call: openweathermap-forecast-pro.getforecastdaily
with:
lat: rest.lat
lon: rest.lon
cnt: rest.cnt
units: rest.units
lang: rest.lang
appid: rest.appid
outputParameters:
- type: object
mapping: $.
- path: /v1/forecast/climate
name: forecast-climate
description: Thirty-day climatic forecast.
operations:
- method: GET
name: getforecastclimate
description: Thirty-day climatic forecast.
call: openweathermap-forecast-pro.getforecastclimate
with:
lat: rest.lat
lon: rest.lon
cnt: rest.cnt
units: rest.units
lang: rest.lang
appid: rest.appid
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: openweathermap-forecast-mcp
port: 9090
transport: http
description: MCP surface for OpenWeather forecasts.
tools:
- name: get-forecast-five-day
description: Five-day three-hour forecast.
hints:
readOnly: true
destructive: false
idempotent: true
call: openweathermap-forecast.getforecastfiveday
with:
lat: tools.lat
lon: tools.lon
cnt: tools.cnt
units: tools.units
lang: tools.lang
appid: tools.appid
outputParameters:
- type: object
mapping: $.
- name: get-forecast-hourly
description: Four-day hourly forecast.
hints:
readOnly: true
destructive: false
idempotent: true
call: openweathermap-forecast-pro.getforecasthourly
with:
lat: tools.lat
lon: tools.lon
cnt: tools.cnt
units: tools.units
lang: tools.lang
appid: tools.appid
outputParameters:
- type: object
mapping: $.
- name: get-forecast-daily
description: Sixteen-day daily forecast.
hints:
readOnly: true
destructive: false
idempotent: true
call: openweathermap-forecast-pro.getforecastdaily
with:
lat: tools.lat
lon: tools.lon
cnt: tools.cnt
units: tools.units
lang: tools.lang
appid: tools.appid
outputParameters:
- type: object
mapping: $.
- name: get-forecast-climate
description: Thirty-day climatic forecast.
hints:
readOnly: true
destructive: false
idempotent: true
call: openweathermap-forecast-pro.getforecastclimate
with:
lat: tools.lat
lon: tools.lon
cnt: tools.cnt
units: tools.units
lang: tools.lang
appid: tools.appid
outputParameters:
- type: object
mapping: $.