关于 diff-mcp
diff-mcp 是面向代码审查和代码编辑 Agent 的 MCP 服务,可生成统一 diff、应用补丁并解析补丁文件,同时报告变更数量和应用结果。
主要功能
- 01生成统一 diff
- 02应用补丁并报告失败原因
- 03解析文件和 hunk 信息
- 04统计新增与删除行数
适用场景
- 01为代码编辑生成补丁
- 02检查补丁能否应用
- 03汇总补丁文件中的变更
MCP 相关
向 MCP 客户端提供 diff 生成、补丁应用和补丁解析工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| context | integer | 否 | 每个差异块中的上下文行数。 |
| new_text | string | 是 | |
| old_text | string | 是 | |
| new_filename | string | 否 | |
| old_filename | string | 否 |
详细介绍
@mukundakatta/diff-mcp
用于生成字符级精确的统一差异、应用补丁和解析补丁的 MCP 服务,面向代码审查和代码编辑 Agent。
为什么需要它
LLM 手工编写的差异看起来没问题,却无法应用:行号偏差、缺少上下文行、hunk 标头错误。通过此服务处理后,标准 patch 工具(以及 git apply)可以一次成功应用补丁。
工具
| 工具 | 返回内容 |
|---|---|
unified_diff(old_text, new_text, ...) | 补丁文本,以及新增 / 删除 / 未更改行数 |
apply_patch(original_text, patch) | {success, result, reason?} — success:false 表示上下文已偏移 |
parse_patch(patch) | 文件列表,包含每个文件的 hunk 数量和新增 / 删除行数 |
安装 — Claude Desktop
{
"mcpServers": {
"diff": { "command": "npx", "args": ["-y", "@mukundakatta/diff-mcp"] }
}
}
Cursor / Cline / Windsurf / Zed 的配置格式相同。
许可证
MIT OR Apache-2.0。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。