Critical failures across all dimensions. Tool definitions lack parameter descriptions entirely (null values visible in schema). Descriptions are generic and under 20 chars for most tools. Duplicate tool registrations (add, calculate, test_pagination_cursor appear twice) indicate incomplete or broken implementation. No error handling guidance. Schema validation present via Zod but descriptions missing from parameter definitions.
Simple addition tool
Simple addition tool
Calculator tool with multiple operations
Calculator tool with multiple operations
Pagination
Pagination
All parameter descriptions are null. LLMs cannot infer what 'a', 'b', 'operation', 'limit', 'count', 'cursor' mean without explicit descriptions. Violates pattern:tool-description requirement that every parameter must have a non-empty description.
Tool descriptions are generic and under 20 characters ('Simple addition tool', 'Calculator tool with multiple operations', 'Pagination'). Descriptions lack WHAT, WHEN, and WHY context needed for LLM selection.
Duplicate tool registrations detected: 'add', 'calculate', and 'test_pagination_cursor' each appear twice in the tool list (once in test/src/index.ts, once in test-oauth/src/index.ts). This suggests incomplete refactoring or broken tool registration logic. Clients will see duplicate tools with identical definitions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2025-06-18+ | v2 |
No error handling guidance. The 'divide' tool returns a text error for division by zero, but other tools have no error recovery hints. Per pattern:recovery-guide, errors must tell the LLM what to do next. No categorization of retryable vs fatal errors.
Tool naming lacks verb clarity. 'test_pagination_cursor' is ambiguous, does it test pagination, fetch paginated results, or validate cursors? Per pattern:tool, names should start with action verbs (get_, list_, create_). Should be 'list_paginated_items' or 'get_paginated_results'.