A remote MCP server providing calculator tools without authentication, deployed on Cloudflare Workers
Two tools with minimal descriptions and basic schemas. 'add' (9 chars) and 'calculate' (10 chars) descriptions are below the 20-char hard floor, triggering 0-20 scoring. Schemas present but lack depth, no parameter descriptions visible in the schema structure, only inline in Zod definitions. No error handling guidance, no output schema documentation, no tool annotations. Naming is acceptable (verb_noun pattern) but descriptions fail to explain WHEN to use each tool or what distinguishes them. The 'calculate' tool has an enum constraint (good), but no guidance on error cases like division by zero beyond a hardcoded string response.
Simple addition tool
Calculator tool with multiple operations
Tool descriptions critically short (9 - 10 chars). Hard floor violation: descriptions under 20 chars score 0-20. 'Simple addition tool' and 'Calculator tool with multiple operations' lack context on WHEN to use each tool, what distinguishes them, or what they return.
No parameter descriptions in schema. Zod definitions lack descriptions for 'a', 'b', 'operation'. LLMs cannot infer that 'a' and 'b' are operands or that 'operation' must be one of the enum values without explicit text.
No output schema documented. Callers do not know the structure of the response (is it a number, an object with 'result' field, a string?). LLMs must infer from code inspection.
Error handling returns unstructured text ('Error: Cannot divide by zero'). No guidance on recovery, no error classification (retryable vs fatal). LLM cannot distinguish between a user error and a service failure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Both tools are read-only and idempotent, but this is not declared in the schema, LLMs must infer it.