Zoekt MCP 服务器是一个模型上下文协议(MCP)服务器,借助 Zoekt 提供代码搜索功能。Zoekt 是 Sourcegraph 使用的索引代码搜索引擎。
Zoekt MCP 服务器集成了专为代码仓库优化的文本搜索引擎 Zoekt。Zoekt 为跨大型代码库的搜索提供基于三元组的索引,非常适合需要查找和理解代码模式的 AI 助手。
# 安装依赖项
uv sync
# 运行服务器
uv run zoekt-mcp
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # 在 Windows 上:venv\Scripts\activate
# 安装包
pip install -e .
# 运行服务器
python -m src.main
# 构建镜像
docker build -t zoekt-mcp .
# 使用默认端口运行容器
docker run -p 8000:8000 -p 8080:8080 \
-e ZOEKT_API_URL=http://your-zoekt-instance \
zoekt-mcp
# 或者使用自定义端口运行
docker run -p 9000:9000 -p 9080:9080 \
-e ZOEKT_API_URL=http://your-zoekt-instance \
-e MCP_SSE_PORT=9000 \
-e MCP_STREAMABLE_HTTP_PORT=9080 \
zoekt-mcp
ZOEKT_API_URL:你的 Zoekt 搜索实例的 URL。MCP_SSE_PORT:SSE 服务器端口(默认:8000)。MCP_STREAMABLE_HTTP_PORT:HTTP 服务器端口(默认:8080)。运行 MCP 服务器后,将以下内容添加到你的 .cursor/mcp.json 文件中:
{
"mcpServers": {
"zoekt": {
"url": "http://localhost:8080/zoekt/mcp/"
}
}
}
此服务器为 AI 助手提供了三个强大的工具:
使用 Zoekt 的高级查询语法在索引代码库中进行搜索,支持正则表达式、语言过滤器和布尔运算符。
根据你的特定目标生成上下文感知的指南,用于构建有效的搜索查询。
从索引仓库中检索文件内容或探索目录结构。
# 检查代码风格
uv run ruff check src/
# 格式化代码
uv run ruff format src/