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