返回市场
快速差异比较mcp

快速差异比较mcp

作者:kweinmeister5 星标更新:2025-11-04

项目介绍

Fast Diff MCP Server

CI License Built with Rust

一个高性能的模型上下文协议服务器,提供文本差异比较功能。此服务器使大语言模型能够高效地比较两段文本,并以标准统一的差异格式接收结果。

核心逻辑使用 Rust 实现,以获得最大速度,相比标准 Python 库提供了显著的性能提升。该服务器同时暴露了高性能的 Rust 实现和 Python 的原生 difflib,以供比较和灵活性选择。

可用工具

  • diff_tool_rust_similar - 使用高性能的 Rust 实现(similar 包的 Myers 差异算法)来比较两个多行字符串。这是推荐用于性能的工具。

    • original_text (字符串,必需):原始文本内容。
    • modified_text (字符串,必需):修改后的文本内容。
  • diff_tool_python_difflib - 使用标准 Python difflib 库(Ratcliff/Obershelp 算法)来比较两个多行字符串。适用于比较或需要 difflib 特定行为的情况。

    • original_text (字符串,必需):原始文本内容。
    • modified_text (字符串,必需):修改后的文本内容。

安装与使用

该项目是一个带有 Rust 扩展的 Python 包,因此需要编译步骤。推荐从仓库的本地克隆安装并运行它。

先决条件

从源码运行

  1. 克隆仓库:

    git clone https://github.com/kweinmeister/fast-diff-mcp.git
    cd fast-diff-mcp
    
  2. 安装依赖项并编译扩展: 此命令设置虚拟环境并将包安装为可编辑模式。

    uv pip install -e .
    
  3. 运行服务器: 在项目目录根部运行:

    uv run server.py
    

配置

要使用此服务器与 MCP 客户端一起工作,必须配置客户端以从您克隆的本地仓库运行服务器。以下命令假设您是从克隆的 fast-diff-mcp 目录根部运行它们的。

配置 Gemini CLI

在您的 ~/.gemini/settings.json 文件中添加以下内容,将 /path/to/fast-diff-mcp 替换为您克隆仓库的实际绝对路径。

<details> <summary>使用 uv(从源码)</summary>
{
  "mcpServers": {
    "diff": {
      "command": "uv",
      "args": ["run", "server.py"],
      "options": {
        "cwd": "/path/to/fast-diff-mcp"
      }
    }
  }
}
</details>

配置 Claude.app

在您的 Claude 设置中添加以下内容,将 /path/to/fast-diff-mcp 替换为您克隆仓库的实际绝对路径。

<details> <summary>使用 uv(从源码)</summary>
{
  "mcpServers": {
    "diff": {
      "command": "uv",
      "args": ["run", "server.py"],
      "options": {
        "cwd": "/path/to/fast-diff-mcp"
      }
    }
  }
}
</details>

配置 VS Code

在您的用户设置(JSON)文件或工作区中的 .vscode/mcp.json 文件中添加以下 JSON 块。记得将 /path/to/fast-diff-mcp 替换为正确的绝对路径。

注意,当使用 mcp.json 文件时,需要 mcp 键。

<details> <summary>使用 uv(从源码)</summary>
{
  "mcp": {
    "servers": {
      "diff": {
        "command": "uv",
        "args": ["run", "server.py"],
        "options": {
          "cwd": "/path/to/fast-diff-mcp"
        }
      }
    }
  }
}
</details>

性能测试

此仓库包括一个脚本,用于测试 Rust 实现相对于 Python 的 difflib 的性能。

要运行性能测试,请在项目根目录执行以下命令:

uv run benchmark.py

部署到 Google Cloud Run 使用 Docker

此项目优化了使用其包含的多阶段 Dockerfile 部署到无服务器平台如 Google Cloud Run。

最直接的部署方式是使用 gcloud CLI,这将在一步内构建容器并部署。

先决条件:

  • 安装并认证了 Google Cloud SDK (gcloud auth login)。
  • 启用了计费并激活了 Cloud Run API 的 Google Cloud 项目。

要部署,请运行以下命令:

# 1. 设置您的项目、区域和服务名称
export PROJECT_ID="your-google-cloud-project-id"
export REGION="us-central1"
export SERVICE_NAME="fast-diff-mcp"

# 2. 配置 gcloud 使用您的项目
gcloud config set project $PROJECT_ID

# 3. 从源码部署
# gcloud 将构建镜像并将其部署到 Cloud Run
gcloud run deploy $SERVICE_NAME \
  --allow-unauthenticated \
  --region=$REGION \
  --source .

几分钟后,gcloud 将为您提供服务的公共 URL。

贡献

欢迎提交拉取请求!我们鼓励贡献以帮助改进此服务器。无论您想添加新功能、修复错误还是改进文档,您的意见都是宝贵的。

许可证

Fast Diff MCP Server 根据 Apache 许可证 2.0 授权。更多详情,请参阅项目仓库中的 LICENSE 文件。