git-insight-mcp
v0.1.3
Published
Semantic git queries via MCP. Beyond git log — answer who/what/when/why about any line, file, or branch.
Downloads
281
Maintainers
Readme
git-insight-mcp
Semantic git queries via MCP. Beyond git log — answer who/what/when/why about any line, file, or branch.

Pairs with terminal-history-mcp and localhost-mcp. Together: what you ran, what's running, what you changed.
Why
Devs ask these constantly; git answers poorly:
- "Who last touched this function?" —
git blameonly gives lines, not authors-by-region - "What PR introduced this line?" — manual: blame → commit SHA → search GH
- "Which files always change together?" — no built-in
- "Show unmerged branches older than 30 days" — bash one-liner gymnastics
- "What did I work on last week?" — manual log scrub
LLM agents need this context to make safe edits. Currently they git log -n 5 and miss everything.
Install
npm install -g git-insight-mcpWire into Claude Code:
claude mcp add --scope user git-insight -- git-insight-mcpOr any MCP-compatible client. Runs as a stdio MCP server.
For PR / issue lookups, set a GitHub token:
export GH_TOKEN=ghp_...Without a token, the local-git tools still work. PR linkage is skipped.
Tools
| Tool | Purpose |
|------|---------|
| who_touched | Group blame by author. Lines, commits, last-touched, primary owner. Optional line-range narrowing. |
| introducing_pr | Find the PR that introduced a line (or commit). Parses merge messages first; falls back to GitHub API. |
| co_change | Files most often changed together with the input file. |
| branch_hygiene | List branches with ahead/behind, last commit, merged status, stale flag. |
| recent_work | Standup helper: author's commits + files + ins/del in a window. |
| commit_context | Full commit context: subject, body, files, PR, related issues. |
Sample output (who_touched)
{
"file": "src/auth.ts",
"total_lines": 124,
"authors": [
{ "name": "alice", "email": "[email protected]", "lines": 87, "commits": 12, "last_commit_date": "2026-04-12T10:33:01.000Z" },
{ "name": "bob", "email": "[email protected]", "lines": 37, "commits": 4, "last_commit_date": "2026-01-03T18:14:55.000Z" }
],
"primary_owner": "alice"
}CLI usage (sanity checks)
git-insight-mcp who-touched src/auth.ts
git-insight-mcp co-change src/auth.ts
git-insight-mcp branches
git-insight-mcp recent alice
git-insight-mcp commit a3e577e
git-insight-mcp intro-pr src/auth.ts:42
git-insight-mcp intro-pr a3e577e
git-insight-mcp # MCP stdio serverBuild from source
git clone https://github.com/HasanJahidul/git-insight-mcp.git
cd git-insight-mcp
npm install
npm run build
node dist/cli.js branchesLimits (v0.1)
- GitHub only (no GitLab/Bitbucket yet).
co_changeis O(window × files-per-commit) — defaults capped at 1000 commits.- Function-level blame is by line range, not AST. Renames not yet tracked.
- GH API rate limit applies (5000/h authed). PR results uncached this version.
License
MIT
