A browser-based WebMCP server demo implementing a coffee shop cart system with tools for adding/removing items, viewing cart contents, and clearing the cart. Demonstrates WebMCP tool registration via navigator.modelContext API.
This is a browser-based demo tool, not a production MCP server. Tools are registered via navigator.modelContext (WebMCP extension API), not standard MCP protocol. Tool definitions are present with names, descriptions, and input schemas. The server is fundamentally a client-side JavaScript demo, not a remote MCP server. Tool names follow verb_noun convention (add_to_cart, remove_from_cart, get_cart, clear_cart), which is good. Descriptions are brief but present (10-50 chars). Input schemas use enums for item_id in add_to_cart, which is excellent for constraint clarity. However, remove_from_cart lacks enum validation, and no parameter descriptions exist in any schema. Output structure is not documented. No error recovery guidance. This scores as a D-grade demo implementation.
Add a menu item to the cart by item ID
Clear all items from the cart
Get the current cart contents and total price
Remove a specific item from the cart by item ID
Parameter descriptions missing from all input schemas. Rubric requires every parameter to have a description explaining what it controls. LLMs cannot infer meaning from names alone.
Output schemas are completely undocumented. LLMs need to know what fields to expect from get_cart and other tools to plan downstream calls and extract data correctly.
remove_from_cart accepts free-form item_id string with no enum constraint. Should validate against known menu IDs (espresso, latte, cold_brew, cortado, matcha, pastry) to prevent invalid inputs.
No error handling or recovery guidance. If an invalid item_id is passed, the tool silently fails or returns undefined. Error responses should tell the LLM what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Transport is browser-based navigator.modelContext (WebMCP extension), not standard MCP protocol. This is not a remote MCP server and cannot be used with hosted MCP clients or standard MCP tooling.