Skip to main content

🔍 gitlog-mcp

Give your AI coding agent superpowers over git history.

gitlog-mcp is a Model Context Protocol (MCP) server that lets AI agents (Claude Code, Cursor, Windsurf, and any MCP client) understand what changed in a repository — auto-generate changelogs, analyze commits, attribute blame, and draft release notes.

"What changed in this repo?" is the question every AI agent gets wrong. This fixes it.

CI GitHub stars Python License Zero deps


Why this exists

AI coding agents are great at writing code but famously bad at knowing the history of a codebase. They hallucinate changelogs, misattribute blame, and guess at release notes. gitlog-mcp gives them a reliable, structured window into git log — so their answers are grounded in what actually happened, not invented.

Features

  • 📝 Auto-changelog — generate a clean, grouped changelog from any tag/commit range
  • 🔎 Commit analysis — explain why a change happened, not just what changed
  • 👤 Blame attribution — who touched what, and when (with context)
  • 🏷️ Release notes — draft release notes from tag-to-tag diffs
  • 📊 Repo health — commit frequency, top contributors, churn hotspots
  • 🧱 Zero runtime dependencies — pure Python stdlib + the MCP SDK, one file

Quick start

# 1. Install (not yet on PyPI — install from source)
git clone https://github.com/ManiaSacha/gitlog-mcp.git
cd gitlog-mcp
pip install -e .

# 2. Run standalone (for testing) — defaults to the current directory
gitlog-mcp
gitlog-mcp --repo /path/to/your/repo

# 3. Or add directly to your agent's MCP config (see below)

pip install gitlog-mcp will work once this is published to PyPI. Until then, install from source as shown above. There's a real, tested publish pipeline ready to go (tag-triggered, PyPI Trusted Publishing) — see RELEASING.md for the full process.

Claude Code config

{
  "mcpServers": {
    "gitlog": {
      "command": "gitlog-mcp",
      "args": ["--repo", "."]
    }
  }
}

Cursor config (.cursor/mcp.json)

{
  "mcpServers": {
    "gitlog": {
      "command": "gitlog-mcp",
      "args": ["--repo", "."]
    }
  }
}

Debug it standalone

Want to poke at the tools directly before wiring up an agent? The MCP Inspector gives you a UI to call each tool by hand:

npx @modelcontextprotocol/inspector gitlog-mcp --repo .

Example agent prompts

"Generate a changelog of everything that changed between v1.2.0 and v1.3.0."

"Who introduced this buggy line in src/parser.py and why?"

"Draft release notes for the next version based on recent commits."

Tools exposed

Tool Description
changelog Grouped changelog for a commit/tag range
analyze_commit Explain a specific commit's intent and impact
blame_file Line-level attribution for a file
release_notes Draft release notes between two tags
repo_health Contributor + churn summary
search_commits Find commits by message/author/date

Architecture

gitlog-mcp (single file, ~250 lines)
├── FastMCP server (stdio transport)
├── GitRunner — thin wrapper over `git` CLI
└── Tools — each maps to a git subcommand + parsing

Deliberately small. You can read the whole thing in an afternoon — that's a feature.

Contributing

PRs welcome. Small, focused, well-tested changes only. See CONTRIBUTING.md.

Release process and versioning are documented in RELEASING.md.

Roadmap

  • --repo auto-detection from cwd
  • Structured JSON output for all tools
  • GitHub/GitLab remote integration
  • Tests + CI badge

License

MIT © 2026 — built in the open, for the open-source community.


Star this repo if you want AI agents to stop hallucinating your changelog. ⭐

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gitlog_mcp-0.1.1.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitlog_mcp-0.1.1-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file gitlog_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: gitlog_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for gitlog_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2fa38f2ad72ce456162cd69e8a724a88100e2f12152e02fa60c09ead4c4769e8
MD5 bb4f0d1000c5fe57077d342ae7a2d64e
BLAKE2b-256 440805f3c2927e8ed18a58f6e6c9de8f1a5c4afda77f6eb51b70c280205079b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitlog_mcp-0.1.1.tar.gz:

Publisher: publish.yml on ManiaSacha/gitlog-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gitlog_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: gitlog_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for gitlog_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e123d4c94d0b298c3c57adb78a3b170512d934712df4bf388ad0b905a9810df
MD5 c3087eeddf7d6ca66012b6c69c078ccb
BLAKE2b-256 37605673ebb604ba6b7a62e932fd9bcd2a7a758c7c5751391cfab424db695c46

See more details on using hashes here.

Provenance

The following attestation bundles were made for gitlog_mcp-0.1.1-py3-none-any.whl:

Publisher: publish.yml on ManiaSacha/gitlog-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page