OpenWeatherMap · Capability

OpenWeatherMap Air Pollution

Naftiko capability for OpenWeather Air Pollution API covering current, forecast, and history.

Run with Naftiko OpenWeatherAir Pollution

What You Can Do

GET
Getcurrentairpollution
/v1/air_pollution
GET
Getairpollutionforecast
/v1/air_pollution/forecast
GET
Getairpollutionhistory
/v1/air_pollution/history

MCP Tools

get-current-air-pollution

Current air pollution data.

read-only idempotent
get-air-pollution-forecast

Hourly air pollution forecast.

read-only idempotent
get-air-pollution-history

Historical hourly air pollution data.

read-only idempotent

Capability Spec

air-pollution.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: OpenWeatherMap Air Pollution
  description: Naftiko capability for OpenWeather Air Pollution API covering current, forecast, and history.
  tags:
    - OpenWeather
    - Air Pollution
  created: '2026-05-29'
  modified: '2026-05-29'
binds:
  - namespace: env
    keys:
      OPENWEATHER_API_KEY: OPENWEATHER_API_KEY
capability:
  consumes:
    - type: http
      namespace: openweathermap-air-pollution
      baseUri: https://api.openweathermap.org/data/2.5
      description: OpenWeather Air Pollution API.
      resources:
        - name: air-pollution
          path: /air_pollution
          operations:
            - name: getcurrentairpollution
              method: GET
              description: Current air pollution data.
              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: appid
                  in: query
                  type: string
                  required: true
        - name: air-pollution-forecast
          path: /air_pollution/forecast
          operations:
            - name: getairpollutionforecast
              method: GET
              description: Hourly air pollution 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: appid
                  in: query
                  type: string
                  required: true
        - name: air-pollution-history
          path: /air_pollution/history
          operations:
            - name: getairpollutionhistory
              method: GET
              description: Historical hourly air pollution data.
              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: start
                  in: query
                  type: integer
                  required: true
                - name: end
                  in: query
                  type: integer
                  required: true
                - 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-air-pollution-rest
      port: 8080
      description: REST surface for OpenWeather Air Pollution.
      resources:
        - path: /v1/air_pollution
          name: air-pollution
          operations:
            - method: GET
              name: getcurrentairpollution
              call: openweathermap-air-pollution.getcurrentairpollution
              with:
                lat: rest.lat
                lon: rest.lon
                appid: rest.appid
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/air_pollution/forecast
          name: air-pollution-forecast
          operations:
            - method: GET
              name: getairpollutionforecast
              call: openweathermap-air-pollution.getairpollutionforecast
              with:
                lat: rest.lat
                lon: rest.lon
                appid: rest.appid
              outputParameters:
                - type: object
                  mapping: $.
        - path: /v1/air_pollution/history
          name: air-pollution-history
          operations:
            - method: GET
              name: getairpollutionhistory
              call: openweathermap-air-pollution.getairpollutionhistory
              with:
                lat: rest.lat
                lon: rest.lon
                start: rest.start
                end: rest.end
                appid: rest.appid
              outputParameters:
                - type: object
                  mapping: $.
    - type: mcp
      namespace: openweathermap-air-pollution-mcp
      port: 9090
      transport: http
      description: MCP surface for OpenWeather Air Pollution.
      tools:
        - name: get-current-air-pollution
          description: Current air pollution data.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: openweathermap-air-pollution.getcurrentairpollution
          with:
            lat: tools.lat
            lon: tools.lon
            appid: tools.appid
          outputParameters:
            - type: object
              mapping: $.
        - name: get-air-pollution-forecast
          description: Hourly air pollution forecast.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: openweathermap-air-pollution.getairpollutionforecast
          with:
            lat: tools.lat
            lon: tools.lon
            appid: tools.appid
          outputParameters:
            - type: object
              mapping: $.
        - name: get-air-pollution-history
          description: Historical hourly air pollution data.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: openweathermap-air-pollution.getairpollutionhistory
          with:
            lat: tools.lat
            lon: tools.lon
            start: tools.start
            end: tools.end
            appid: tools.appid
          outputParameters:
            - type: object
              mapping: $.