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 schema documentation. Error handling exists (divide-by-zero check) but lacks recovery guidance. Tool names are action-oriented (add, calculate) but lack verb prefixes. No parameter descriptions beyond type info.
Simple addition tool
Calculator tool with multiple operations
Tool descriptions critically short (10-40 chars). 'Simple addition tool' and 'Calculator tool with multiple operations' lack context for LLM selection. Should explain WHEN to use each tool, what distinguishes them, and what they return.
No parameter descriptions. Parameters 'a', 'b', 'operation' have types but no descriptions explaining their meaning, constraints, or expected format. LLMs cannot infer that 'operation' is an enum of arithmetic operations without explicit text.
No output schema documented. Tool responses return text content, but LLMs have no formal schema describing the structure, field names, or data types of results. This forces LLMs to parse unstructured text.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Error handling lacks recovery guidance. Divide-by-zero returns 'Error: Cannot divide by zero' but does not guide the LLM on next steps (retry with different input, use add instead, etc.).
Tool naming lacks action verbs. 'add' and 'calculate' are weak; 'perform_addition' and 'perform_arithmetic' or 'compute_arithmetic' would be clearer. Current names do not signal intent as strongly as verb_noun patterns.