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, calculate are weak; should be compute_sum, perform_arithmetic). No parameter descriptions beyond type hints. Schemas are present but descriptions fall well below the 50-200 char baseline for A-grade tools.
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 when/why to use each tool. LLMs cannot distinguish between add and calculate without longer, purpose-driven descriptions.
Tool names lack action verbs. 'add' and 'calculate' are weak; should be 'compute_sum' or 'perform_arithmetic' to signal intent. Baseline shows 90% of A+ tools start with action verbs (get, list, create, search, update).
No parameter descriptions. Input schema defines types (a: number, b: number, operation: enum) but lacks descriptions explaining what each parameter controls or its valid range. Baseline: 100% of A+ tools have parameter descriptions.
Output schema not documented. Tools return text content but no schema is declared for clients. LLMs cannot plan downstream calls or extract structured data without knowing return fields.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Minimal error handling. Only divide-by-zero is caught in calculate; add has no validation. No recovery guidance (e.g., 'Invalid operation: must be add|subtract|multiply|divide'). Error responses should guide LLM on next steps.