A Git MCP server that doesn't suck
Run one of the commands below, then pick your client in the next section.
npm
npx -y @selfagency/git-mcp
Pick your client — the config below is generated for this server (local stdio).
claude_desktop_config.json
{
"mcpServers": {
"git-mcp": {
"command": "npx",
"args": [
"-y",
"@selfagency/git-mcp"
],
"env": {
"GIT_SIGNING_KEY": "<YOUR_GIT_SIGNING_KEY>"
}
}
}
}Format verified against the official Claude Desktop docs ↗.
terminal
claude mcp add --env GIT_SIGNING_KEY=<YOUR_GIT_SIGNING_KEY> git-mcp -- npx -y @selfagency/git-mcp
Format verified against the official Claude Code docs ↗.
.cursor/mcp.json
{
"mcpServers": {
"git-mcp": {
"command": "npx",
"args": [
"-y",
"@selfagency/git-mcp"
],
"env": {
"GIT_SIGNING_KEY": "<YOUR_GIT_SIGNING_KEY>"
}
}
}
}Format verified against the official Cursor docs ↗.
.vscode/mcp.json
{
"servers": {
"git-mcp": {
"command": "npx",
"args": [
"-y",
"@selfagency/git-mcp"
],
"env": {
"GIT_SIGNING_KEY": "<YOUR_GIT_SIGNING_KEY>"
}
}
}
}Format verified against the official VS Code docs ↗.
mcp_config.json
{
"mcpServers": {
"git-mcp": {
"command": "npx",
"args": [
"-y",
"@selfagency/git-mcp"
],
"env": {
"GIT_SIGNING_KEY": "<YOUR_GIT_SIGNING_KEY>"
}
}
}
}Format verified against the official Windsurf docs ↗.
Defined in the server's official registry manifest. Required secrets are shown as <YOUR_…> placeholders in the configs above.
GIT_REPO_PATH — Default repository path for all tool requests. Can also be set via the --repo / --repo-path CLI argument. If omitted, each tool call must supply repo_path explicitly.GIT_ALLOW_NO_VERIFY — Set to 'true' to expose a no_verify parameter on commit and push tools, passing --no-verify to Git and bypassing pre-commit / pre-push hooks.GIT_ALLOW_FORCE_PUSH — Set to 'true' to expose a force parameter on push tools. Remote branch protection rules (GitHub/GitLab) are still enforced server-side regardless.GIT_ALLOW_FLOW_HOOKS — Set to 'true' to allow git_flow to execute git-flow-next-compatible hook and filter programs discovered from git config or repository hook locations.GIT_SIGNING_KEY secret — Default signing key: a GPG key ID, an SSH public key path, or empty to use git's configured user.signingkey. Used when GIT_AUTO_SIGN_COMMITS or GIT_AUTO_SIGN_TAGS is enabled.GIT_SIGNING_FORMAT — Signing format for commits and tags. Accepted values: openpgp, ssh, x509.GIT_AUTO_SIGN_COMMITS — Set to 'true' to automatically sign all commits produced by this server.GIT_AUTO_SIGN_TAGS — Set to 'true' to automatically sign all tags produced by this server.Distributed as npm, listed under Developer Tools. Review our MCP security guide before granting access to real data.
Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.
The MCP server itself is free to install. The source is public on https://github.com/selfagency/git-mcp. Any third-party service it calls may require its own API key and account.
Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.
Publish this server? Link back with a badge on your README or site — copy either snippet.
Markdown
[](https://mcpnav.net/server/git-mcp/)
HTML
<a href="https://mcpnav.net/server/git-mcp/"><img src="https://mcpnav.net/badge/git-mcp.svg" alt="Listed on MCPNav" height="20"></a>