A shopping agent backend that integrates with Kapruka e-commerce platform, providing tools for product search, cart management, customer account operations, and checkout functionality. Uses MCP (Model Context Protocol) to expose tools to LLM agents.
17 tools with consistent naming (verb_noun pattern) and descriptions present. However, schemas are incomplete: most parameters lack explicit type definitions in visible code, and output schemas are entirely undocumented. Parameter descriptions are present but generic (avg ~40 chars, below 72-char baseline). Error handling is minimal, no recovery guidance, no categorization. Security concerns: cart operations lack confirmation patterns for irreversible checkout. Composition is reasonable (single responsibility per tool), but missing pagination/limits on list operations (get_categories, get_featured_products, get_deals).
Add a product to the user's shopping cart with specified quantity
Check if delivery is available for a specific location
Complete the checkout process and place the order
Retrieve the current shopping cart contents and totals
Retrieve available product categories
Retrieve current checkout information including selected address and payment method
Retrieve the customer's profile information
Output schemas completely undocumented. No tool declares what fields it returns, forcing LLMs to infer structure and plan downstream calls blindly.
Irreversible checkout tool lacks confirmation/dry-run pattern. Agent can place orders without explicit user confirmation, risking accidental purchases.
List operations (get_categories, get_featured_products, get_deals) have no pagination, limit, or offset parameters. Unbounded results risk context window exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Retrieve current deals and promotions
Retrieve featured or recommended products
Retrieve the customer's order history
Get detailed information about a specific product including description, specifications, reviews, and availability
Retrieve the customer's saved delivery addresses
Remove a product from the user's shopping cart
Search for products on Kapruka by query, with optional filters for price range, category, and sorting
Set or update the budget limit for the shopping session
Update the quantity of a product in the shopping cart
Update checkout information such as delivery address and payment method
Parameter descriptions are generic and lack format/constraint details. E.g., 'sort_by' lists valid values in description but not as enum; 'payment_method' has no valid options documented.
No error handling guidance. Tools return raw errors without recovery hints (e.g., 'Product not found' should suggest search_products). LLM cannot self-correct.