Git MCP Server
✓ verifiedRead, search, and manipulate Git repositories on disk.
Don't have ToolPiper? We'll take you to the download.
Publisher
License
MIT
Transport
Local subprocess
Tools
5
What this server does
Read and write a local working tree from chat. The server shells out to `git` directly, so behavior matches the CLI you already know: status, diff, log, show, branch, add, commit, reset, create-branch, checkout, plus diff-staged and diff-unstaged for the two flavors of working-tree diff. Twelve tools total, pointed at one repo path you pass at startup. `git_log` accepts ISO 8601 timestamps, absolute dates ('Jan 15 2024'), or relative dates ('2 weeks ago') for filtering. `git_diff` takes any revision target and produces a unified diff with configurable context lines. `git_branch` filters by type (local, remote, all) and supports `contains`/`not_contains` to find branches that touched a specific commit. What it does not do: talk to remotes. No push, no pull, no fetch, no clone. Pair it with the GitHub or GitLab server for that. It also does not run hooks, sign commits, or stage interactively. The point is deterministic read and write access to a local working tree, so you can ask 'what changed since yesterday?' and trust the answer instead of squinting at chat-generated descriptions of what might be there. Worth knowing: write tools are real. `git_commit` makes commits. `git_reset` unstages everything in one call. `git_create_branch` and `git_checkout` will move you off your current branch. Point it at one project, not at a parent directory holding several. The README notes the implementation is in early development, so expect the tool list to grow.
Tools included
git_status
Show the working tree status.
git_log
Show commit logs.
git_diff
Show changes between commits, branches, or the working tree.
git_show
Show various types of git objects.
git_search
Search file contents in the repo's history.
The authoritative list comes from the server's tools/list at runtime. This catalog entry may lag the upstream until the next ToolPiper release.
Install in ToolPiper
ToolPiper handles the JSON configuration. Click Install, fill in any required tokens, and the server is ready in your chat.
Don't have ToolPiper? We'll take you to the download.
Install in another client
Install in another MCP client (Claude Desktop, Cursor, Continue, Cline)
Add this to ~/Library/Application Support/Claude/claude_desktop_config.json.
{
"mcpServers": {
"git": {
"command": "uvx",
"args": [
"mcp-server-git",
"--repository",
"${GIT_REPOSITORY_PATH}"
]
}
}
}Example prompts
"Show what's staged vs unstaged, then commit the staged changes with message 'wip: auth rewrite'."
"List commits on this branch from last week that touched files under src/auth/."
"Diff origin/main against HEAD and tell me which files have the largest changes."
"Create a branch fix/login-redirect from main and switch to it."
Security notes
The server has write access to the repository you pass via `--repository`. `git_commit`, `git_add`, `git_reset`, `git_create_branch`, and `git_checkout` all modify state. Scope it to one repo, not a parent directory. The server does not authenticate to any remote, so it cannot push commits or fetch from origin. Local-only damage. A bad commit is recoverable (git keeps history) but `git_reset` unstages everything at once with no preview. If the running process can read `~/.gitconfig`, commits will use those identity defaults, which is usually what you want.
Related tools
GitHub
✓ verifiedCreate issues, manage pull requests, and search repositories from your AI assistant.
Developer ToolsLocal subprocess5 toolsGitHub (Remote)
✓ verified MAXOAuth-protected GitHub MCP. Manage repos, issues, and pull requests with no token to copy.
Developer ToolsRemote HTTP5 toolsEverything
✓ verifiedReference test server exercising every MCP feature.
Developer ToolsLocal subprocess5 toolsGitLab
✓ verifiedManage GitLab projects, issues, and merge requests.
Developer ToolsLocal subprocess5 tools