Skip to main content
Glama
mustafatekiinn

git-surgeon-mcp

git-surgeon-mcp

License Node TypeScript MCP

An MCP server that gives AI agents safe, non-interactive Git history editing — squashing, rewording, and reflog rescue — without ever hanging on a Vim buffer.

Why

Agents shell out to Git fine for everyday commands, but git rebase -i and git commit --amend (without -m) open an interactive editor and hang forever waiting for input that never comes. Agents then resort to risky fallbacks like git reset --hard. git-surgeon-mcp wraps these operations in clean, programmatic tools instead.

Related MCP server: GitPilot MCP

How it's safe

  • No shell execution — every Git call uses execFile with an argument array, so command injection is structurally impossible.

  • No -m quoting issues — messages are written to a temp file and applied via git commit -F.

  • Non-interactive rebase shim — rewording a non-HEAD commit normally needs two interactive editors; the server points GIT_SEQUENCE_EDITOR/GIT_EDITOR at generated scripts that do it programmatically.

  • Clean-tree checks — every operation requires a clean git status and auto-aborts (git rebase --abort) on failure.

Tools

Tool

Description

git_get_history

Structured git log output.

git_quick_squash

Squash the last N commits with a new message.

git_reword_commit

Reword any commit (HEAD or buried in history).

git_rescue_reflog

Find dangling/unreachable commits via reflog + fsck.

Setup

git clone https://github.com/mustafatekiinn/git-surgeon-mcp.git
cd git-surgeon-mcp
npm install && npm run build

Add to your client's MCP config (Claude Desktop's claude_desktop_config.json, Cursor's .cursor/mcp.json, etc.), using the absolute path to dist/index.js:

{
  "mcpServers": {
    "git-surgeon": {
      "command": "node",
      "args": ["/absolute/path/to/git-surgeon-mcp/dist/index.js"]
    }
  }
}

Restart the client — the four tools are now available whenever the agent works inside a Git repo.

Requirements

  • Node.js 18+, Git on PATH, a local Git repository

Safety Notes

  • Squashing/rewording rewrites history — force-push (--force-with-lease) if already pushed, and coordinate with collaborators first.

  • All operations abort cleanly, leaving no partial state, if the working tree is dirty or a step fails.

License

MIT

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mustafatekiinn/git-surgeon-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server