naftiko: 1.0.0-alpha2 info: label: OpenWeatherMap Geocoding description: Naftiko capability for OpenWeather Geocoding API covering direct, zip, and reverse geocoding. tags: - OpenWeather - Geocoding created: '2026-05-29' modified: '2026-05-29' binds: - namespace: env keys: OPENWEATHER_API_KEY: OPENWEATHER_API_KEY capability: consumes: - type: http namespace: openweathermap-geocoding baseUri: https://api.openweathermap.org/geo/1.0 description: OpenWeather Geocoding API. resources: - name: direct path: /direct operations: - name: getdirectgeocoding method: GET description: Direct geocoding by location name. outputRawFormat: json outputParameters: - name: result type: array value: $. inputParameters: - name: q in: query type: string required: true - name: limit in: query type: integer - name: appid in: query type: string required: true - name: zip path: /zip operations: - name: getzipgeocoding method: GET description: Direct geocoding by zip or post code. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: zip in: query type: string required: true - name: appid in: query type: string required: true - name: reverse path: /reverse operations: - name: getreversegeocoding method: GET description: Reverse geocoding by coordinate. outputRawFormat: json outputParameters: - name: result type: array value: $. inputParameters: - name: lat in: query type: number required: true - name: lon in: query type: number required: true - name: limit in: query type: integer - 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-geocoding-rest port: 8080 description: REST surface for OpenWeather Geocoding. resources: - path: /v1/geocoding/direct name: direct operations: - method: GET name: getdirectgeocoding call: openweathermap-geocoding.getdirectgeocoding with: q: rest.q limit: rest.limit appid: rest.appid outputParameters: - type: array mapping: $. - path: /v1/geocoding/zip name: zip operations: - method: GET name: getzipgeocoding call: openweathermap-geocoding.getzipgeocoding with: zip: rest.zip appid: rest.appid outputParameters: - type: object mapping: $. - path: /v1/geocoding/reverse name: reverse operations: - method: GET name: getreversegeocoding call: openweathermap-geocoding.getreversegeocoding with: lat: rest.lat lon: rest.lon limit: rest.limit appid: rest.appid outputParameters: - type: array mapping: $. - type: mcp namespace: openweathermap-geocoding-mcp port: 9090 transport: http description: MCP surface for OpenWeather Geocoding. tools: - name: geocode-by-name description: Direct geocoding by location name. hints: readOnly: true destructive: false idempotent: true call: openweathermap-geocoding.getdirectgeocoding with: q: tools.q limit: tools.limit appid: tools.appid outputParameters: - type: array mapping: $. - name: geocode-by-zip description: Direct geocoding by zip or post code. hints: readOnly: true destructive: false idempotent: true call: openweathermap-geocoding.getzipgeocoding with: zip: tools.zip appid: tools.appid outputParameters: - type: object mapping: $. - name: reverse-geocode description: Reverse geocoding by coordinate. hints: readOnly: true destructive: false idempotent: true call: openweathermap-geocoding.getreversegeocoding with: lat: tools.lat lon: tools.lon limit: tools.limit appid: tools.appid outputParameters: - type: array mapping: $.