JSPM

  • Created
  • Published
  • Downloads 281
  • Score
    100M100P100Q81088F
  • License MIT

MCP server for Git — structured status, log, diff, and branch data for AI agents

Package Exports

  • @paretools/git

Readme

@paretools/git

npm License: MIT

Structured, token-efficient git output for AI agents. Up to 92% fewer tokens than raw git CLI output.

Part of the Pare suite of MCP servers.

Tools (10)

Tool Description
status Working tree status (branch, staged, modified, untracked, conflicts)
log Commit history as structured data
diff File-level diff stats, optional full patch content
branch List, create, or delete branches
show Commit details and diff stats for a given ref
add Stage files for commit
commit Create a commit with structured result (hash, stats)
push Push commits to a remote repository
pull Pull changes from a remote with conflict detection
checkout Switch branches or restore files

Quick Start

npx -y @paretools/git

Add to your MCP client config:

{
  "mcpServers": {
    "pare-git": {
      "command": "npx",
      "args": ["-y", "@paretools/git"]
    }
  }
}

The path parameter is authoritative

Every tool accepts an optional path parameter pointing at the target repository or git worktree. When path is omitted, the server operates on its own process working directory — i.e. the directory the MCP server was launched in, not the directory of the client that issued the call.

An MCP server is a long-lived process and fundamentally cannot know the calling client's current directory. This matters when the caller runs somewhere other than the server's launch directory — most notably inside a git worktree (e.g. a background agent following an isolated-worktree workflow):

  • Read tools (status, diff, log, …) will report the launch-dir repo, which can look misleadingly "clean" while your worktree is dirty.
  • Mutating tools (checkout, commit, add, reset, branch, …) will operate on the launch-dir repo — for example moving a branch in the wrong worktree.

Always pass path explicitly when calling from a worktree, subdirectory, or any location other than where the server was launched:

// Correct — operates on the caller's worktree
status   { "path": "/path/to/my/worktree" }
checkout { "path": "/path/to/my/worktree", "branch": "feature", "create": true }

Example

status output:

{
  "branch": "main",
  "upstream": "origin/main",
  "ahead": 2,
  "staged": [{ "file": "src/index.ts", "status": "modified" }],
  "modified": ["README.md"],
  "untracked": ["temp.log"],
  "clean": false
}

All Pare Servers (244 tools)

Package Tools Wraps
@paretools/git status, log, diff, branch, show, add, commit, push, pull, checkout git
@paretools/test run, coverage pytest, jest, vitest, mocha
@paretools/npm install, audit, outdated, list, run, test, init npm
@paretools/build tsc, build, esbuild, vite-build, webpack tsc, esbuild, vite, webpack
@paretools/lint lint, format-check, prettier-format, biome-check, biome-format eslint, prettier, biome
@paretools/python pip-install, mypy, ruff-check, pip-audit, pytest, uv-install, uv-run, black pip, mypy, ruff, pytest, uv, black
@paretools/docker ps, build, logs, images, run, exec, compose-up, compose-down, pull docker, docker compose
@paretools/cargo build, test, clippy, run, add, remove, fmt, doc, check cargo
@paretools/go build, test, vet, run, mod-tidy, fmt, generate go, gofmt

Compatible Clients

Works with any MCP-compatible client: Claude Code, Claude Desktop, Cursor, Windsurf, VS Code / GitHub Copilot, Cline, Roo Code, Zed, Continue.dev, Gemini CLI, OpenAI Codex

License

MIT