Zoekt MCP 后端服务器
使用说明(Markdown 格式)
-
项目简介
- mcp-zoekt 是一个完整的 MCP 服务器实现,,通过 Zoekt 作为后端索引服务,向 AI 助手提供跨仓库的代码检索、符号定位、文件内容获取以及健康状态等能力,遵循 MCP 的请求/响应格式并通过 JSON-RPC 与客户端通信。
-
主要功能点
- 提供以下工具(Tools):search、list_repos、file_content、search_symbols、search_files、find_references、get_health
- 支持两种传输模式:STDIO(本地直接磁画路传输)与 HTTP/SSE(远程访问)
- 会话管理、能力声明与日志记录
- 与 Zoekt 后端的连接与错误处理(超时、不可用、未找到等情形的专用错误码)
- 异常情况以结构化错误响应返回,便于客户端解析与提示
-
安装步骤
- 克隆仓库并安装依赖
- 构建/编译以生成可执行入口 dist/index.js
- 启动服务器(STDIO 传输)时:node dist/index.js --url http://localhost:6070
- 启动服务器(HTTP/SSE 传输)时:指定 --transport http、--port、--host 等参数,如用浏览器或外部客户端接入
- 使用 MCP 客户端时,按客户端文档将服务器启动命令及端点配置为连接对象
-
服务器配置(JSON 说明,适用于 MCP 客户端或集成工具的启动配置,非客户端代码) { "serverName": "zoekt-mcp", "command": "node", "args": ["dist/index.js", "--url", "http://localhost:6070"] // 以上配置表示服务器名称为 zoekt-mcp,使用 node 运行 dist/index.js,并通过 --url 指定 Zoekt URL } 注释:MCP 客户端通常需要提供服务器的启动信息以连接和发起 JSON-RPC 请求,该信息仅用于客户端的连接配置,不需要在服务器端运行时传递给客户端。
-
基本使用方法
- 启动后,LLM 客户端(如 Code Copilot、Claude 等)可通过 MCP 服务器读取资源、执行工具、获取提示模板等能力。
- 客户端通过 JSON-RPC 调用工具,例如 list_tools、call_tool,请求参数包含工具名及其输入,服务器返回渲染好的文本内容或错误信息。
- 如需本地调试,可使用 STDIO 传输直接在命令行中与 MCP 服务器交互;如需远程访问,请配置 HTTP/SSE 传输并暴露 API 端点。
-
重要提示
- 服务器默认提供多种工具,需确保 Zoekt 后端可用且正确索引了代码仓库。
- 若遇到网络、超时或后端不可用等情况,MCP 服务器会返回结构化错误,方便排错。