An MCP (Model Context Protocol) server enabling LLMs and AI agents to interact with Git repositories. Provides tools for comprehensive Git operations including clone, commit, branch, diff, log, status, push, pull, merge, rebase, worktree, tag management, and more, via the MCP standard. STDIO & HTTP.
25 tools with inconsistent quality. Tool names follow verb_noun pattern (git_add, git_commit) which is good. However, most tools lack visible input schemas in the provided source, only registration file paths are shown, not actual schema definitions. Descriptions are present but generic (avg ~50 chars, well below the 194-char baseline). No evidence of parameter descriptions, enums, or output schema documentation. Error handling and recovery guidance absent. Security considerations (destructive operations like git_clean, git_reset) lack confirmation patterns or dry-run support.
Stage changes for commit in a Git repository
Manage Git branches (create, delete, list, rename)
Switch branches or restore working tree files
Apply specific commits to the current branch
Remove untracked files from the working directory
Clear the current session's working directory context
Clone a Git repository to a local directory
Create a commit with staged changes
Show differences between commits, branches, or working directory
No input schemas visible in source code. All 25 tools show only registration file paths (e.g., src/mcp-server/tools/gitAdd/registration.ts) without actual schema definitions. Cannot verify parameter types, constraints, or descriptions.
Destructive operations (git_clean, git_reset) lack confirmation or dry-run patterns. No evidence of recovery guidance or permission gates. Agents could accidentally destroy data without safeguards.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
Fetch updates from remote repositories
Initialize a new Git repository
Display commit history and logs
Merge branches together
Fetch and merge changes from remote repositories
Push commits to remote repositories
Reapply commits on top of another branch
Manage remote repository connections
Reset working directory or staging area to a previous state
Set the working directory for the current session
Display commit details and file contents
Temporarily save and restore working directory changes
Show the status of the working directory and staging area
Create, delete, and manage Git tags
Manage multiple working trees for a repository
Provide instructions for wrapping up Git operations
Tool descriptions are generic and brief (~35-50 chars). Descriptions lack WHEN to use, prerequisites, or state-modification warnings. Below the 194-char baseline for production tools. Example: 'Stage changes for commit in a Git repository' does not explain when to call git_add vs git_commit or what happens to staged files.
No output schema documentation visible. LLMs cannot infer what fields are returned, what IDs are available for chaining, or how to parse results. Breaks tool composition patterns.
No error handling or recovery guidance visible. No evidence of actionable error messages, error classification (retryable vs fatal), or suggestions for next steps when operations fail.