Skip to main content
Glama
ShinonomeAya

git-graph-mcp

by ShinonomeAya

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.

Terminal preview

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 doctor to 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 doctor

Interactive TUI:

node .\bin\git-graph-mcp.js graph

Common 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 --json

When 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-install

More:

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP 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
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    A 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
  • F
    license
    C
    quality
    C
    maintenance
    Enables 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
    -