mcp-git-tools
Git repository analysis tools for AI agents, served over MCP (Model Context Protocol). Analyzes local repositories using native git commands — no GitHub API required.
Tools
git_log | Get commit history with filtering by author, date range, and file path |
git_diff | Show diff between commits, branches, or tags with change summaries |
git_blame | Show who last modified each line of a file with commit info |
git_stats | Repository statistics: commits, contributors, activity over time, most changed files |
git_branch | List branches with last commit info, ahead/behind counts, merged/unmerged status |
Prerequisites
- Node.js >= 18
- Git installed and available in PATH
Setup
npm install
npm run build
Configuration
Add to your MCP client configuration:
{
"mcpServers": {
"git-tools": {
"command": "node",
"args": ["D:/products/mcp-servers/mcp-git-tools/dist/index.js"]
}
}
}
Tool Details
git_log
Retrieve recent commit history with optional filters.
Parameters:
repoPath (required) — Absolute path to the Git repository
count — Number of commits to return (default: 20)
author — Filter by author name or email
since / until — Date range filters
path — Filter to commits touching a specific file or directory
git_diff
Compare two refs and get a structured summary of changes.
Parameters:
repoPath (required) — Absolute path to the Git repository
from — Start ref (default: HEAD~1)
to — End ref (default: HEAD)
path — Limit diff to a specific file or directory
summaryOnly — Return only stats without full diff text
git_blame
See line-by-line authorship of a file.
Parameters:
repoPath (required) — Absolute path to the Git repository
filePath (required) — File path relative to repo root
startLine / endLine — Blame a specific line range
ref — Blame at a specific commit
git_stats
Get a high-level overview of repository activity.
Parameters:
repoPath (required) — Absolute path to the Git repository
topAuthors — Number of top contributors to list (default: 10)
topFiles — Number of most-changed files to list (default: 10)
git_branch
List and analyze branches.
Parameters:
repoPath (required) — Absolute path to the Git repository
baseBranch — Branch to compare against (default: main or master)
includeRemote — Include remote-tracking branches
mergedOnly / unmergedOnly — Filter by merge status
License
MIT