OpenWeatherMap · Capability

OpenWeatherMap Forecast

Naftiko capability covering OpenWeather 5-day/3-hour forecast plus pro hourly, daily, and climatic forecasts.

Run with Naftiko OpenWeatherForecast

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

forecast.yaml Raw ↑
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: $.