A GitHub-focused MCP server with specialized tools for repository management and code review
Server has 3 tools with basic definitions but significant quality gaps. Tool names use action verbs (multiply, get_repo_list, greet) but descriptions are minimal and parameters lack depth. Schemas are present in code but not comprehensive. The server uses fastmcp framework which provides automatic schema generation, but quality is below production baseline. No error handling guidance, no output schema documentation, and parameter descriptions are sparse. This is typical of early-stage MCP servers.
Fetches a list of repositories for a given GitHub user.
Greet a user by name.
Multiplies two numbers together.
Tool descriptions are too brief and lack context for LLM selection. 'Multiplies two numbers together.' (34 chars) and 'Greet a user by name.' (21 chars) are below the recommended 50-200 character range. They do not answer WHEN to use the tool or any prerequisites.
get_repo_list parameter 'limit' lacks description in the code and has no documented constraints (min/max range). The parameter is present in the schema but without guidance on valid bounds or typical usage.
No output schema is documented for any tool. The code returns raw values (float, list, string) but does not specify what structure the list contains (for get_repo_list) or what fields each repository object has. LLMs cannot plan downstream calls without knowing response structure.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 50 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 38 | - | v1 |
get_repo_list accepts a GitHub token via ContextVar (X-Github-Token header) but the tool definition does not document this dependency or how the token is used. LLMs and callers have no visibility into this mechanism.
No error handling guidance. If get_repo_list fails (invalid owner, network error, rate limit), the tool does not return actionable recovery instructions. Raw exceptions will block the LLM.
get_repo_list has no pagination support documented. A request for 'all repos' with limit=10 forces the agent to loop. No next_cursor or offset mechanism is described.
multiply tool is generic and low-value. While the schema is adequate, the description does not clarify when an LLM should use this over inline arithmetic. No guidance on numeric precision or range limits.
Tool descriptions lack examples of common failures and recovery paths. For instance, get_repo_list does not document what happens if the owner does not exist or the token is invalid.