coffee:// URI scheme. Resources are read-only and return JSON; they are suitable for giving an LLM a snapshot of current shop state without requiring a tool call.
coffee://menu
A static snapshot of every drink the shop currently offers.| Property | Value |
|---|---|
| Name | Coffee Menu |
| MIME type | application/json |
| URI parameters | none |
Description
Returns the complete menu as a JSON array ofMenuItem objects. The menu is sourced directly from the live CoffeeOrderApp service, so any runtime changes are reflected immediately.
Response
All menu items. Each object contains the drink ID, name, kind, base price, available milks, available temperatures, and maximum shot count.
coffee://orders/open
A live view of all orders that have not yet reached a terminal state.| Property | Value |
|---|---|
| Name | Open Orders |
| MIME type | application/json |
| URI parameters | none |
Description
Fetches all orders and then filters out those with statuspicked-up or cancelled. The result represents the current active queue — orders in pending, brewing, or ready status.
Response
All non-terminal orders. Each object is a full
CoffeeOrder record.coffee://orders/:orderId
A single coffee order identified by its ID.| Property | Value |
|---|---|
| Name | Coffee Order |
| MIME type | application/json |
| URI template | coffee://orders/{orderId} |
URI Parameters
The order’s unique identifier. Must match the pattern
order-{N} (e.g., order-1, order-42). The server provides auto-completion for this parameter by listing all known order IDs.Description
Resolves a singleCoffeeOrder by ID. The MCP server supports completion for orderId — connected clients can request a list of valid order IDs before constructing the URI.
Response
The full order record. See
coffee://orders/open → Response for the complete field list.Requesting an ID that does not exist returns an
OrderNotFoundError (404).