mcpField
U
Unified Diff MCP Server

Unified Diff MCP Server

本地服务
github.com/gorosun版本控制1273 周前更新

关于 Unified Diff MCP Server

Unified Diff MCP Server 将 unified diff 转换为可视化对比,供 Claude Desktop 等 MCP 客户端使用。它可生成 HTML 预览和可分享的 GitHub Gist,也可在本地保存 PNG 或 HTML,并可配置分享安全级别。

主要功能

  1. 01渲染 HTML diff 对比
  2. 02通过 GitHub Gist 分享预览
  3. 03将 diff 保存为 PNG 或 HTML
  4. 04自动删除临时分享内容
  5. 05选择分享安全级别

适用场景

  1. 01以并排形式审查代码变更
  2. 02向团队分享临时 diff 链接
  3. 03为文档保存 diff 图片或 HTML 文件

MCP 相关

该服务向 MCP 客户端提供将 unified diff 转为浏览器预览或本地文件的工具。它支持 GitHub Gist 分享、限时删除和可配置的安全级别。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Unified Diff MCP 服务

smithery badge

为 Claude Desktop 打造的精美差异可视化工具。借助 GitHub Gist 集成和本地文件输出,将代码差异转换为令人惊艳的可视化对比。

Unified Diff 可视化截图

✨ 功能

  • 🎨 使用 diff2html 实现精美的 HTML 差异可视化
  • 🌐 集成 GitHub Gist,即时分享
  • 📁 本地文件输出(PNG/HTML)
  • 🔄 自动删除功能,用于临时差异
  • 🖥️ 跨平台支持(Windows、macOS、Linux)
  • ⚡ 使用 Bun 运行时,性能出色
  • 🛡️ 增强的安全性,为共享的差异提供多级保护
  • 🔒 多级安全性(低/中/高),适用于不同场景

🚀 快速开始

通过 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"
}'
手动安装
  1. 安装 Claude Desktop 和 Bun
  2. 克隆并构建:
    git clone https://github.com/gorosun/unified-diff-mcp.git
    cd unified-diff-mcp
    bun install
    
  3. 配置 Claude Desktop——参见下方的配置

🛠️ 工具概览

工具用途输出适用场景
visualize_diff_html_content浏览器显示与分享GitHub Gist + HTML 预览 URL快速分享、即时查看
visualize_diff_output_file本地文件存储PNG/HTML 文件本地存储、演示

📖 使用示例

🎯 按用途选择最佳提示词
用途推荐提示词使用的工具输出
快速预览Please visualize and preview the following diff:
以下のdiffを可視化してプレビューしてください
visualize_diff_html_contentGitHub Gist + HTML 预览 URL
本地存储Please visualize and save the following diff to a file:
以下のdiffを可視化してファイルに保存してください
visualize_diff_output_file本地 HTML/PNG 文件
与他人分享Please visualize the following diff and create a shareable link:
以下のdiffを可視化して共有リンクを作成してください
visualize_diff_html_content带可分享 URL 的 GitHub Gist
导出图像Please visualize and save the following diff as a PNG image:
以下のdiffを可視化してPNG画像で保存してください
visualize_diff_output_file本地 PNG 图像
代码审查Please visualize the following diff in side-by-side format:
以下のdiffをside-by-side形式で可視化してください
任一工具并排对比
文档Please visualize and save the following diff as an HTML file:
以下のdiffを可視化してHTMLファイルで保存してください
visualize_diff_output_file本地 HTML 文件
🔒 安全分享Please visualize this diff with high security:
以下のdiffを高セキュリティで可視化してください
visualize_diff_html_content带自动删除功能的 Secret Gist
即时分享差异(GitHub Gist)
visualize_diff_html_content:
- Creates temporary GitHub Gist
- Auto-deletes after 30 minutes
- Instant browser-ready URLs
- Perfect for code reviews
将差异保存到本地
visualize_diff_output_file:
- Saves PNG or HTML to local disk
- Auto-opens in browser (optional)
- Perfect for documentation

🎛️ 配置

环境变量
变量描述默认值
GITHUB_TOKENGitHub 个人访问令牌(用于 Gist 集成)visualize_diff_html_content 必需
DEFAULT_AUTO_OPEN自动打开生成的文件false
DEFAULT_OUTPUT_MODE默认输出格式(html 或 image)html
设置 GitHub 令牌
  1. 前往 GitHub Settings > Personal Access Tokens
  2. 生成具有 gist 权限范围的新令牌
  3. 添加到环境中:
    export GITHUB_TOKEN="your_token_here"
    
Claude Desktop 配置

macOS:

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

Windows:

code %APPDATA%\Claude\claude_desktop_config.json

配置模板:

{
  "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"
      }
    }
  }
}

📋 参数参考

通用参数
参数类型默认值描述
diffstring(required)统一差异文本
formatstringside-by-side显示格式(line-by-line 或 side-by-side)
showFileListbooleantrue显示文件列表摘要
highlightbooleantrue启用语法高亮
oldPathstringfile.txt原始文件路径
newPathstringfile.txt修改后的文件路径
autoOpenbooleanfalse在浏览器中自动打开
GitHub Gist 专用参数
参数类型默认值描述
expiryMinutesnumber30自动删除时间(1-1440 分钟)
publicbooleanfalse公开或私密 gist
本地文件专用参数
参数类型默认值描述
outputTypestringhtml输出格式(html 或 image)

🌍 平台支持

平台自动打开命令
Windows✅start(主要方式),explorer(备用方式)
macOS✅open(主要方式),AppleScript(备用方式)
Linux✅xdg-open

🔧 开发

开发模式(支持热重载):

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

生产模式:

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

📚 高级用法

🔒 增强安全级别

如果没有 GitHub Token,或需要安全共享,可以选择多个安全级别:

安全级别配置功能使用场景
🟢 低私密 Gist + 60 分钟后自动删除仅通过 URL 访问代码示例、学习
🟡 中私密 Gist + 密码 + 30 分钟后自动删除需要 URL + 访问码团队审查
🔴 高私密 Gist + 密码 + 15 分钟后自动删除URL + 访问码 + 短时有效敏感代码
用法示例
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
 };

响应示例:

🔒 **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
🔄 回退功能

GitHub Token 不可用时,系统会回退到本地文件:

  • 将 HTML 保存为临时文件
  • 自动打开浏览器
  • 根据安全级别管理文件

详细的设置和集成指南:

🤝 支持的客户端

  • Claude Desktop(主要)
  • Claude Code(CLI)
  • VS Code + MCP Extension
  • Cline 及其他 MCP 客户端

📄 许可证

MIT License - 详情请参阅 LICENSE 文件。

依赖项
库许可证用途
diff2htmlMIT生成 HTML 差异
playwright-coreApache 2.0浏览器自动化
@modelcontextprotocol/sdkMITMCP 集成

为 Claude Desktop 社区倾心打造 ❤️

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。