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) and lack context for LLM selection. No output schema documentation. Error handling is minimal (divide-by-zero check in calculate tool only). Tool names lack action verbs ('add' and 'calculate' are weak; 'perform_addition' and 'perform_calculation' would be clearer). No parameter descriptions beyond type hints. No guidance on when to use one tool vs. the other.
Simple addition tool
Calculator tool with multiple operations
Tool descriptions are critically short (10-40 chars). 'Simple addition tool' and 'Calculator tool with multiple operations' lack context for LLM selection. Descriptions should explain WHAT the tool does, WHEN to use it, and any prerequisites (50-200 chars baseline).
No parameter descriptions. Parameters 'a', 'b', and 'operation' have types but no descriptions explaining their meaning or constraints. LLMs cannot infer that 'operation' is an enum of arithmetic operations without explicit text.
No output schema documented. Tool responses return text content, but the structure and format are not formally specified. LLMs cannot plan downstream calls or extract structured data.
Tool names lack action verbs. 'add' and 'calculate' are generic. Stronger names like 'perform_addition' or 'perform_arithmetic' would clarify intent. Current names do not follow verb_noun convention.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
No distinction between tools. Both 'add' and 'calculate' perform addition. The 'add' tool is redundant, 'calculate' with operation='add' covers the same case. Redundant tools waste LLM reasoning cycles.