Codegraph MCP 服务器

使用说明(简要指南,便于快速理解与上手)

  • 项目简介

    • Codegraph 的 MCP 服务器实现了 MCP 协议核心能力,允许 AI 代理通过标准化的 JSON-RPC 调用访问本地代码图谱中的资源、工具和提示模板,并执行相应动作。服务器可在单仓库模式下本地运行,也可通过开启多仓库模式对注册仓库进行跨仓库查询。通信传输支持标准的输入输出、SSE、WebSocket 等多种方式。
  • 主要功能点

    • 资源管理:托管并提供对代码图中“资源”的访问(如文件、符号、类和函数等的上下文信息、依赖关系等)。
    • 工具注册与执行:暴露 30 个 MCP 工具,允许 LLM 通过 MCP 调用外部功能(如查询函数、路径分析、差异分析、复杂度等)。
    • Prompt 与模板:支持基于资源渲染的 Prompt 模板,方便构建与 LLM 的对话模式。
    • 会话管理与能力声明:服务器端维护会话上下文,并对可用能力进行声明。
    • 多传输协议支持:内置多种传输协议(如 Stdio、SSE、WebSocket),便于不同部署场景。
    • 多仓库模式:默认单仓库模式,开启 --multi-repo 即可访问已注册的其他仓库。
  • 安装与运行步骤

    • 安装并进入项目根目录后,先安装依赖并构建图谱(示例仅为说明,实际使用以仓库 README 为准):
      • 全局安装 MCP 服务器并在目标代码目录开启 MCP:
        • 代码图谱项目提供的 MCP 服务器可通过代码图谱的命令启动:
          • codegraph mcp 启动单仓库模式的 MCP 服务器
          • codegraph mcp --multi-repo 启用多仓库模式,访问已注册的仓库
          • 具体仓库锁定可通过 --repos a,b 指定目标仓库
    • 服务器上线后,MCP 客户端即可通过 JSON-RPC 与服务器通信,发送对资源、工具、Prompt 的请求,并接收相应的 JSON-RPC 响应。
  • 服务器配置(客户端使用的连接配置说明)

    • MCP 客户端需要通过 JSON 配置来了解如何启动并连接 MCP 服务器。下面给出一个符合仓库场景的示例描述(请以文本形式理解,非代码块):
      • serverName: Codegraph-MCP
      • command: codegraph
      • args: ["mcp", "--multi-repo"] // 如需仅访问特定仓库,可继续追加 --repos a,b
    • 说明:
      • serverName 指明 MCP 服务器对外标识名称,便于客户端在多服务器场景中区分。
      • command 指服务器启动命令,在本仓库中对应执行 codegraph。
      • args 为启动参数,示例中为启用多仓库模式;若客户端需要指定可访问的仓库,可在 args 中添加 "--repos" 以及逗号分隔的仓库名称列表。
    • MCP 客户端无需额外服务器代码,直接依赖上述配置启动与连接即可。
  • 基本使用方法

    • 启动 MCP 服务后,LLM 客户端可以通过发送标准的 MCP 请求(JSON-RPC)来:
      • 读取资源(资源信息、上下文等)
      • 调用工具(执行图谱查询、分析、路径计算等)
      • 获取并渲染 Prompt(模板化交互)
    • 客户端可通过标准 MCP 工具集合对话,结合本地化图谱数据,完成更加精准的上下文构建与外部功能调用。
  • 额外信息

    • 该实现明确将 MCP 服务嵌入到 Codegraph 项目中,提供内置工具集以及必要的服务端能力,以实现对 LLM 客户端的上下文服务。
    • 若需要对接不同的前端或代理,MCP 的传输层可以切换到不同的通道(如 Stdio、SSE、WebSocket),以适配不同的运行环境。

服务器信息