Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Diff Explainer

FreeNot checked

AI-powered git diff analysis with human-readable explanations, risk flags, and review checklists. Enables to explain any diff text or currently staged git chang

GitHubEmbed

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 text
  • explain_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.

from github.com/ashwani983/diff-explainer

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-explainer

FAQ

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

Compare 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