MCP server with OAuth 2.0 authorization provider running on Cloudflare Workers, demonstrating remote MCP authentication and authorization flows
Single tool 'add' has a basic schema with typed parameters (a, b as numbers) and descriptions, but falls short of production quality. No output schema documented. No error handling guidance. No parameter constraints (min/max for numbers). Tool is trivial (arithmetic) and lacks real-world complexity, but the definition gaps are structural: missing output schema documentation, no guidance on error cases, no idempotency statement. Naming is acceptable (verb_noun form), but the overall definition lacks depth expected for agent-facing tools.
Adds two numbers together
Tool description is 18 characters ('Adds two numbers together'), below 20-char minimum. Descriptions under 20 chars cannot convey sufficient context for LLM tool selection.
No output schema documented. Tool returns {content: [{type: 'text', text: string}]} but this structure is not declared in tool metadata. LLMs cannot plan downstream calls or validate responses without documented return types.
Numeric parameters 'a' and 'b' lack constraints (min, max, precision). Unbounded numbers let LLMs pass absurd values (e.g., 1e308) that may cause overflow or unexpected behavior. Rubric baseline: numeric params should specify range.
No error handling guidance. Tool does not document what happens on invalid input, overflow, or edge cases (e.g., NaN, Infinity).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
Tool is trivial (arithmetic) and lacks real-world use case. Single-tool server with no composition, pagination, or state management. Does not demonstrate production-grade tool design patterns.