The reading half is what makes it worth wiring up: status, three kinds of diff, a date-bounded log and the contents of any revision, so an agent can establish what actually changed before it proposes anything. The writing half stops at the local repository — staging, commits, branches, checkout — with no push, no merge and no rebase among the tools.
A Git server for one repository path on your own machine. It reads the working tree, the diffs and the log, and it can stage, commit, branch and check out.
- The working tree status, plus diffs of what is unstaged, what is staged, and how the tree differs from another branch or commit
- A commit log you can bound by date — ISO timestamps, plain dates, and relative forms like '2 weeks ago' all parse
- The full contents of any single revision, addressed by commit hash, branch or tag
- Staging by file path, and an unstage that clears the whole staging area in one call
- Commits made with a message you supply, answered with the new commit hash
- Branch listings — local, remote or all — narrowed to branches that do or do not contain a given commit
- New branches from a base branch, and a checkout to switch between them
No account and no key — it works against a repository path you already have. Run it with uvx from the published package mcp-server-git, or pip install it and run python -m mcp_server_git; the repo also builds a Docker image, mcp/git. Every call takes repo_path, and --repository pins one repository at launch. It runs on the MCP Python SDK 1.x line (mcp>=1.29.0,<2).
One command — uvx mcp-server-git
