mrkeyoor.com_
Tue 01 Sept 16:13 UTC
Dev ToolsMCP servermeasured 19 Aug 2026

Git

Git is Anthropic's reference MCP server for working with local repositories. It exposes status, diff, log, show, add, commit, branch, create-branch, checkout and reset as callable tools over stdio, each scoped to a repository path the agent passes in. It lives in the modelcontextprotocol servers repo, ships on PyPI, and runs with uvx.

BootBOOTS ✓We started it and initialize came back in 2.1s.
Tools12tools/list payload 5,909 bytes
Context tax~1,477estimated tokens for the whole tools/list, chars/4 estimate
Resources / prompts / counts returned by resources/list and prompts/list
Measured19 Aug 2026one run of the harness, clean environment, no credentials · how we test

How we started it

uvx mcp-server-git
Verdict

Use it, with one guardrail. We started it as an unprivileged user with an empty environment and it came up in 2.1 seconds and listed 12 tools weighing about 1,477 tokens by the chars/4 estimate, which is a fair price for read-and-write access to your history. The argument against is that git_add, git_commit, git_reset and git_checkout let a model mutate a working tree and move HEAD, and nothing in the protocol asks you to confirm first. If your agent is already allowed to run shell commands, this server buys you structured arguments and typed errors rather than new capability.

Use it if

Your agent host blocks raw shell but you still want it reading diffs and writing commits
You want git calls to arrive as typed arguments instead of strings the model assembled, so a malformed path fails loudly
You are running an agent over several checkouts at once and want each call to name its repository explicitly
You want a small, auditable dependency from the reference server set rather than a third-party wrapper around the same commands

Skip it if

Your agent already has unrestricted shell access, in which case this mostly adds tool descriptions to every prompt
You need anything beyond the twelve verbs it exposes: no push, no pull, no fetch, no remote, no rebase, no stash
You want a human approval step before a commit or a reset lands, because the server does not provide one
You are working against GitHub rather than a local clone, where the GitHub server's issues and pull requests are the point
You cannot install uv or uvx on the machine hosting the agent

The bill for your context window

ToolEst. tokensDescribed?Required params
git_log~250yes (21 chars)1
git_branch~242yes (17 chars)2
git_create_branch~128yes (49 chars)2
git_diff~112yes (45 chars)2
git_diff_unstaged~108yes (62 chars)1
git_diff_staged~101yes (40 chars)1
git_add~98yes (38 chars)2
git_commit~94yes (33 chars)2

About 1,477 tokens for 12 tools is close to the cheapest useful thing you can attach to an agent, and it sits below the median for the servers we booted in the same batch. The weight is not spread evenly: git_log and git_branch together account for roughly a third of it, mostly because their schemas carry optional filters, while git_status and git_reset cost under a hundred tokens each. Nothing here is worth disabling to save context. For scale, the heaviest server in the same batch, Notion, costs more than twelve times as much for twice the tools.

Setup reality

There is no auth dance and no configuration file. When we booted it the harness passed a clean environment with no secrets and the server started anyway, reporting no missing environment variables, so the only real prerequisite is uv on PATH and a git binary the process can reach. Transport is stdio. First run resolved and installed 33 packages in 47ms before the server spoke, which is worth knowing if you set a short boot timeout. Every tool takes a repo_path, and the server will happily operate on whatever path you hand it, so the sandbox is your job, not its.

Questions people ask

Can the git MCP server push to a remote?

No. The 12 tools we measured cover local operations only: status, diff, log, show, add, commit, branch, create-branch, checkout and reset. There is no push, pull, fetch or remote tool, so anything touching a remote still needs shell access or a different server.

Does it need any environment variables or a token?

None. We started it with a clean environment holding no credentials and it initialised normally, reporting no missing variables. It reads whatever repository path each tool call names, using the git configuration of the user the server runs as.

Is it safe to give an agent git_reset and git_checkout?

Only where losing uncommitted work is survivable. The server performs those operations without asking, so run it against a scratch clone or a worktree you can throw away, and keep it off any repository holding work that is not pushed somewhere.

How much context does it cost?

Its tools/list payload is 5,909 bytes, about 1,477 tokens estimated at 4 characters per token, measured 2026-08-19. That is a small fraction of a typical context window and cheaper than most servers we booted in the same batch.

Other dev tools servers we started

ServerVendorBootsContext tax
CircleCICircleCI~12,932 tokens
Everything (test server)Anthropic (reference)~1,913 tokens
GitHub (archived npm server)Anthropic (archived)~3,964 tokens
GitLab (archived)Anthropic (archived)~0 tokens

How this page is made: the server is spawned as an unprivileged user with a clean environment and no credentials, then asked for its tools, resources and prompts over stdio. Token figures are estimates at four characters per token, not a tokenizer count. One run, one machine. Corrections: contact the desk.

← All measured MCP servers