MCP server for interacting with GitHub API
Server has 4 tools with complete input schemas and basic descriptions. All tools are READ_ONLY and properly use Zod for schema validation. However, descriptions are minimal (10-30 chars), lacking context on WHEN to use each tool or dependencies between them. Parameter descriptions are present but terse. No output schema documentation. Error handling returns generic error text without recovery guidance. Tool names follow verb_noun pattern correctly but descriptions do not meet the 50-200 char LLM-optimized baseline (194 char average for A+ tools). Missing tool annotations (readOnlyHint present implicitly via risk field, but not in schema).
Get user's top languages
Get user's top repositories
Get user profile info
Search for repositories by topic
Tool descriptions are 10-30 characters, far below the 50-200 char LLM-optimized baseline. Descriptions like 'Get user profile info' and 'Get user's top repositories' lack context on WHEN to use each tool, dependencies, or what makes them distinct.
No output schema documentation. Tool responses return JSON objects with fields like 'login', 'name', 'bio', 'stars', 'language', etc., but LLMs have no formal schema to understand structure. This forces LLMs to infer field names and types, increasing parsing errors.
Error handling returns generic error text (e.g., 'Error fetching GitHub profile: {error}') without recovery guidance. LLMs cannot determine if the error is retryable, user-fixable, or fatal. No actionable next steps provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Parameter descriptions are minimal. E.g., 'GitHub username' for 'username' param lacks guidance on format (alphanumeric only?), length limits, or case sensitivity. 'GitHub personal access token (optional)' does not explain scope requirements or when it's needed.
No tool annotations in schema. Tools are READ_ONLY but lack explicit readOnlyHint in the tool definition. This prevents clients from optimizing caching or safety policies based on tool semantics.