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: $.