naftiko: 1.0.0-alpha2 info: label: Foursquare Places API — search description: 'Foursquare Places API — search. 2 operations. Lead operation: Nearby places. Self-contained Naftiko capability covering one Foursquare business surface.' tags: - Foursquare - search created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FOURSQUARE_API_KEY: FOURSQUARE_API_KEY capability: consumes: - type: http namespace: places-search baseUri: https://places-api.foursquare.com description: Foursquare Places API — search business capability. Self-contained, no shared references. resources: - name: places-nearby path: /places/nearby operations: - name: nearbyplaces method: GET description: Nearby places outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: ll in: query type: string required: true - name: radius in: query type: integer - name: limit in: query type: integer - name: places-search path: /places/search operations: - name: searchplaces method: GET description: Search for places outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string description: Free-text search term (e.g., "coffee"). - name: ll in: query type: string description: Latitude,longitude pair (e.g., "40.7128,-74.0060"). - name: near in: query type: string description: Geocodable text location (e.g., "New York, NY"). - name: radius in: query type: integer description: Search radius in meters. - name: categories in: query type: string description: Comma-separated Foursquare category ids. - name: limit in: query type: integer - name: sort in: query type: string authentication: type: apikey key: Authorization value: '{{env.FOURSQUARE_API_KEY}}' placement: header exposes: - type: rest namespace: places-search-rest port: 8080 description: REST adapter for Foursquare Places API — search. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/places/nearby name: places-nearby description: REST surface for places-nearby. operations: - method: GET name: nearbyplaces description: Nearby places call: places-search.nearbyplaces with: ll: rest.ll radius: rest.radius limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/places/search name: places-search description: REST surface for places-search. operations: - method: GET name: searchplaces description: Search for places call: places-search.searchplaces with: query: rest.query ll: rest.ll near: rest.near radius: rest.radius categories: rest.categories limit: rest.limit sort: rest.sort outputParameters: - type: object mapping: $. - type: mcp namespace: places-search-mcp port: 9090 transport: http description: MCP adapter for Foursquare Places API — search. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: nearby-places description: Nearby places hints: readOnly: true destructive: false idempotent: true call: places-search.nearbyplaces with: ll: tools.ll radius: tools.radius limit: tools.limit outputParameters: - type: object mapping: $. - name: search-places description: Search for places hints: readOnly: true destructive: false idempotent: true call: places-search.searchplaces with: query: tools.query ll: tools.ll near: tools.near radius: tools.radius categories: tools.categories limit: tools.limit sort: tools.sort outputParameters: - type: object mapping: $.