This folder contains a small MCP server that exposes git-quick-stats commands as MCP tools.
Install uv first (one-time):
curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"cd mcp-server
uv venv .venv
uv sync --devOr using Make:
make installThis installs:
- Runtime dependencies from
pyproject.toml - Development tools (including Black) from the
devdependency group
uv run -m src.serverThe server uses stdio transport, so configure your MCP client to launch this command.
On first tool execution, the server automatically downloads git-quick-stats
into .mcp-tools/git-quick-stats inside this project if the script is not
already present at project root.
To pin a specific upstream branch/tag/commit for downloads, set:
export GIT_QUICK_STATS_REF=<ref>{
"mcpServers": {
"git-quick-stats": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/git-quick-stats/mcp-server",
"-m",
"src.server"
]
}
}
}Add one of the following entries to your VS Code MCP settings depending on your OS.
{
"mcpServers": {
"git-quick-stats": {
"command": "uv",
"args": [
"run",
"--directory",
"C:\\absolute\\path\\to\\git-quick-stats\\mcp-server",
"-m",
"src.server"
]
}
}
}{
"mcpServers": {
"git-quick-stats": {
"command": "wsl.exe",
"args": [
"-d",
"Ubuntu",
"uv",
"run",
"--directory",
"/home/your-user/projects/git-quick-stats/mcp-server",
"-m",
"src.server"
]
}
}
}{
"mcpServers": {
"git-quick-stats": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/git-quick-stats/mcp-server",
"-m",
"src.server"
]
}
}
}{
"mcpServers": {
"git-quick-stats": {
"command": "uv",
"args": [
"run",
"--directory",
"/Users/your-user/path/to/git-quick-stats/mcp-server",
"-m",
"src.server"
]
}
}
}make help
make bootstrap-uv
make install
make run
make format
make format-checkRun the MCP server with Docker Compose:
docker compose up --buildOr via Make:
make docker-up
make docker-logs
make docker-down- Set
repo_pathto the git repository you want to inspect. - Some options need extra values, which should be passed using tool arguments:
authorfor options that need_GIT_AUTHORbranchfor options that need_GIT_BRANCHtagfor options that need_GIT_TAG
- The
--new-contributorsoption prompts for a date in the shell script. Usestdin_inputwith one date line, for example:2025-01-01\n.
Example tool call from an AI assistant:
{
"tool": "run_git_quick_stats",
"arguments": {
"option": "--new-contributors",
"repo_path": "/absolute/path/to/git-quick-stats",
"stdin_input": "2025-01-01\n"
}
}Example tool result:
{
"ok": true,
"exit_code": 0,
"stdout": "New contributors since 2025-01-01:\\n\\n 1 example.user@example.com\\n...",
"stderr": ""
}Example AI response to user:
New contributors report generated successfully using stdin date input (2025-01-01). I can also run the same report for another date range if you want.