Unified Diff MCP

Communauté Autres

Generate and visualize unified diffs as HTML or PNG, with side-by-side and line-by-line views for filesystem dry runs.

Que pouvez-vous faire avec Unified Diff MCP ?

  • 🎨 Beautiful HTML diff visualization using diff2html
  • 🌐 GitHub Gist integration for instant sharing
  • 📁 Local file output (PNG/HTML)
  • 🔄 Auto-delete functionality for temporary diffs
  • 🖥️ Cross-platform support (Windows, macOS, Linux)
  • ⚡ High-performance with Bun runtime
  • 🛡️ Enhanced Security with multi-level protection for shared diffs
  • 🔒 Multi-level security (Low/Medium/High) for different use cases

Installation

Les étapes d'installation sont dans la documentation ci-dessous. Documentation

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Unified Diff MCP Server
  2. ✨ Features
  3. 🚀 Quick Start
  4. 🛠️ Tools Overview
  5. 📖 Usage Examples
  6. 🎛️ Configuration
  7. 📋 Parameters Reference
  8. 🌍 Platform Support
  9. 🔧 Development
  10. 📚 Advanced Usage
  11. 🤝 Supported Clients
  12. 📄 License

Unified Diff MCP Server

Beautiful diff visualization for Claude Desktop. Transform code diffs into stunning visual comparisons with GitHub Gist integration and local file output.

✨ Features

  • 🎨 Beautiful HTML diff visualization using diff2html
  • 🌐 GitHub Gist integration for instant sharing
  • 📁 Local file output (PNG/HTML)
  • 🔄 Auto-delete functionality for temporary diffs
  • 🖥️ Cross-platform support (Windows, macOS, Linux)
  • ⚡ High-performance with Bun runtime
  • 🛡️ Enhanced Security with multi-level protection for shared diffs
  • 🔒 Multi-level security (Low/Medium/High) for different use cases

🚀 Quick Start

Installing via Smithery
bunx @smithery/cli install @gorosun/unified-diff-mcp --client claude --config '{
  "defaultAutoOpen": true,
  "defaultOutputMode": "html",
  "githubUsername": "your_actual_github_username",
  "githubToken": "ghp_your_actual_token_here"
}'
Manual Installation
  1. Install Claude Desktop and Bun
  2. Clone and build:
     git clone https://github.com/gorosun/unified-diff-mcp.git
     cd unified-diff-mcp
     bun install
  3. Configure Claude Desktop - see Configuration below

🛠️ Tools Overview

ToolPurposeOutputBest For
visualize_diff_html_contentBrowser display & sharingGitHub Gist + HTML preview URLQuick sharing, instant viewing
visualize_diff_output_fileLocal file storagePNG/HTML filesLocal storage, presentations

📖 Usage Examples

🎯 Optimal Prompts by Purpose
PurposeRecommended PromptTool UsedOutput
Quick PreviewPlease visualize and preview the following diff:
以下のdiffを可視化してプレビューしてくださいvisualize_diff_html_contentGitHub Gist + HTML preview URL
Local StoragePlease visualize and save the following diff to a file:
以下のdiffを可視化してファイルに保存してくださいvisualize_diff_output_fileLocal HTML/PNG file
Share with OthersPlease visualize the following diff and create a shareable link:
以下のdiffを可視化して共有リンクを作成してくださいvisualize_diff_html_contentGitHub Gist with shareable URL
Image ExportPlease visualize and save the following diff as a PNG image:
以下のdiffを可視化してPNG画像で保存してくださいvisualize_diff_output_fileLocal PNG image
Code ReviewPlease visualize the following diff in side-by-side format:
以下のdiffをside-by-side形式で可視化してくださいEither toolSide-by-side comparison
DocumentationPlease visualize and save the following diff as an HTML file:
以下のdiffを可視化してHTMLファイルで保存してくださいvisualize_diff_output_fileLocal HTML file
🔒 Secure SharingPlease visualize this diff with high security:
以下のdiffを高セキュリティで可視化してくださいvisualize_diff_html_contentSecret Gist with auto-delete
Share diff instantly (GitHub Gist)
visualize_diff_html_content:
- Creates temporary GitHub Gist
- Auto-deletes after 30 minutes
- Instant browser-ready URLs
- Perfect for code reviews
Save diff locally
visualize_diff_output_file:
- Saves PNG or HTML to local disk
- Auto-opens in browser (optional)
- Perfect for documentation

🎛️ Configuration

