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 服务器会返回结构化错误,方便排错。

服务器信息