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-50 chars) and lack context for LLM selection. No output schema documentation. Error handling present (divide-by-zero check) but not generalized. Tool names are action verbs but lack specificity, 'add' and 'calculate' don't clearly distinguish when to use each. No parameter descriptions beyond type hints. Schemas visible and properly typed, but descriptions fall well below the 194-char baseline for production tools.
Simple addition tool
Calculator tool with multiple operations
Tool descriptions are critically short (10-50 chars vs 194-char baseline). 'Simple addition tool' and 'Calculator tool with multiple operations' lack context for LLM selection, prerequisites, or when to use each tool instead of the other.
No parameter descriptions. Input schema declares types (number, string enum) but provides no guidance on valid ranges, constraints, or what each parameter controls. LLMs cannot infer meaning from names alone.
No output schema documented. Tool responses return text content but LLMs have no formal specification of return structure, field names, or data types. Prevents downstream tool chaining.
Tool naming ambiguity: 'add' and 'calculate' both perform addition. LLM must reason about which to call. 'add' should be removed or renamed to clarify its unique purpose (e.g., 'add_two_numbers' vs 'calculate_arithmetic').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Error handling for divide-by-zero is hardcoded in 'calculate' but no general error recovery guidance. Error message 'Cannot divide by zero' is user-facing but lacks actionable guidance for LLM retry or fallback.