MCP server with OAuth 2.0 authorization provider running on Cloudflare Workers, demonstrating remote authentication flows
Single tool 'add' has a clear verb-noun name and basic schema with typed parameters. However, the description is extremely minimal (22 chars), barely meeting the 10-char floor. Parameter descriptions are present but terse (12-13 chars each). No output schema is documented, the response structure is inferred from code but not declared in tool metadata. No error handling guidance, no idempotency hints, no composition context. The tool is trivial (arithmetic), so complexity is low, but the definition lacks the rigor expected of production tools. Baseline: 194 chars avg description, 72 chars avg param annotation, this server is 1/9th the expected description length.
Adds two numbers together
Tool description is 22 characters, below the 50-char minimum for LLM clarity. 'Adds two numbers together' lacks context on when to use it, what it returns, or any prerequisites.
Output schema is not documented. Code shows response is {content: [{type: 'text', text: string}]}, but this structure is not declared in tool metadata. LLMs cannot plan downstream calls without knowing the response shape.
Parameter descriptions are 12 - 13 characters each ('First number to add', 'Second number to add'). While present, they are minimal and do not specify format, range, or constraints. Baseline is 72 chars.
No error handling guidance. What happens if inputs are NaN, Infinity, or non-numeric? No recovery hints or categorization (retryable vs fatal).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Tool is trivial (arithmetic) and lacks composition context. No indication of what downstream tools might consume its output or what preconditions must be met.