naftiko: 1.0.0-alpha2 info: label: Starbucks Food Service description: Unified capability for Starbucks food service workflows including menu discovery, store location, loyalty management, and mobile ordering. Enables partner applications to provide full Starbucks experiences covering menu browsing, store finder, rewards tracking, and order placement. tags: - Starbucks - Food Service - Coffee - Mobile Ordering - Loyalty - Store Locator created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: STARBUCKS_API_TOKEN: STARBUCKS_API_TOKEN capability: consumes: - type: http namespace: starbucks baseUri: https://api.starbucks.com description: Starbucks API for menu, stores, loyalty, and ordering authentication: type: bearer token: '{{STARBUCKS_API_TOKEN}}' resources: - name: status path: /status description: API health and status operations: - name: get-status method: GET description: Get API status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: menu-categories path: /v1/menu/categories description: Menu category listing operations: - name: list-menu-categories method: GET description: List all menu categories outputRawFormat: json outputParameters: - name: result type: object value: $. - name: menu-items path: /v1/menu/categories/{categoryId}/items description: Menu items within a category operations: - name: list-menu-items method: GET description: List menu items for a category inputParameters: - name: categoryId in: path type: string required: true description: Menu category identifier - name: limit in: query type: integer required: false description: Maximum results to return - name: offset in: query type: integer required: false description: Pagination offset outputRawFormat: json outputParameters: - name: result type: object value: $. - name: menu-item path: /v1/menu/items/{itemId} description: Individual menu item details operations: - name: get-menu-item method: GET description: Get detailed menu item information inputParameters: - name: itemId in: path type: string required: true description: Menu item identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: stores path: /v1/stores description: Store location search operations: - name: list-stores method: GET description: Search and list Starbucks store locations inputParameters: - name: latitude in: query type: number required: false description: Latitude for location search - name: longitude in: query type: number required: false description: Longitude for location search - name: query in: query type: string required: false description: Text search query for location - name: radius in: query type: integer required: false description: Search radius in miles - name: limit in: query type: integer required: false description: Maximum results to return outputRawFormat: json outputParameters: - name: result type: object value: $. - name: store path: /v1/stores/{storeId} description: Individual store details operations: - name: get-store method: GET description: Get store details and hours inputParameters: - name: storeId in: path type: string required: true description: Store identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: loyalty-account path: /v1/loyalty/accounts/{accountId} description: Loyalty account management operations: - name: get-loyalty-account method: GET description: Get loyalty account star balance and tier inputParameters: - name: accountId in: path type: string required: true description: Loyalty account identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: loyalty-transactions path: /v1/loyalty/accounts/{accountId}/transactions description: Loyalty transaction history operations: - name: list-loyalty-transactions method: GET description: List star earning and redemption transactions inputParameters: - name: accountId in: path type: string required: true description: Loyalty account identifier - name: limit in: query type: integer required: false description: Maximum results to return - name: offset in: query type: integer required: false description: Pagination offset outputRawFormat: json outputParameters: - name: result type: object value: $. - name: orders path: /v1/orders description: Order management operations: - name: create-order method: POST description: Create a new Starbucks order body: type: json data: storeId: '{{tools.storeId}}' items: '{{tools.items}}' loyaltyAccountId: '{{tools.loyaltyAccountId}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: order path: /v1/orders/{orderId} description: Individual order status operations: - name: get-order method: GET description: Get order status and details inputParameters: - name: orderId in: path type: string required: true description: Order identifier outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: starbucks-food-service-api description: Unified REST API for Starbucks food service workflows. resources: - path: /v1/menu/categories name: menu-categories description: Browse Starbucks menu categories operations: - method: GET name: list-menu-categories description: List all available Starbucks menu categories call: starbucks.list-menu-categories outputParameters: - type: object mapping: $. - path: /v1/menu/categories/{categoryId}/items name: menu-items description: Browse items within a menu category operations: - method: GET name: list-menu-items description: List menu items in a category with pricing and options call: starbucks.list-menu-items with: categoryId: rest.categoryId outputParameters: - type: object mapping: $. - path: /v1/menu/items/{itemId} name: menu-item description: Get detailed menu item information operations: - method: GET name: get-menu-item description: Get full menu item details including nutrition and customization call: starbucks.get-menu-item with: itemId: rest.itemId outputParameters: - type: object mapping: $. - path: /v1/stores name: stores description: Find Starbucks store locations operations: - method: GET name: list-stores description: Search for Starbucks stores near a location call: starbucks.list-stores with: latitude: rest.latitude longitude: rest.longitude query: rest.query radius: rest.radius outputParameters: - type: object mapping: $. - path: /v1/stores/{storeId} name: store description: Get store details operations: - method: GET name: get-store description: Get Starbucks store details including hours and amenities call: starbucks.get-store with: storeId: rest.storeId outputParameters: - type: object mapping: $. - path: /v1/loyalty/accounts/{accountId} name: loyalty-account description: Manage Starbucks Rewards account operations: - method: GET name: get-loyalty-account description: Get loyalty account star balance and tier call: starbucks.get-loyalty-account with: accountId: rest.accountId outputParameters: - type: object mapping: $. - path: /v1/loyalty/accounts/{accountId}/transactions name: loyalty-transactions description: View loyalty transaction history operations: - method: GET name: list-loyalty-transactions description: List star earning and redemption transactions call: starbucks.list-loyalty-transactions with: accountId: rest.accountId outputParameters: - type: object mapping: $. - path: /v1/orders name: orders description: Mobile order management operations: - method: POST name: create-order description: Place a new Starbucks mobile order call: starbucks.create-order with: storeId: rest.storeId items: rest.items loyaltyAccountId: rest.loyaltyAccountId outputParameters: - type: object mapping: $. - path: /v1/orders/{orderId} name: order description: Track an order operations: - method: GET name: get-order description: Get order status and estimated ready time call: starbucks.get-order with: orderId: rest.orderId outputParameters: - type: object mapping: $. - type: mcp port: 9080 namespace: starbucks-food-service-mcp transport: http description: MCP server for AI-assisted Starbucks food service workflows. tools: - name: list-menu-categories description: Browse all Starbucks menu categories including Hot Coffees, Cold Coffees, Teas, Refreshers, Food, and Merchandise hints: readOnly: true openWorld: true call: starbucks.list-menu-categories outputParameters: - type: object mapping: $. - name: list-menu-items description: Get all items in a Starbucks menu category with descriptions, pricing, and sizes hints: readOnly: true openWorld: true call: starbucks.list-menu-items with: categoryId: tools.categoryId limit: tools.limit outputParameters: - type: object mapping: $. - name: get-menu-item description: Get complete details for a Starbucks menu item including nutrition facts, allergens, and customization options hints: readOnly: true openWorld: true call: starbucks.get-menu-item with: itemId: tools.itemId outputParameters: - type: object mapping: $. - name: search-stores description: Find Starbucks locations near specified coordinates or address, with filtering by radius hints: readOnly: true openWorld: true call: starbucks.list-stores with: latitude: tools.latitude longitude: tools.longitude query: tools.query radius: tools.radius limit: tools.limit outputParameters: - type: object mapping: $. - name: get-store-details description: Get Starbucks store hours, amenities, drive-thru availability, and mobile ordering status hints: readOnly: true idempotent: true call: starbucks.get-store with: storeId: tools.storeId outputParameters: - type: object mapping: $. - name: get-loyalty-balance description: Check Starbucks Rewards star balance, membership tier (Welcome/Green/Gold), and account status hints: readOnly: true idempotent: true call: starbucks.get-loyalty-account with: accountId: tools.accountId outputParameters: - type: object mapping: $. - name: list-reward-transactions description: View history of Starbucks star earnings and redemptions for a Rewards account hints: readOnly: true idempotent: true call: starbucks.list-loyalty-transactions with: accountId: tools.accountId limit: tools.limit outputParameters: - type: object mapping: $. - name: place-order description: Submit a Starbucks mobile order with customized items at a specified store, optionally applying loyalty rewards hints: readOnly: false destructive: false call: starbucks.create-order with: storeId: tools.storeId items: tools.items loyaltyAccountId: tools.loyaltyAccountId redemptionStars: tools.redemptionStars outputParameters: - type: object mapping: $. - name: track-order description: Check the current status and estimated pickup time for a Starbucks mobile order hints: readOnly: true idempotent: true call: starbucks.get-order with: orderId: tools.orderId outputParameters: - type: object mapping: $.