Diff Explainer
FreeNot checkedAI-powered git diff analysis with human-readable explanations, risk flags, and review checklists. Enables to explain any diff text or currently staged git chang
About
AI-powered git diff analysis with human-readable explanations, risk flags, and review checklists. Enables to explain any diff text or currently staged git changes through an MCP server.
README
AI-powered git diff analysis: human-readable explanations, risk flags, and review checklists.
Works as a CLI, Python library, and MCP server tool.
Setup
pip install -r requirements.txt
# Optional: set for LLM-powered summaries
export OPENAI_API_KEY="sk-..."
Risk detection works without an API key. Only summaries and review checklists require the LLM.
Usage
CLI
# Pipe from git diff
git diff | python cli.py
# Read from file
python cli.py --file examples/sample.diff
# Auto-run git diff in current repo
python cli.py --git
# JSON output
python cli.py --file examples/sample.diff --format json
Python Library
from explainer import explain_diff
with open("changes.diff") as f:
diff_text = f.read()
result = explain_diff(diff_text)
print(result.summary)
print(result.risk_flags)
print(result.files_changed)
MCP Server (opencode integration)
Add to your opencode.json:
{
"mcpServers": {
"diff-explainer": {
"type": "stdio",
"command": "python",
"args": ["server.py"],
"cwd": "/path/to/diff-explainer"
}
}
}
Available tools:
explain_diff_tool(diff_text)— Explain any diff textexplain_staged()— Explain currently staged git changes
Run standalone: python server.py
Features
- Hybrid analysis: Regex risk detection (offline) + LLM summaries (optional)
- 7 risk patterns: Removed error handling, changed timeouts, auth modifications, missing env defaults, large changes, tech debt markers, hardcoded secrets
- Graceful degradation: Works without API key — risk flags and file stats always available
- Multiple interfaces: CLI, library import, MCP server
Output Example
# Diff Explanation
## Summary
This change reduces retry resilience in the auth service and introduces a hardcoded API key.
**Category:** config_change
## Files Changed
- `src/auth.py` — +3/-7 lines
- `src/config.py` — +5/-1 lines
## Risk Flags
- 🔴 **HIGH**: Removed error handling code
- 🔴 **HIGH**: Modified auth/permission checks
- 🔴 **HIGH**: Possible hardcoded secret
- 🟡 **MEDIUM**: Changed retry/timeout values
- 🟢 **LOW**: Added TODO/FIXME/HACK comment
## Review Checklist
- [ ] Is removing the try/except intentional? What handles AuthError now?
- [ ] Why were retries reduced from 3 to 1?
- [ ] The hardcoded API key should be moved to a secrets manager.
Installing Diff Explainer
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/ashwani983/diff-explainerFAQ
Is Diff Explainer MCP free?
Yes, Diff Explainer MCP is free — one-click install via Unyly at no cost.
Does Diff Explainer need an API key?
No, Diff Explainer runs without API keys or environment variables.
Is Diff Explainer hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Diff Explainer in Claude Desktop, Claude Code or Cursor?
Open Diff Explainer on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Diff Explainer with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
