项目简介

MCP Ripgrep Server 是一个实现了 Model Context Protocol (MCP) 的服务器,它利用强大的 ripgrep 命令行工具,为支持 MCP 协议的客户端(如 Claude)提供高效的文件内容搜索能力。通过此服务器,LLM 应用可以安全地调用本地 ripgrep 工具,执行快速、灵活的文件内容查找。

主要功能

  • 强大的文本搜索: 支持使用 ripgrep 在指定目录或文件中进行高性能的文本搜索,包括正则表达式匹配、大小写敏感、全局搜索等多种选项。
  • 灵活的搜索参数: 提供多种搜索工具,如基础搜索、高级搜索和计数搜索,允许用户自定义搜索模式、路径、文件类型、上下文行数等参数。
  • 文件列表功能: 可以列出指定路径下符合条件的文件,方便用户了解搜索范围。
  • 文件类型查询: 支持查询 ripgrep 所支持的所有文件类型。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统已安装 Node.js (v18 或更高版本) 和 npm 包管理器。
  2. 安装 ripgrep: 确保已安装 ripgrep ('rg') 命令行工具,并已添加到系统 PATH 环境变量中。你可以访问 ripgrep releases 下载安装包,或者使用包管理器安装,例如 macOS 可以使用 'brew install ripgrep' 命令安装。

服务器配置

要将此 MCP 服务器与 MCP 客户端(例如 Claude for Desktop)一起使用,需要在客户端的配置文件中添加服务器配置信息。以 Claude for Desktop 为例,你需要编辑其配置文件 'claude_desktop_config.json',并添加如下 'mcpServers' 配置:

{
  "mcpServers": {
    "ripgrep": {
      "command": "npx",
      "args": ["-y", "mcp-ripgrep@latest"]
    }
  }
}

配置参数说明:

  • 'mcpServers': Claude for Desktop 配置中用于定义 MCP 服务器的根节点。
  • 'ripgrep': 你为该 ripgrep 服务器定义的名称,可以自定义,用于在客户端中标识和调用。
  • 'command': 指定启动 MCP 服务器的命令。这里 'npx' 是 npm 包运行器,用于执行 npm 包。
  • 'args': 传递给 'command' 的参数列表。
    • '-y': 'npx' 的参数,表示自动确认安装包。
    • 'mcp-ripgrep@latest': 指定要运行的 npm 包名称和版本,这里 '@latest' 表示使用最新版本。

注意: 以上配置使用了 'npx' 直接运行 npm 包 'mcp-ripgrep@latest'。 另一种方式是从本地仓库运行,你需要先克隆仓库到本地,然后将 'command' 设置为 'node','args' 设置为指向仓库中 'src/index.ts' 文件的路径。例如:

{
  "mcpServers": {
    "ripgrep": {
      "command": "node",
      "args": ["/path/to/mcp-ripgrep/src/index.ts"]
    }
  }
}

请将 '/path/to/mcp-ripgrep' 替换为你克隆仓库的实际本地路径。

基本使用方法

完成配置并重启 MCP 客户端后,客户端应该能够检测到名为 "ripgrep" 的 MCP 服务器。你可以通过客户端的功能调用 ripgrep 服务器提供的工具,例如在 Claude 中,你可以指示 Claude 使用 "ripgrep" 服务器进行文件搜索。具体工具的使用方法可以参考仓库 README.md 文件中 "Available Tools" 部分的说明。例如,要使用 'search' 工具,你可以向 Claude 提出类似 “使用 ripgrep 服务器在当前目录下搜索包含 'example' 字符串的文件” 这样的指令。客户端会将指令转换为对 MCP 服务器的工具调用请求,并返回搜索结果。

信息

分类

开发者工具