Multi-agent AI system with MCP transport for eco-friendly product discovery, CO2 impact calculation, cart management, and sustainable shopping recommendations
The server defines 9 tools with clear action verbs (product_search, calculate_co2_impact, add_to_cart, etc.) and mostly complete input schemas. However, critical gaps exist: output schemas are completely undocumented, parameter descriptions lack depth (many are single phrases rather than actionable guidance), and error handling patterns are absent. The tool definitions follow basic naming conventions but lack the LLM-optimized descriptions needed for reliable agent selection. Most tools fall in the 55 - 70 range; the architecture is present but execution quality is inconsistent.
Add a product to the user's shopping cart
Calculate CO2 emissions impact for a product based on type, price, quantity, manufacturing location and transport distance
Process checkout for the user's shopping cart
Compare environmental impact and specifications of multiple products
Retrieve the current shopping cart with all items and pricing
Calculate total CO2 impact of all items in the shopping cart
Get eco-friendly alternative products for a given product
Search products in the Online Boutique catalog
No output schemas documented for any tool. LLMs cannot plan downstream calls or know what fields to extract without knowing return structure.
Parameter descriptions are minimal and lack actionable guidance. E.g., 'shipping_method' in checkout is described as 'Shipping method (standard, express, eco-friendly)' but does not explain which method is best for CO2-aware shopping or what the cost/time tradeoffs are.
No error handling guidance. Tools like 'checkout' and 'add_to_cart' perform state-changing operations but have no documented recovery paths. If checkout fails (insufficient stock, payment declined), the LLM has no guidance on next steps.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 46 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 34 | 2024-11-05+ | v1 |
Remove a product from the user's shopping cart
Missing pagination support for list-like tools. 'product_search' accepts a 'limit' parameter but there is no 'offset', 'page', or 'cursor' for pagination, and no 'total_count' documented in the response. Large result sets will blow context windows.
Parameter format guidance is missing. E.g., 'shipping_address' in checkout is an object but its required/optional fields are not documented. 'manufacturing_location' in calculate_co2_impact accepts a string but only works with specific values ('global', 'asia', 'europe', 'north_america'), these should be an enum, not a free-form string.
Tool descriptions do not explain domain context. 'product_search' searches an 'Online Boutique catalog' but does not explain what products are available, whether eco-friendly filters exist, or how the search ranking works. An LLM cannot judge whether to call this or get_eco_alternatives without more context.
Idempotency not documented. 'add_to_cart' and 'remove_from_cart' perform write operations but do not state whether they are idempotent (calling twice with same params = same result). Agents retry on ambiguous failures, non-idempotent tools risk duplicates.
No tool annotations for destructive/read-only hints. The source marks 'add_to_cart' and 'checkout' as WRITE operations, but the tool definitions themselves do not carry readOnlyHint or destructiveHint annotations per the current MCP spec, forcing clients to rely on external documentation.