CodeGraphContext MCP Server

使用说明(Markdown 格式)

介绍与定位

  • CodeGraphContext 是一个实现 MCP(Model Context Protocol)的服务端组件,能够把本地代码索引为图结构,提供资源、工具和 Prompts 的托管与查询能力,供 AI 客户端通过 MCP 与服务端进行 JSON-RPC 通信。

主要功能点

  • 资源管理与数据访问:托管代码上下文相关的资源(如代码片段、符号、依赖关系等),并提供便捷的数据访问能力。
  • 工具注册与执行:注册可供 LLM 调用的外部工具,支持通过 MCP 请求执行并返回执行结果。
  • 提示模板(Prompts)定义与渲染:定义可定制的 Prompt 模板,按需要渲染并提供给 AI 客户端使用。
  • JSON-RPC 通信:服务器端以标准的 JSON-RPC 协议接收请求并返回响应,支持读取资源、调用工具、获取 Prompt 等请求。
  • 会话与能力声明:支持会话管理、能力声明以及对多种传输协议的支持(如 Stdio、SSE、WebSocket 等)。
  • 多种后端数据库与扩展:可与图数据库等后端集成,提供高效的上下文服务框架。
  • 安全与扩展性:内置请求验证、速率限制、租用/冷却等保护机制,方便扩展和集成到 IDE、AI 助手等环境。

安装与运行步骤

  • 安装:直接通过 Python 包管理工具安装 CodeGraphContext(示例:pip install codegraphcontext)。
  • 启动 MCP 服务(两种常用方式之一):
    • 使用 CLI 启动:cgc mcp start
    • 通过入口脚本启动(若使用打包部署):执行入口并确保环境变量正确载入。
  • 连接与配置:通过 MCP 客户端配置服务器地址、启动命令及参数等信息以建立连接(如下服务器配置示例所示)。

服务器配置(示例,适用于 MCP 客户端的连接配置) { "server": { "name": "CodeGraphContext", "command": "cgc", "args": [ "mcp", "start" ], "env": { "NEO4J_URI": "bolt://localhost:7687", "NEO4J_USERNAME": "neo4j", "NEO4J_PASSWORD": "password" }, "disabled": false, "alwaysAllow": [] } } 说明

  • 以上配置用于 MCP 客户端的连接描述,包含服务器名称、启动命令及必要参数、以及可选的环境变量。MCP 客户端使用该信息建立连接并发送 JSON-RPC 请求,不需要包含在服务器端代码中。

基本使用方法

  • 启动后:让 AI 客户端(如集成在 IDE 的助手、对话系统等)通过 MCP 连接服务器,发送请求来读取资源、执行工具、获取 Prompts,并以 JSON-RPC 的格式接收响应。
  • 使用场景示例(简述,不涉及具体实现细节):
    • 读取代码资源以获取上下文信息并提供给 LLM 进行推理。
    • 调用已注册的工具来执行外部任务(如代码分析、构建、查询等)。
    • 获取并渲染 Prompt 模板,以便在对话中使用统一的交互风格。
  • 配置后续步骤:根据需要在 IDE/CLI 工具中配置对应的 MCP 服务器连接信息,确保网络可达、认证、速率限制等策略符合安全要求。

注意事项

  • 运行时请确保所需数据库或后端服务已就绪(如图数据库等),并正确设置访问凭据。
  • 如需扩展,请实现新的资源、工具或 prompts,并在 MCP 服务中注册以供 AI 客户端调用。

关键词 资源管理, JSON-RPC, 图数据库, 工具执行, 提示模板

分类ID 6

服务器信息