git-log-mcp
<!-- git-log-mcp - FastMCP server exposing a `git_log` tool
Written in 2026 by Amir Yalon <amir@seekingalpha.com>
To the extent possible under law, the author(s) have dedicated all copyright
and related and neighboring rights to this software to the public domain
worldwide. This software is distributed without any warranty.
You should have received a copy of the CC0 Public Domain Dedication along with
this software. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
-->
# git-log-mcp
FastMCP server exposing a single typed tool, `git_log`. Use this tool to
investigate when a code/configuration change happened and infer why it happened
from commit history. Choose it when you need commit timelines, authorship
context, or intent signals from commit messages and diffs for a specific module
or identifier. It is not for repository file content reads or branch
manipulation; it is for history analysis and change attribution.
## Installation
From the project root, run:
```bash
uv sync
```
Then configure your MCP client to use the full path to `.venv/bin/git-log-mcp`.
Example Roo Code MCP configuration:
```json
{
"mcpServers": {
"git-log": {
"command": "/full/path/to/.venv/bin/git-log-mcp"
}
}
}
```
## Development
Run tests:
```bash
pytest -q
```
TDQS
Scored across 1 tool
With only a single tool, there is no possibility of confusion between tools. The description explicitly distinguishes it from file reads and branch manipulation, making its purpose clear.
The single tool name `git_log` follows a clean, conventional snake_case pattern that aligns with the server's purpose. Consistency is trivially maintained with one tool.
One tool is slightly under the typical 3-15 range, but for a narrowly scoped git-log server, it is reasonable and not excessive. The tool's flexibility helps compensate for the thin count.
The tool covers the core need of commit history analysis and change attribution, including messages and diffs. Minor gaps exist for operations like blame or range-specific logs, but the description implies the tool can handle broad historical queries.