MCP server with OAuth 2.0 authorization provider running on Cloudflare Workers, demonstrating remote authentication flows
Single tool 'add' has a basic schema with typed parameters (a, b as numbers) and descriptions, but falls short of production quality. The tool description is minimal (11 chars: 'Adds two numbers together') and lacks context on when/why to use it. No output schema is documented. The tool performs a trivial operation with no error handling, recovery guidance, or edge-case documentation. Parameter descriptions are present but generic. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite being marked READ_ONLY. The server is a demo/proof-of-concept, not a production-grade MCP implementation.
Adds two numbers together
Tool description is too short (11 chars) and lacks context. Should explain when to use this tool, what it returns, and any constraints (e.g., numeric range limits).
No output schema documented. LLMs cannot infer what the tool returns or plan downstream operations. Must document return type (e.g., {type: 'object', properties: {result: {type: 'number'}}}).
No error handling or recovery guidance. What happens if inputs are NaN, Infinity, or non-numeric? Tool should validate and return actionable error messages.
Tool marked READ_ONLY but lacks tool annotations (readOnlyHint). Should use MCP tool annotations to signal intent to the client.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
No numeric constraints documented. Parameters 'a' and 'b' lack min/max bounds, precision limits, or range guidance. LLMs may pass absurd values (e.g., 1e308).