文本差异比较服务

一个提供文本比较和差异分析功能的MCP服务器,能够确定两段文本是否相同并显示详细差异。

  • by keyhoffman
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 keyhoffman/diff-mcp

使用说明

Diff MCP服务器

一个模型上下文协议(MCP)服务器,为Claude提供强大的文本比较和区分功能。此服务器允许Claude明确回答两段文本是否相同,并显示它们之间的详细差异。

特性

  • 文本比较:比较两个文本字符串并确定它们是否相同
  • 详细难点:通过逐行分析显示文本之间的详细差异
  • 灵活的选项:忽略空格、大小写或行尾差异
  • 边缘案例处理:正确处理空格、行尾和格式差异

安装

  1. 克隆此存储库
  2. 安装依赖项:
    npm install
    

发展

构建TypeScript代码:

npm run build

在开发模式下运行:

npm run dev

用法

建立和运行

  1. 构建项目:

    npm run build
    
  2. 运行服务器:

    npm start
    

MCP配置

将其添加到您的MCP配置文件中(例如。, ~/.config/mcp/servers/diff-mcp.json):

{
  "mcpServers": {
    "diff-mcp": {
      "command": "node",
      "args": ["/path/to/your/diff-mcp-server/dist/index.js"],
      "env": {}
    }
  }
}

可用工具

1.比较文本

比较两个文本字符串并返回它们是否相同。

参数:

  • text1 (string):要比较的第一个文本
  • text2 (string):要比较的第二个文本
  • ignoreWhitespace (boolean,可选):忽略空格差异
  • ignoreCase (布尔值,可选):忽略大小写差异
  • ignoreLineEndings (布尔值,可选):忽略行尾差异

退货:

{
  "identical": true/false,
  "summary": "Texts are identical" or "Texts differ: X additions, Y removals"
}

2.get_detailed_diff

通过逐行分析提供两个文本字符串之间的详细差异。

参数:

  • text1 (string):要比较的第一个文本
  • text2 (string):要比较的第二个文本
  • contextLines (数字,可选):围绕更改显示的上下文行数
  • ignoreWhitespace (boolean,可选):忽略空格差异
  • ignoreCase (布尔值,可选):忽略大小写差异
  • ignoreLineEndings (布尔值,可选):忽略行尾差异

退货:

{
  "identical": true/false,
  "differences": [
    {
      "type": "add|remove|equal",
      "value": "text content",
      "lineNumber": 1
    }
  ],
  "summary": "Texts differ: X lines added, Y lines removed"
}

示例用法

当Claude可以访问此MCP服务器时,它现在可以:

  1. 明确回答身份问题:“这两个文件完全一样吗?”
  2. 显示精确的差异:“这些文本之间的确切区别是什么?”
  3. 处理边缘案例:正确检测空格、行尾和格式的差异

成功标准

有了这个MCP服务器,Claude现在可以:

  • ✅ 回答“是的,这些是100%相同的”或“否,以下是确切的差异”
  • ✅ 处理空格、行尾和格式等边缘情况
  • ✅ 当文本不同时,提供详细的差异信息
  • ✅ 提供灵活的比较选项(忽略空格、大小写等)

许可证

麻省理工学院