track_file_versionsLABSCO SUMMARY
One file's story, not the repository's.
Most git tooling loses a file at its rename; this follows it, and then puts the interesting questions in reach — what actually changed between these two commits, what else moved in the same commit, whether this file has a pattern of churn. Results land as JSON files on disk rather than in the response, which is what keeps it usable on a file with a long history.
What it is
An MCP server for file-level git forensics. Repository-wide tooling answers what changed across a project; this narrows to a single file — where it came from, what happened to it between two commits, what else moved alongside it, and what its history looks like as a pattern.
What you get
- Complete version history for one file, following renames and moves —
track_file_versions - The specific changes between any two versions, given a
fromand atocommit hash —analyze_file_diff - The broader context of a file's change in one commit — what else that commit touched around it —
analyze_file_context - Semantic changes and patterns across the file's history —
analyze_file_semantics - Every tool takes a
repoPath, afileand anoutputPath, and writes analysis results, summary statistics, change patterns and — where applicable — risk assessments as JSON
Requirements
Node.js, git installed and reachable on the path, and the MCP SDK. There is no published package: clone the repository, npm install, npm run build, then point the client's command at node with /path/to/git-file-forensics/build/index.js. It works against whatever repository path you pass, so any checkout the account can read is in scope. Apache License, Version 2.0.
Setup effort
Build from source — git clone https://github.com/davidorex/git-file-forensics.git
USE CASES
Working out where a file came from
Track its full version history, renames and moves included, instead of stopping at the current path.
Understanding one change
Diff the file between two commit hashes and read what actually moved.
Seeing what a commit did around it
Analyze the broader context of that commit rather than the single file in isolation.
Spotting a churn pattern
Run the semantic analysis over the history to see how the file changes and where the risk sits.
4 tools
Listed in project docs. Your client may show a different list.
analyze_file_diffanalyze_file_contextanalyze_file_semanticsBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/davidorex/git-file-forensics.git
cd git-file-forensics
npm install
npm run buildMCP Clients
Cline
{
"mcpServers": {
"git-file-forensics": {
"command": "node",
"args": [
"<YOUR_PATH_TO_GIT_FILE_FORENSICS>/build/index.js"
],
"alwaysAllow": []
}
}
}<YOUR_PATH_TO_GIT_FILE_FORENSICS> is the full path of your clone (build/index.js is created by npm run build). The README's block runs /opt/homebrew/bin/node, which is where Homebrew puts Node on Apple Silicon Macs; node works wherever Node.js is on your PATH, or put the full path of your own node binary there.