naftiko: 1.0.0-alpha2 info: label: Stack Exchange API — Search description: 'Stack Exchange API — Search. 3 operations. Lead operation: Search Questions. Self-contained Naftiko capability covering one Stack Exchange business surface.' tags: - Stack Exchange - Search created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: STACK_EXCHANGE_API_KEY: STACK_EXCHANGE_API_KEY capability: consumes: - type: http namespace: stack-exchange-search baseUri: https://api.stackexchange.com/2.3 description: Stack Exchange API — Search business capability. Self-contained, no shared references. resources: - name: search path: /search operations: - name: searchquestions method: GET description: Search Questions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: intitle in: query type: string description: Search within question titles - name: nottagged in: query type: string description: Exclude questions with these semicolon-delimited tags - name: search-advanced path: /search/advanced operations: - name: searchadvanced method: GET description: Advanced Question Search outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string description: Full-text search query - name: accepted in: query type: boolean description: Filter for questions that have accepted answers - name: answers in: query type: integer description: Minimum number of answers - name: body in: query type: string description: Text that must appear in the question body - name: closed in: query type: boolean description: Filter for closed or open questions - name: migrated in: query type: boolean description: Filter for migrated questions - name: notice in: query type: boolean description: Filter for questions with a post notice - name: nottagged in: query type: string description: Exclude questions with these tags (semicolon-delimited) - name: title in: query type: string description: Text that must appear in the question title - name: user in: query type: integer description: Filter by user ID of the question owner - name: views in: query type: integer description: Minimum number of question views - name: wiki in: query type: boolean description: Filter for community wiki questions - name: similar path: /similar operations: - name: findsimilarquestions method: GET description: Find Similar Questions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: title in: query type: string description: The title of the question to find similar questions for required: true authentication: type: bearer token: '{{env.STACK_EXCHANGE_API_KEY}}' exposes: - type: rest namespace: stack-exchange-search-rest port: 8080 description: REST adapter for Stack Exchange API — Search. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/search name: search description: REST surface for search. operations: - method: GET name: searchquestions description: Search Questions call: stack-exchange-search.searchquestions with: intitle: rest.intitle nottagged: rest.nottagged outputParameters: - type: object mapping: $. - path: /v1/search/advanced name: search-advanced description: REST surface for search-advanced. operations: - method: GET name: searchadvanced description: Advanced Question Search call: stack-exchange-search.searchadvanced with: q: rest.q accepted: rest.accepted answers: rest.answers body: rest.body closed: rest.closed migrated: rest.migrated notice: rest.notice nottagged: rest.nottagged title: rest.title user: rest.user views: rest.views wiki: rest.wiki outputParameters: - type: object mapping: $. - path: /v1/similar name: similar description: REST surface for similar. operations: - method: GET name: findsimilarquestions description: Find Similar Questions call: stack-exchange-search.findsimilarquestions with: title: rest.title outputParameters: - type: object mapping: $. - type: mcp namespace: stack-exchange-search-mcp port: 9090 transport: http description: MCP adapter for Stack Exchange API — Search. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: search-questions description: Search Questions hints: readOnly: true destructive: false idempotent: true call: stack-exchange-search.searchquestions with: intitle: tools.intitle nottagged: tools.nottagged outputParameters: - type: object mapping: $. - name: advanced-question-search description: Advanced Question Search hints: readOnly: true destructive: false idempotent: true call: stack-exchange-search.searchadvanced with: q: tools.q accepted: tools.accepted answers: tools.answers body: tools.body closed: tools.closed migrated: tools.migrated notice: tools.notice nottagged: tools.nottagged title: tools.title user: tools.user views: tools.views wiki: tools.wiki outputParameters: - type: object mapping: $. - name: find-similar-questions description: Find Similar Questions hints: readOnly: true destructive: false idempotent: true call: stack-exchange-search.findsimilarquestions with: title: tools.title outputParameters: - type: object mapping: $.