Builds customized, high-converting checkout recovery sequences based on cart properties.
This MCP server has severe definition quality issues across all dimensions. The single tool 'execute_skill_action' has a reasonable schema and description, but the implementation is critically flawed. The server does not actually implement the MCP protocol, it merely prints a JSON handshake and exits. There is no request/response loop, no tool invocation handling, and no actual MCP transport. The tool definition exists in the source but is never registered with an MCP server instance. The schema is visible and properly typed, but the server code cannot actually execute the tool. This is a non-functional MCP server that would fail immediately upon connection.
Generates abandoned cart recovery email sequences based on cart properties (customer name, cart total, abandoned items).
No MCP server implementation, mcp_server.py only prints a static JSON message and exits. There is no request/response loop to handle tool invocations. The server will fail immediately upon MCP client connection.
Tool is never registered with an MCP server instance. The tool definition exists in client.py but is isolated from the server code. No mechanism exists to invoke the tool via MCP.
Tool description is under 50 characters and lacks guidance on when to use it. Description: 'Generates abandoned cart recovery email sequences based on cart properties (customer name, cart total, abandoned items).', 142 chars total, but does not state WHEN to call it, what the output contains, or how it integrates downstream.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Output schema is not documented. The tool returns a dict with 'cart_total', 'incentive_applied', and 'sequence' fields, but no JSON Schema is declared for downstream tool composition. LLMs cannot infer the structure without explicit documentation.
No error handling or recovery guidance. If invalid cart_total (negative) or empty customer_name is passed, the tool will silently produce incorrect output or fail. No validation, no error messages, no guidance for the LLM to self-correct.
Parameter 'abandoned_items' is an array of strings but lacks constraints. No min/max length, no description of what constitutes a valid product name, no guidance on handling empty arrays. LLMs will hallucinate values.
Tool name 'execute_skill_action' is too generic and vague. Does not follow verb_noun pattern clearly. Better names: 'generate_abandoned_cart_email_sequence' or 'create_cart_recovery_campaign'. Current name obscures intent.