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 is minimal (divide-by-zero check in 'calculate' returns text, not structured error). Tool names lack action verbs ('add' and 'calculate' are weak; 'perform_addition' and 'perform_calculation' would be clearer). No parameter descriptions beyond type hints. Schemas are visible and properly typed, preventing a lower score, but the overall quality is below community median.
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. Should explain WHEN to use each tool, WHAT it returns, and any prerequisites.
No parameter descriptions. Parameters 'a', 'b', 'operation' have types but no explanatory text. LLMs cannot infer that 'operation' is an enum of arithmetic operations without explicit description.
Output schema not documented. Tool responses return text content, but LLMs have no formal schema to parse results or plan downstream calls. Should document return type as {type: 'text', content: string}.
Tool names lack action verbs. 'add' and 'calculate' are generic. Prefer 'perform_addition', 'perform_arithmetic', or 'compute_math' to clarify intent and distinguish from data retrieval tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Error handling is unstructured. 'calculate' returns plain text 'Error: Cannot divide by zero' instead of a structured error response with error code and recovery guidance. LLMs cannot parse or act on text errors reliably.