使用说明
项目简介
code-helper 是一个代码搜索 MCP 服务器,旨在为大型语言模型(LLM)客户端提供代码检索服务,支持关键词和向量混合搜索,以实现检索增强生成(RAG)。它使用 PostgreSQL 数据库存储代码片段和向量 embeddings,并利用 FastMCP 框架搭建 MCP 服务器。
主要功能点
- 代码检索:支持通过关键词和语义向量进行代码片段和文档的搜索。
- 混合搜索:结合关键词搜索和向量搜索的结果,提高检索准确率。
- 递归摘要:对代码模块、类和函数进行递归摘要,提升检索效率。
- MCP 服务器:基于 FastMCP 框架,可以作为 MCP 服务器被 Claude 等 LLM 客户端调用。
安装步骤
-
克隆仓库
git clone https://github.com/PrefectHQ/code-helper.git cd code-helper -
创建并激活虚拟环境
python -m venv env source env/bin/activate # Linux/macOS # env\Scripts\activate # Windows -
安装依赖
pip install -r requirements.lock pip install -e . -
配置数据库
- 确保已安装 PostgreSQL 数据库,并启用了 'pgvector' 扩展。
- 修改项目配置文件中的 'DATABASE_URL' 环境变量,指向您的 PostgreSQL 数据库。
-
初始化数据库
alembic upgrade head
服务器配置
要将 code-helper MCP 服务器配置到 MCP 客户端(例如 Claude),您需要提供服务器的启动命令和参数。以下是配置示例,请根据您的实际环境进行调整:
{ "mcpServers": { "Code search MCP server": { // 服务器名称,可以自定义 "command": "/Users/your_username/code-helper/env/bin/uv", // MCP服务器启动命令,这里使用 uv 运行 FastMCP,请替换为您的 uv 或 python 虚拟环境路径 "args": [ "run", "-p", "/Users/your_username/code-helper/env/bin/python", // Python 解释器路径,请替换为您的 python 虚拟环境路径 "fastmcp", // FastMCP 运行命令 "run", "/Users/your_username/code-helper/src/code_helper/app.py" // 应用入口文件路径,请替换为您的 app.py 文件路径 ] } } }
注意:
- 请将上述配置示例中的 '/Users/your_username/code-helper' 替换为您实际的项目路径和虚拟环境路径。
- 配置文件通常位于 Claude 客户端的配置目录中,例如 '~/Library/Application Support/Claude/claude_desktop_config.json' (macOS)。
- 修改配置文件后,请重启 MCP 客户端以加载新的服务器配置。
基本使用方法
-
启动服务器 运行以下命令启动 MCP 服务器(开发模式):
make run-api-dev服务器默认在 'http://localhost:5173' 运行,您可以使用 MCP Inspector 等工具进行测试。
-
在 MCP 客户端中使用
- 按照上述 “服务器配置” 步骤将 code-helper 服务器添加到 MCP 客户端的配置中。
- 在 MCP 客户端中,您应该能够看到名为 "Code search MCP server" 的服务器。
- 在客户端的交互界面中,可以通过调用 'code_search' 工具来使用代码搜索功能。例如,在 Claude 中,您可以指示 Claude 使用 "Code search MCP server" 来搜索代码。
例如,您可以向 Claude 提出类似这样的问题: "请使用 Code search MCP server 帮我搜索一下关于 spaceship launch 的代码实现。"
信息
分类
开发者工具