使用说明

项目简介

Code Ferret 是一个利用关键词索引技术实现快速代码搜索的工具。它既可以作为命令行工具直接使用,也可以作为 MCP (Model Context Protocol) 服务器,为 Cline 等 LLM 工具提供代码搜索服务。

主要功能点

  • 快速代码搜索: 基于关键词索引,快速定位代码库中的相关代码片段。
  • MCP 服务器集成: 以 MCP 服务器的形式运行,为支持 MCP 协议的 LLM 客户端提供代码搜索工具。
  • 资源 (Resources): 虽然该仓库主要关注工具,但代码搜索结果可以被视为一种动态资源,由工具按需生成并提供给 LLM。
  • 工具 (Tools): 提供 'search_code' 工具,允许 LLM 客户端通过关键词查询代码库。
  • Prompt 模板 (Prompts): 仓库本身未显式定义 Prompt 模板,但其代码搜索功能可以与 Prompt 模板结合使用,以实现更复杂的 LLM 交互模式。
  • 多种传输协议: 通过 '@modelcontextprotocol/sdk/server/stdio.js' 使用 Stdio 传输协议,支持与客户端进行 JSON-RPC 通信。

安装步骤

  1. 全局安装 (推荐):
    npm install -g code-ferret
  2. 使用 npx 直接运行: 无需安装,直接使用 npx 运行命令。

服务器配置

要将 Code Ferret 作为 MCP 服务器与 LLM 客户端(如 Cline)连接,您需要配置客户端以启动并连接到 Code Ferret MCP 服务器。以下是一个 JSON 格式的配置示例,您需要将其添加到您的 MCP 客户端配置中。

{
  "server name": "code-ferret-mcp",
  "command": "npx",
  "args": [
    "code-ferret-mcp"
  ],
  "parameters": {
    "index path (可选)": "代码索引文件保存路径,默认为当前目录下的 'code_index' 文件夹。",
    "可以根据需要修改 index path 参数,例如指定一个持久化的存储位置。"
  }
}

配置参数说明:

  • 'server name': 服务器名称,可以自定义,用于在客户端中标识该服务器。
  • 'command': 启动服务器的命令,这里使用 'npx' 来运行 'code-ferret-mcp'。
  • 'args': 传递给命令的参数,'code-ferret-mcp' 是用于启动 MCP 服务器的命令。
  • 'parameters': 可选参数,可以根据需要进行配置。
    • 'index path': 指定代码索引的存储路径。如果您的代码库很大,或者希望索引持久化,可以设置此参数。

注意: 请确保您的 MCP 客户端能够正确解析并执行上述配置。具体的配置方法请参考您使用的 MCP 客户端的文档。

基本使用方法

  1. 启动 MCP 服务器: 在命令行中运行 'code-ferret mcp' 或 'npx code-ferret mcp' 命令启动 MCP 服务器。服务器默认使用 Stdio 传输协议,并通过 JSON-RPC 与客户端通信。
  2. 客户端调用 'search_code' 工具: 在 LLM 客户端中,可以使用 'search_code' 工具进行代码搜索。
    • 工具名称: 'search_code'
    • 工具描述: 'Search for code snippets matching a query'
    • 工具参数:
      {
        "query": { "type": "string", "description": "搜索关键词 (必填)" },
        "directory": { "type": "string", "description": "要搜索的目录 (可选,默认为当前工作目录)" },
        "extensions": { "type": "array", "items": { "type": "string" }, "description": "要包含的文件扩展名 (可选)" }
      }
    • 调用示例 (在 Cline 中):
      search_code(query="database connection", directory="./src", extensions=[".js", ".ts"])
  3. 获取搜索结果: LLM 客户端将收到 JSON-RPC 响应,其中包含代码搜索结果,通常是包含相关代码片段的文件路径列表。

总结

Code Ferret 通过提供 MCP 服务器功能,使得 LLM 应用能够方便地利用其强大的代码搜索能力,从而更好地理解和处理代码相关的任务。配置简单,易于集成到现有的 LLM 工作流程中。

信息

分类

开发者工具