Environment Variables
VariableDescriptionDefault
GITHUB_TOKENGitHub Personal Access Token (for Gist integration)Required for visualize_diff_html_content
DEFAULT_AUTO_OPENAuto-open generated filesfalse
DEFAULT_OUTPUT_MODEDefault output format (html or image)html
GitHub Token Setup
  1. Go to GitHub Settings > Personal Access Tokens
  2. Generate new token with gist scope
  3. Add to your environment:
     export GITHUB_TOKEN="your_token_here"
Claude Desktop Configuration

macOS:

code ~/Library/Application\ Support/Claude/claude_desktop_config.json

Windows:

code %APPDATA%\Claude\claude_desktop_config.json

Configuration template:

{
  "mcpServers": {
    "unified-diff-mcp": {
      "command": "bun",
      "args": ["run", "/path/to/unified-diff-mcp/src/index.ts"],
      "env": {
        "GITHUB_TOKEN": "your_github_token_here",
        "DEFAULT_AUTO_OPEN": "true",
        "DEFAULT_OUTPUT_MODE": "html"
      }
    }
  }
}

📋 Parameters Reference

Common Parameters
ParameterTypeDefaultDescription
diffstring(required)Unified diff text
formatstringside-by-sideDisplay format (line-by-line or side-by-side)
showFileListbooleantrueShow file list summary
highlightbooleantrueEnable syntax highlighting
oldPathstringfile.txtOriginal file path
newPathstringfile.txtModified file path
autoOpenbooleanfalseAuto-open in browser
GitHub Gist Specific
ParameterTypeDefaultDescription
expiryMinutesnumber30Auto-delete time (1-1440 minutes)
publicbooleanfalsePublic vs secret gist
Local File Specific
ParameterTypeDefaultDescription
outputTypestringhtmlOutput format (html or image)

🌍 Platform Support

PlatformAuto-OpenCommands
Windows✅start (primary), explorer (fallback)
macOS✅open (primary), AppleScript (fallback)
Linux✅xdg-open

🔧 Development

Development mode (with hot reload):

{
  "command": "bun",
  "args": ["--watch", "/path/to/unified-diff-mcp/src/index.ts"]
}

Production mode:

{
  "command": "bun",
  "args": ["run", "/path/to/unified-diff-mcp/src/index.ts"]
}

📚 Advanced Usage

🔒 Enhanced Security Levels

When GitHub Token isn't available or for secure sharing, you can choose from multiple security levels:

Security LevelConfigurationFeaturesUse Cases
🟢 LowSecret Gist + 60min auto-deleteURL-only accessCode examples, learning
🟡 MediumSecret Gist + Password + 30min auto-deleteURL + Access code requiredTeam reviews
🔴 HighSecret Gist + Password + 15min auto-deleteURL + Access code + Short durationSensitive code
Usage Example
Please visualize this diff with high security:
--- a/config.js
+++ b/config.js
@@ -1,3 +1,4 @@
 const config = {
-  apiKey: 'old-key'
+  apiKey: 'new-secure-key',
+  timeout: 5000
 };

Response Example:

🔒 **Secure Diff Visualization**

🔴 **Security Level**: High Security - Secret Gist + Password (15min auto-delete)
📋 **Preview Link**: https://htmlpreview.github.io/?...
🔑 **Access Code**: `a7x9k2`
⏰ **Auto-delete**: 15 minutes
🔄 Fallback Functionality

When GitHub Token is unavailable, the system falls back to local files:

  • HTML saved as temporary file
  • Automatic browser opening
  • Security-based file management

For detailed setup and integration guides:

🤝 Supported Clients

  • Claude Desktop (Primary)
  • Claude Code (CLI)
  • VS Code + MCP Extension
  • Cline and other MCP clients

📄 License

MIT License - see LICENSE file for details.

Dependencies
LibraryLicensePurpose
diff2htmlMITHTML diff generation
playwright-coreApache 2.0Browser automation
@modelcontextprotocol/sdkMITMCP integration

Made with ❤️ for the Claude Desktop community

Questions fréquentes

Qu'est-ce que Unified Diff MCP ?

Generate and visualize unified diffs as HTML or PNG, with side-by-side and line-by-line views for filesystem dry runs.

Comment installer Unified Diff MCP ?

Suivez les étapes d'installation de sa documentation, affichée sur cette page et dans son dépôt.

Unified Diff MCP est-il open source ?

Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.

Qui maintient Unified Diff MCP ?

Il est publié par gorosun. AI.tn le référence sans le maintenir ni le recommander.

Issu des listes communautaires awesome-mcp-servers et du dépôt GitHub du projet. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.