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 security considerations. The tool is trivial (arithmetic), so composition and chaining concerns are moot, but the definition pattern is weak for production use.
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. The tool returns {content: [{type: 'text', text: string}]} but this structure is not declared in the tool definition, LLMs cannot plan downstream calls or validate responses.
Parameter descriptions are extremely terse (12 - 13 chars). 'First number to add' and 'Second number to add' are acceptable but lack format hints, range constraints, or examples. No guidance on what happens if inputs are null, NaN, or Infinity.
No error handling or recovery guidance. If the operation fails (e.g., numeric overflow), the LLM has no instruction on what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
Tool is read-only but lacks explicit idempotentHint annotation. While the risk is marked READ_ONLY in metadata, the tool definition itself does not declare idempotency, which modern MCP clients expect.