MCP server with OAuth authentication and a simple arithmetic tool
Single tool 'add' has a valid schema with typed parameters (a, b as numbers) and basic descriptions. However, the tool description is minimal (10 chars: 'Adds two numbers together'), falling below the 20-char threshold for actionable LLM guidance. Parameter descriptions are present but generic ('First number to add', 'Second number to add'). No output schema is documented. No error handling, recovery guidance, or edge-case documentation. The tool is trivial (arithmetic) and does not demonstrate real-world patterns like pagination, idempotency, or composition. Naming is acceptable (verb_noun: 'add') but the overall definition lacks depth expected for production tools.
Adds two numbers together
Tool description is too brief (10 chars). LLMs need 50-200 char descriptions explaining WHAT, WHEN, and WHY. Current description 'Adds two numbers together' lacks context for selection and does not guide when to use this tool vs alternatives.
No output schema documented. LLMs cannot plan downstream calls or extract results without knowing the response structure. Document the return type (e.g., {type: 'object', properties: {result: {type: 'number'}}}).
No error handling or recovery guidance. If inputs are invalid (non-numeric, NaN, Infinity), the tool provides no actionable error message. Add validation and return clear error text like 'Invalid input: a and b must be finite numbers.'
Parameter descriptions are generic and do not specify constraints. 'First number to add' does not clarify range, precision, or whether negative/decimal values are allowed. Add format hints: 'A finite number (integer or decimal, no NaN or Infinity).'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Tool is trivial and does not demonstrate real-world patterns. No pagination, idempotency, composition, or multi-step workflows. This is a demo tool; production servers should include tools that showcase error handling, batching, and chaining.