Back to MCP directory
publicPublicdnsLocal runtime

mcp-server-diff-editor

一个集成MCP的差异编辑器,提供文件修改和预览功能,支持差异对比、备份恢复和安全控制。

article

README

🚀 MCP 差分编辑器

MCP 差分编辑器是一款功能强大的工具,它集成了 MCP 的 diff 编辑功能,可让用户通过实时预览功能对文件进行修改,极大提高了文件编辑的效率和准确性。

✨ 主要特性

  • 实时预览编辑:支持通过网络界面编辑文件,并提供实时的 diff 预览,让用户清晰看到文件的修改情况。
  • 灵活应用更改:可使用统一差异格式或完整文件替换的方式来应用更改,满足不同场景需求。
  • 数据安全保障:自动创建备份文件,有效防止数据丢失,还能恢复以前的备份版本。
  • 操作示例参考:提供常见 diff 操作示例,方便用户学习和使用。
  • 安全访问控制:具备安全控制机制,防止未经授权的文件访问。

📦 安装指南

此模块旨在作为 MCP 在 /Users/samihalawa/Documents/MCP 目录中使用,并且在安装后应自动在 MCP 界面中可用。

💻 使用示例

基础用法

const mcp = require('mcp');
const diffEditor = mcp.get('diff_editor');

// 启动服务器
await diffEditor.start();

// 打开特定文件的编辑器
const result = await diffEditor.edit_file({
  file_path: '/path/to/your/file.txt'
});

// 获取访问编辑器的 URL
console.log(result.url);

// 将 diff 应用到文件
await diffEditor.apply_diff({
  file_path: '/path/to/your/file.txt',
  diff_content: `@@ -5,7 +5,7 @@
   <title>示例页面</title>
 </head>
 <body>
-  <h1>欢迎来到我们的网站</h1>
+  <h1>欢迎来到我们精彩的网站!</h1>
   <p>感谢您的访问。</p>
 </body>
 </html>`
});

📚 详细文档

MCP 差分编辑器提供以下方法:

start

启动 diff 编辑器服务器

stop

停止 diff 编辑器服务器

status

检查服务器状态

edit_file

打开特定文件的 diff 编辑器

  • 参数:
    • file_path: 要编辑的文件路径

apply_diff

将 diff 应用到文件

  • 参数:
    • file_path: 要修改的文件路径
    • diff_content: 要应用的 diff 内容

preview_diff

预览 diff 而不实际应用更改

  • 参数:
    • file_path: 要预览更改的文件路径
    • diff_content: 要预览的 diff 内容

🔧 技术细节

环境变量

| 属性 | 详情 | |------|------| | PORT | HTTP 端口(默认:3009) | | MCP_FILE_DIR | 文件操作的基础目录(默认:当前目录) | | MCP_ALLOW_ANY_PATH | 设置为 'true' 以允许访问基础目录外的文件 |

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client