naftiko: 1.0.0-alpha2 info: label: OpenWeather One Call and Air Pollution API — Air Pollution description: 'OpenWeather One Call and Air Pollution API — Air Pollution. 3 operations. Lead operation: Current air pollution data for a coordinate. Self-contained Naftiko capability covering one Openweather business surface.' tags: - Openweather - Air Pollution created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: OPENWEATHER_API_KEY: OPENWEATHER_API_KEY capability: consumes: - type: http namespace: openweather-air-pollution baseUri: https://api.openweathermap.org/data/3.0 description: OpenWeather One Call and Air Pollution API — Air Pollution business capability. Self-contained, no shared references. resources: - name: air_pollution path: /air_pollution operations: - name: getcurrentairpollution method: GET description: Current air pollution data 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: 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 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: appid in: query type: string required: true - name: air_pollution-history path: /air_pollution/history operations: - name: getairpollutionhistory method: GET description: Historical air pollution data 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: start in: query type: integer description: Unix UTC start timestamp. required: true - name: end in: query type: integer description: Unix UTC end timestamp. 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: openweather-air-pollution-rest port: 8080 description: REST adapter for OpenWeather One Call and Air Pollution API — Air Pollution. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/air-pollution name: air-pollution description: REST surface for air_pollution. operations: - method: GET name: getcurrentairpollution description: Current air pollution data for a coordinate call: openweather-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 description: REST surface for air_pollution-forecast. operations: - method: GET name: getairpollutionforecast description: Hourly air pollution forecast for a coordinate call: openweather-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 description: REST surface for air_pollution-history. operations: - method: GET name: getairpollutionhistory description: Historical air pollution data for a coordinate call: openweather-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: openweather-air-pollution-mcp port: 9090 transport: http description: MCP adapter for OpenWeather One Call and Air Pollution API — Air Pollution. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: current-air-pollution-data-coordinate description: Current air pollution data for a coordinate hints: readOnly: true destructive: false idempotent: true call: openweather-air-pollution.getcurrentairpollution with: lat: tools.lat lon: tools.lon appid: tools.appid outputParameters: - type: object mapping: $. - name: hourly-air-pollution-forecast-coordinate description: Hourly air pollution forecast for a coordinate hints: readOnly: true destructive: false idempotent: true call: openweather-air-pollution.getairpollutionforecast with: lat: tools.lat lon: tools.lon appid: tools.appid outputParameters: - type: object mapping: $. - name: historical-air-pollution-data-coordinate description: Historical air pollution data for a coordinate hints: readOnly: true destructive: false idempotent: true call: openweather-air-pollution.getairpollutionhistory with: lat: tools.lat lon: tools.lon start: tools.start end: tools.end appid: tools.appid outputParameters: - type: object mapping: $.