naftiko: 1.0.0-alpha2 info: label: Starbucks API — Menu description: 'Starbucks API — Menu. 3 operations. Lead operation: List Menu Categories. Self-contained Naftiko capability covering one Starbucks business surface.' tags: - Starbucks - Menu created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: STARBUCKS_API_KEY: STARBUCKS_API_KEY capability: consumes: - type: http namespace: starbucks-menu baseUri: https://api.starbucks.com description: Starbucks API — Menu business capability. Self-contained, no shared references. resources: - name: v1-menu-categories path: /v1/menu/categories operations: - name: listmenucategories method: GET description: List Menu Categories outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-menu-categories-categoryId-items path: /v1/menu/categories/{categoryId}/items operations: - name: listmenuitems method: GET description: List Menu Items outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: categoryId in: path type: string description: The unique identifier of the menu category required: true - name: limit in: query type: integer description: Maximum number of items to return - name: offset in: query type: integer description: Pagination offset - name: v1-menu-items-itemId path: /v1/menu/items/{itemId} operations: - name: getmenuitem method: GET description: Get Menu Item outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: itemId in: path type: string description: The unique identifier of the menu item required: true authentication: type: bearer token: '{{env.STARBUCKS_API_KEY}}' exposes: - type: rest namespace: starbucks-menu-rest port: 8080 description: REST adapter for Starbucks API — Menu. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/menu/categories name: v1-menu-categories description: REST surface for v1-menu-categories. operations: - method: GET name: listmenucategories description: List Menu Categories call: starbucks-menu.listmenucategories outputParameters: - type: object mapping: $. - path: /v1/v1/menu/categories/{categoryid}/items name: v1-menu-categories-categoryid-items description: REST surface for v1-menu-categories-categoryId-items. operations: - method: GET name: listmenuitems description: List Menu Items call: starbucks-menu.listmenuitems with: categoryId: rest.categoryId limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - path: /v1/v1/menu/items/{itemid} name: v1-menu-items-itemid description: REST surface for v1-menu-items-itemId. operations: - method: GET name: getmenuitem description: Get Menu Item call: starbucks-menu.getmenuitem with: itemId: rest.itemId outputParameters: - type: object mapping: $. - type: mcp namespace: starbucks-menu-mcp port: 9090 transport: http description: MCP adapter for Starbucks API — Menu. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-menu-categories description: List Menu Categories hints: readOnly: true destructive: false idempotent: true call: starbucks-menu.listmenucategories outputParameters: - type: object mapping: $. - name: list-menu-items description: List Menu Items hints: readOnly: true destructive: false idempotent: true call: starbucks-menu.listmenuitems with: categoryId: tools.categoryId limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: get-menu-item description: Get Menu Item hints: readOnly: true destructive: false idempotent: true call: starbucks-menu.getmenuitem with: itemId: tools.itemId outputParameters: - type: object mapping: $.