git-graph-mcp
Provides a local-first Git commit graph and repository inspection tool, allowing users to view branches, commit history, status, diffs, and search results, as well as save commit/range selections and generate safe branch and reset previews.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@git-graph-mcpshow me the recent commit graph"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
git-graph-mcp
A local-first Git commit graph terminal tool that also provides a standard MCP stdio service. It lets you select commits or ranges in the terminal, then have MCP clients such as Claude Code, Codex, and Cursor read the same budget-constrained Git context.

What it can do
View the commit graph, branches, commit details, and workspace status in the terminal;
Save commit, range, and ref selections, and reuse them across CLI/TUI/MCP;
Read graph, status, context, search, diff, history, and resources via MCP;
Generate safe branch actions and reset previews without automatically executing reset/checkout/push;
Use
doctorto check Node.js, Git, the repository, MCP configuration, and the stdio handshake.
Related MCP server: worktree-map
Quick Start
Requirements: Git on PATH; Node.js 22+ officially supported.
npm ci
node .\bin\git-graph-mcp.js graph --plain --limit 8
node .\bin\git-graph-mcp.js doctorInteractive TUI:
node .\bin\git-graph-mcp.js graphCommon operations:
node .\bin\git-graph-mcp.js status
node .\bin\git-graph-mcp.js search --limit 20
node .\bin\git-graph-mcp.js select commit <commit-oid>
node .\bin\git-graph-mcp.js selected
node .\bin\git-graph-mcp.js doctor --jsonWhen the target repository is not the current directory, append --repo <path> to the command.
MCP Configuration
The .mcp.json at the repository root uses local stdio:
{
"mcpServers": {
"git-graph": {
"type": "stdio",
"command": "node",
"args": ["./bin/git-graph-mcp.js", "mcp"]
}
}
}The server provides 12 bounded tools and two read-only resources:
git-graph://default/selection, git-graph://default/status. MCP stdout
carries only protocol messages; diagnostics are written to stderr and never echo repository paths, configuration values, or request contents.
Security Boundary
The default workflow is read-only. Branch creation requires an explicit invocation and never moves existing branches; reset only generates
previews, and git_revalidate_plan validates the repository state fingerprint before acting. The project does not start network listeners,
nor does it upload repository contents.
Development and Releases
npm run check
npm run test:package-installMore:
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for siGit (sigit.si): browse repos, search code, manage PRs/issues, web search.
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Plain-English git via MCP: 22 tools to branch, commit, push, and tag. No git jargon.
A MCP server built for developers enabling Git based project management with project and personal…
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides batch file operations, search, and essential git workflows via stdio MCP.37 npm1Apache 2.0
- FlicenseNot gradedqualityBmaintenanceMCP server that visualizes git branch genealogy and worktree locations within a repository, marking the current session position. Supports creating branches/worktrees, safe deletion/cleanup, and session navigation with fallback guidance.2-
- AlicenseNot gradedqualityAmaintenanceA local git MCP server. It exposes 12 git operations to an MCP client over stdio, allowing the client to inspect and work with a git repository on your machine, including status, diffs, log, branches, staging, and commits.MIT
- FlicenseCqualityCmaintenanceEnables MCP clients to inspect and modify local git repositories by running commands such as status, log, diff, add, commit, branch, and stash. Push operations are not performed locally; instead diffs are sent to a configurable HTTP API that handles the upload, with all other remote git commands blocked.27-