Guest cart and checkout MCP tools for Magento 2. Adds create_cart, add_to_cart, get_cart, get_shipping_methods, set_shipping_information and place_order to the Angeo MCP Server, letting AI agents (Claude and other MCP clients) complete a full discovery-to-order flow with hard server-side guardrails and PCI-safe pay-by-link (Stripe, Mollie, Adyen).
Strong foundation with clear verb-noun naming, complete input schemas with proper types and descriptions, and explicit error handling via InvalidArgumentException mapping. Tool descriptions are concise (10-20 chars) but lack context on WHEN to use each tool and dependencies between them (e.g., create_cart must precede add_to_cart). Output schemas are not documented in the visible code. All 6 tools follow consistent patterns and include proper parameter validation. Risk annotations (WRITE, READ_ONLY, DESTRUCTIVE) are present but not formally exposed in the schema.
Add item to cart
Create cart
Get cart contents
Get shipping methods
Place order
Set shipping information
Tool descriptions are too brief (10-20 chars) and lack context on prerequisites, dependencies, and when to use each tool. LLMs cannot infer that create_cart must be called before add_to_cart or that set_shipping_information must follow get_shipping_methods.
Output schemas are not documented in the visible code. LLMs cannot plan downstream tool calls or extract required fields (e.g., cart_id from create_cart response) without knowing the response structure.
Risk annotations (WRITE, READ_ONLY, DESTRUCTIVE) are present in test metadata but not formally exposed in tool schemas via toolAnnotations. The ToolAnnotationsInterface is implemented but readOnlyHint/destructiveHint/idempotentHint are not visible in the code.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2025-06-18+ | v2 |
Error messages are generic ('An internal error occurred...') and do not guide LLMs on recovery steps. Per pattern:recovery-guide, errors should suggest next actions (e.g., 'Cart not found. Call create_cart() first.').
No confirmation or dry-run pattern for destructive operations (place_order). Agents can accidentally place orders without a confirmation step, risking unintended transactions.