A remote MCP server providing calculator tools without authentication, deployed on Cloudflare Workers
Two tools with basic schemas and minimal descriptions. Both tools have input schemas with proper types (number, string, enum), but descriptions are extremely short (10-40 chars), falling well below the 50-200 char baseline for LLM-optimized descriptions. No output schemas documented. Error handling is minimal (divide-by-zero check in 'calculate' only). Tool names lack action verbs ('add', 'calculate' are weak; 'perform_addition', 'execute_calculation' would be clearer). Parameters lack detailed descriptions explaining constraints, ranges, or use cases. No documentation of what the tools return or when to use one vs. the other.
Simple addition tool
Calculator tool with multiple operations
Descriptions are critically short (10-40 chars). 'Simple addition tool' and 'Calculator tool with multiple operations' provide no context for LLM selection, no explanation of when to use each tool, and no guidance on expected output format.
Tool names lack action verbs. 'add' and 'calculate' are generic and do not clearly signal intent. Baseline shows 90% of A+ tools start with action verbs (get_, create_, update_, delete_, search_, list_, send_). Consider 'perform_addition' or 'execute_arithmetic_operation'.
Parameter descriptions are missing or trivial. 'a' and 'b' in 'add' have descriptions like 'First number to add', but lack context on valid ranges, precision, or use cases. 'operation' enum in 'calculate' has no description explaining what each operation does or when to use divide vs multiply.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
No output schema documented. LLMs cannot plan downstream calls or extract structured data. Both tools return text content, but the response format, field names, and data types are not declared.
Minimal error handling. Only 'calculate' checks for divide-by-zero; 'add' has no validation. No guidance for LLMs on recovery (e.g., 'Invalid operation: must be one of add, subtract, multiply, divide'). Error messages are plain text, not structured.