An MCP server for email campaign management with CSV file analysis powered by Claude AI. Includes calculator tools and file upload capabilities.
Server provides 2 tools with basic parameter schemas and descriptions. Both tools have input schemas visible in code (Zod definitions), but descriptions are minimal (12-38 chars, below ideal 50-200 char range). Output structure is undocumented, responses are plain text wrapped in MCP content arrays with no return type schema. Error handling is present but minimal: divide-by-zero returns a text message rather than structured error guidance. No parameter validation documentation (e.g., numeric ranges, operation constraints). Tool naming is clear and verb-based (add, calculate), but descriptions fail to explain WHEN to use each tool or what distinguishes them. The 'calculate' tool has an enum constraint (operation field), which is correct, but parameter descriptions are generic ('First operand' rather than contextual guidance).
Simple addition tool
Calculator tool with multiple operations
Tool descriptions are too short and lack context for agent selection. 'Simple addition tool' (23 chars) and 'Calculator tool with multiple operations' (38 chars) are below the 50-200 char baseline and do not explain WHEN to use add vs calculate or what each returns.
Output schemas are undocumented. Both tools return MCP content arrays with plain-text responses, but LLMs have no type information about return structure. Should document: 'Returns: {content: [{type: "text", text: string}]}' or equivalent.
Error handling for divide-by-zero returns plain text error message ('Error: Cannot divide by zero') rather than structured error with recovery guidance. Should return: 'Division by zero is not allowed. Provide a non-zero divisor.' to enable LLM self-correction.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 11 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 44 | - | v1 |
Parameter descriptions are generic and lack constraint documentation. 'First number to add', 'First operand' do not specify valid ranges (e.g., integer vs float, min/max bounds, NaN handling). Numeric parameters should document expected limits and behavior at boundaries.
Functional redundancy between 'add' and 'calculate' tools. The 'add' tool duplicates the 'add' operation in 'calculate', agents must reason about which to call, wasting token budget. Should consolidate to a single 'calculate' tool or document when to prefer 'add' for simple cases.