Server has 3 tools with basic schemas and descriptions, but significant gaps limit production readiness. Tool naming is inconsistent (create-user vs get_github_repos vs create-random-user). Descriptions exist but are minimal (10-50 chars, below the 194-char baseline). Input schemas use Zod but lack parameter-level descriptions for most fields. The create-random-user tool uses deprecated sampling/createMessage pattern. Error handling is generic ('An error occurred') without recovery guidance. No output schemas documented. Tool annotations present but incomplete.
Creates a new user with random fake data for testing purposes.
Creates a new user with the given name and email.
Fetches the public repositories of a GitHub user.
Inconsistent tool naming convention: 'create-user' and 'create-random-user' use hyphens, 'get_github_repos' uses underscores. LLMs struggle with mixed conventions.
create-user input schema lacks parameter descriptions. 'address' and 'phone' fields have no guidance on format, length, or validation rules. Baseline: 100% of A+ tools have param descriptions.
create-random-user uses deprecated server.server.request() with sampling/createMessage. This pattern is removed in current spec (2026-07-28). Should integrate directly with LLM provider API or use client-side sampling.
Error handling is generic and non-actionable. 'An error occurred while creating the user' and 'Failed to fetch repositories' give LLM no recovery path. Baseline: error responses must guide next steps.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | <=2025-11-25 | v2 |
No output schemas documented. LLMs cannot plan downstream calls or extract structured data. Tool descriptions do not specify return format (e.g., 'Returns array of {name, url, stars}').