Skip to main content
The Effect Coffee Shop MCP server exposes three resources under the 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.
PropertyValue
NameCoffee Menu
MIME typeapplication/json
URI parametersnone

Description

Returns the complete menu as a JSON array of MenuItem objects. The menu is sourced directly from the live CoffeeOrderApp service, so any runtime changes are reflected immediately.

Response

(array)
MenuItem[]
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.
PropertyValue
NameOpen Orders
MIME typeapplication/json
URI parametersnone

Description

Fetches all orders and then filters out those with status picked-up or cancelled. The result represents the current active queue — orders in pending, brewing, or ready status.
Use this resource to give an LLM full queue context before prompting it with summarize-open-orders.

Response

(array)
CoffeeOrder[]
All non-terminal orders. Each object is a full CoffeeOrder record.

coffee://orders/:orderId

A single coffee order identified by its ID.
PropertyValue
NameCoffee Order
MIME typeapplication/json
URI templatecoffee://orders/{orderId}

URI Parameters

orderId
string
required
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 single CoffeeOrder by ID. The MCP server supports completion for orderId — connected clients can request a list of valid order IDs before constructing the URI.

Response

(object)
CoffeeOrder
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).

Build docs developers (and LLMs) love