OpenWeatherMap · Capability

OpenWeatherMap One Call 4.0

Naftiko capability for OpenWeather One Call API 4.0 current and timeline endpoints.

Run with Naftiko OpenWeatherOne Call

What You Can Do

GET
Getonecallcurrent
/v1/onecall/current
GET
Getonecalltimelinehour
/v1/onecall/timeline/1h
GET
Getonecalltimelineday
/v1/onecall/timeline/1day

MCP Tools

get-one-call-current

Current weather from One Call.

read-only idempotent
get-one-call-timeline-hour

Hourly timeline with history.

read-only idempotent
get-one-call-timeline-day

Daily timeline with aggregates.

read-only idempotent

Capability Spec

one-call.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: OpenWeatherMap One Call 4.0
  description: Naftiko capability for OpenWeather One Call API 4.0 current and timeline endpoints.
  tags:
    - OpenWeather
    - One Call
  created: '2026-05-29'
  modified: '2026-05-29'
binds:
  - namespace: env
    keys:
      OPENWEATHER_API_KEY: OPENWEATHER_API_KEY
capability:
  consumes:
    - type: http
      namespace: openweathermap-one-call
      baseUri: https://api.openweathermap.org/data/4.0/onecall
      description: OpenWeather One Call API 4.0.
      resources:
        - name: current
          path: /current
          operations:
            - name: getonecallcurrent
              method: GET
              description: Current weather from One Call.
              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: units
                  in: query
                  type: string
                - name: lang
                  in: query
                  type: string
                - name: appid
                  in: query
                  type: string
                  required: true
        - name: timeline-1h
          path: /timeline/1h
          operations:
            - name: getonecalltimelinehour
              method: GET
              description: Hourly timeline with history.
              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: units
                  in: query
                  type: string
                - name: appid
                  in: query
                  type: string
                  required: true
        - name: timeline-1day
          path: /timeline/1day
          operations:
            - name: getonecalltimelineday
              method: GET
              description: Daily timeline with aggregates.
              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: units
                  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-one-call-rest
      port: 8080
      description: REST surface for OpenWeather One Call 4.0.
      resources:
        - path: /v1/onecall/current
          name: current
          operations:
            - method: GET
              name: getonecallcurrent
              call: openweathermap-one-call.getonecallcurrent
              with:
                lat: rest.lat
                lon: rest.lon
                units: rest.units
                lang: rest.lang
                appid: rest.appid
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/onecall/timeline/1h
          name: timeline-1h
          operations:
            - method: GET
              name: getonecalltimelinehour
              call: openweathermap-one-call.getonecalltimelinehour
              with:
                lat: rest.lat
                lon: rest.lon
                units: rest.units
                appid: rest.appid
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/onecall/timeline/1day
          name: timeline-1day
          operations:
            - method: GET
              name: getonecalltimelineday
              call: openweathermap-one-call.getonecalltimelineday
              with:
                lat: rest.lat
                lon: rest.lon
                units: rest.units
                appid: rest.appid
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: openweathermap-one-call-mcp
      port: 9090
      transport: http
      description: MCP surface for OpenWeather One Call 4.0.
      tools:
        - name: get-one-call-current
          description: Current weather from One Call.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: openweathermap-one-call.getonecallcurrent
          with:
            lat: tools.lat
            lon: tools.lon
            units: tools.units
            lang: tools.lang
            appid: tools.appid
          outputParameters:
            - type: object
              mapping: $.
        - name: get-one-call-timeline-hour
          description: Hourly timeline with history.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: openweathermap-one-call.getonecalltimelinehour
          with:
            lat: tools.lat
            lon: tools.lon
            units: tools.units
            appid: tools.appid
          outputParameters:
            - type: object
              mapping: $.
        - name: get-one-call-timeline-day
          description: Daily timeline with aggregates.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: openweathermap-one-call.getonecalltimelineday
          with:
            lat: tools.lat
            lon: tools.lon
            units: tools.units
            appid: tools.appid
          outputParameters:
            - type: object
              mapping: $.