naftiko: 1.0.0-alpha2 info: label: Stack Exchange API — Users description: 'Stack Exchange API — Users. 5 operations. Lead operation: Get All Users. Self-contained Naftiko capability covering one Stack Exchange business surface.' tags: - Stack Exchange - Users 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-users baseUri: https://api.stackexchange.com/2.3 description: Stack Exchange API — Users business capability. Self-contained, no shared references. resources: - name: users path: /users operations: - name: getusers method: GET description: Get All Users outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: inname in: query type: string description: Filter users whose display name contains this string - name: users-me path: /users/me operations: - name: getauthenticateduser method: GET description: Get Authenticated User outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-ids path: /users/{ids} operations: - name: getusersbyids method: GET description: Get Users by IDs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: ids in: path type: string description: Semicolon-delimited list of user IDs required: true - name: users-ids-answers path: /users/{ids}/answers operations: - name: getanswersbyuser method: GET description: Get Answers by User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: ids in: path type: string description: Semicolon-delimited list of user IDs required: true - name: users-ids-questions path: /users/{ids}/questions operations: - name: getquestionsbyuser method: GET description: Get Questions by User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: ids in: path type: string description: Semicolon-delimited list of user IDs required: true authentication: type: bearer token: '{{env.STACK_EXCHANGE_API_KEY}}' exposes: - type: rest namespace: stack-exchange-users-rest port: 8080 description: REST adapter for Stack Exchange API — Users. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/users name: users description: REST surface for users. operations: - method: GET name: getusers description: Get All Users call: stack-exchange-users.getusers with: inname: rest.inname outputParameters: - type: object mapping: $. - path: /v1/users/me name: users-me description: REST surface for users-me. operations: - method: GET name: getauthenticateduser description: Get Authenticated User call: stack-exchange-users.getauthenticateduser outputParameters: - type: object mapping: $. - path: /v1/users/{ids} name: users-ids description: REST surface for users-ids. operations: - method: GET name: getusersbyids description: Get Users by IDs call: stack-exchange-users.getusersbyids with: ids: rest.ids outputParameters: - type: object mapping: $. - path: /v1/users/{ids}/answers name: users-ids-answers description: REST surface for users-ids-answers. operations: - method: GET name: getanswersbyuser description: Get Answers by User call: stack-exchange-users.getanswersbyuser with: ids: rest.ids outputParameters: - type: object mapping: $. - path: /v1/users/{ids}/questions name: users-ids-questions description: REST surface for users-ids-questions. operations: - method: GET name: getquestionsbyuser description: Get Questions by User call: stack-exchange-users.getquestionsbyuser with: ids: rest.ids outputParameters: - type: object mapping: $. - type: mcp namespace: stack-exchange-users-mcp port: 9090 transport: http description: MCP adapter for Stack Exchange API — Users. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-all-users description: Get All Users hints: readOnly: true destructive: false idempotent: true call: stack-exchange-users.getusers with: inname: tools.inname outputParameters: - type: object mapping: $. - name: get-authenticated-user description: Get Authenticated User hints: readOnly: true destructive: false idempotent: true call: stack-exchange-users.getauthenticateduser outputParameters: - type: object mapping: $. - name: get-users-ids description: Get Users by IDs hints: readOnly: true destructive: false idempotent: true call: stack-exchange-users.getusersbyids with: ids: tools.ids outputParameters: - type: object mapping: $. - name: get-answers-user description: Get Answers by User hints: readOnly: true destructive: false idempotent: true call: stack-exchange-users.getanswersbyuser with: ids: tools.ids outputParameters: - type: object mapping: $. - name: get-questions-user description: Get Questions by User hints: readOnly: true destructive: false idempotent: true call: stack-exchange-users.getquestionsbyuser with: ids: tools.ids outputParameters: - type: object mapping: $.