A web-based shopping cart management system with MCP tool integration for AI-powered chat control. Provides tools to add/remove products from cart and list cart contents.
Three tools with basic schemas and descriptions present, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun pattern (addToCart, removeFromCart, listCart) which is good. Descriptions exist but are generic and lack context about when to use each tool or what they return. Parameter descriptions are minimal, 'Product ID' and 'Product ID to remove' lack format/constraint details. No documented output schemas, error handling guidance, or recovery paths. No tool annotations (readOnlyHint/destructiveHint). The server appears to be a web-based shopping cart interface, not a true MCP server with proper transport, transport is UNKNOWN, which is a critical blocker.
Add a product to the shopping cart. Provide the product ID and an optional quantity (defaults to 1).
List current cart contents. Returns items with id, name, price, and quantity. Use this when the user asks what is in their cart or for a summary.
Remove a product from the shopping cart by product ID.
No documented output schemas. Tools return results but LLMs cannot plan downstream calls without knowing field names and types. listCart should document it returns {items: [{id, name, price, quantity}], total: number}.
Parameter descriptions lack format/constraint details. 'Product ID' does not specify if it is a number, string, or range. 'Number of units to add (default: 1)' lacks min/max bounds. LLMs cannot validate inputs without explicit constraints.
No tool annotations. addToCart and removeFromCart are destructive (WRITE risk) but lack destructiveHint annotation. listCart is read-only but lacks readOnlyHint. Agents cannot distinguish safe from unsafe operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If productId does not exist, what does the tool return? Does it fail silently, throw an error, or return a 404? No guidance for LLM recovery.
Transport is UNKNOWN. Source code shows a Vite/React web app with Vercel AI SDK integration, not a proper MCP server. No evidence of stdio, HTTP, or SSE transport implementation. Cannot be deployed as a remote MCP server.