统一Diff-MCP服务器
](https://smithery.ai/server/@gorosun/unified-diff-mcp)
Claude Desktop的漂亮差异可视化。通过GitHub Gist集成和本地文件输出,将代码差异转化为令人惊叹的视觉比较。
✨ 特性
- 🎨 漂亮的HTML差异可视化 使用diff2html
- 🌐 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"
}'手动安装
- 克隆和构建:
git clone https://github.com/gorosun/unified-diff-mcp.git
cd unified-diff-mcp
bun install- 配置Claude桌面 -看 配置 在......下面
🛠️ 工具概述
| 工具 | 目的 | 输出 | 最佳用途 |
|---|---|---|---|
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_content | GitHub 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_TOKEN | GitHub个人访问令牌(用于Gist集成) | 需要 visualize_diff_html_content |
DEFAULT_AUTO_OPEN | 自动打开生成的文件 | false |
DEFAULT_OUTPUT_MODE | 默认输出格式(html 或 image) | html |
GitHub令牌设置
- 首选
- 使用生成新令牌
gist范围 - 添加到您的环境中:
export GITHUB_TOKEN="your_token_here"Claude桌面配置
macOS:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json窗户:
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"
}
}
}
}📋 参数参考
公共参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
diff | 字符串 | *(必填)* | 统一差异文本 |
format | 字符串 | side-by-side | 显示格式(line-by-line 或 side-by-side) |
showFileList | 布尔值 | true | 显示文件列表摘要 |
highlight | 布尔值 | true | 启用语法高亮显示 |
oldPath | 字符串 | file.txt | 原始文件路径 |
newPath | 字符串 | file.txt | 修改文件路径 |
autoOpen | 布尔值 | false | 在浏览器中自动打开 |
GitHub Gist特定
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
expiryMinutes | 编号 | 30 | 自动删除时间(1-1440分钟) |
public | 布尔值 | false | 公开vs秘密要点 |
本地文件特定
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
outputType | 字符串 | html | 输出格式(html 或 image) |
🌍 平台支持
| 平台 | 自动打开 | 命令 |
|---|---|---|
| 视窗 | ✅ | 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不可用或无法安全共享时,您可以从多个安全级别中进行选择:
| 安全级别 | 配置 | 功能 | 用例 |
|---|---|---|---|
| 🟢 低 | Secret Gist+60分钟自动删除 | 仅限URL访问 | 代码示例,学习 |
| 🟡 中等 | Secret Gist+密码+30分钟自动删除 | 需要URL+访问码 | 团队评价 |
| 🔴 高 | 密码+密码+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_CODE_INTEGRATION.md
- 🇯🇵 日本语: CLAUDE_CODE_INTEGRATION-JP.md
🤝 支持的客户
- 克劳德桌面 主要的,重要的
- 克劳德代码 (CLI)
- VS代码+MCP扩展
- 克莱恩 以及其他MCP客户端
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
依赖项
| 库 | 许可证 | 目的 |
|---|---|---|
| diff2html | MIT | HTML差异生成 |
| 剧作家核心 | Apache 2.0 | 浏览器自动化 |
| @模型上下文协议/sdk | MIT | MCP集成 |
______________________________________________________________________
由以下材料制成❤️ 克劳德桌面社区
