A Git Manager MCP server for managing Git repositories via Model Context Protocol.
github-mcp has 5 tools with visible schemas and descriptions, but significant quality gaps. Tool names lack clarity (get_init, get_pull, get_push use 'get' for write operations, violating verb-noun conventions). Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Parameters lack enums for constrained values (e.g., branch, remote are free-form strings). Output schemas are undocumented, LLMs cannot predict return structure. Error handling is minimal; no recovery guidance. No tool annotations (readOnlyHint/destructiveHint). The server logs to file but does not expose structured error responses to guide agent recovery.
Retrieves the current working directory used for Git operations.
Initializes a new Git repository, adds a remote origin, and optionally sets a default branch.
Pulls changes from a remote repository for the specified or current branch.
Adds all changes, commits them with a message, and pushes to a remote repository.
Sets the working directory for Git operations.
Tool names misuse 'get_' prefix for write operations (get_init, get_pull, get_push). 'get' implies read-only; these modify state. Should be 'init_repo', 'pull_changes', 'push_changes'.
No output schemas documented. LLMs cannot predict return structure (string vs object vs array). Tools return plain strings; should document structured responses with typed fields.
Parameters accept free-form strings where enums would prevent hallucination. 'branch' and 'remote' have no constraints; should enumerate valid branches or default to 'origin'.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes without reading descriptions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | <=2025-11-25 | v2 |
Error handling returns raw exception messages without recovery guidance. 'Failed to pull from Git repository: ...' tells agent nothing about retry eligibility or next steps.