使用说明
项目简介
CodeGraph MCP服务器是 CodeGraph 代码分析工具的 MCP 接口实现,它允许LLM客户端通过标准化的 Model Context Protocol (MCP) 协议,调用 CodeGraph 的代码分析功能,将 TypeScript 和 JavaScript 代码库转换为 Neo4j 图数据库,并进行自然语言查询和代码理解。
主要功能点
- 代码库分析工具: 提供 'run_analyzer' 工具,LLM客户端可以调用此工具分析指定的代码目录。
- Neo4j 图数据库集成: 分析结果存储在 Neo4j 图数据库中,支持基于图数据库的代码结构查询和分析。
- MCP 协议标准接口: 通过标准的 MCP 协议与 LLM 客户端通信,提供统一的上下文信息和功能访问方式。
- Stdio 传输协议: 使用 Stdio 作为默认的 MCP 服务器传输协议,易于集成和部署。
安装步骤
-
环境准备: 确保已安装 Node.js 和 npm,并安装了 Neo4j 数据库 (推荐使用 Neo4j Desktop v5.26.4)。同时,建议安装 Neo4j 插件 APOC Core 和 Graph Data Science (GDS) Library。
-
选择安装方式:
- 简易安装 (推荐): 下载预打包的 zip 文件 'CodeGraph_Setup.zip' 并解压到指定目录(例如 'C:\code\amcp')。
- 手动安装: 从 GitHub 克隆仓库 'git clone https://github.com/ChrisRoyse/CodeGraph.git amcp',进入 'amcp' 目录后执行 'npm install' 和 'npm run build' 编译代码。
-
配置 MCP 服务器: 在 MCP 客户端中配置服务器连接信息。
服务器配置
MCP 客户端需要配置 'code-analyzer-mcp' 服务器,以下是配置示例(JSON 格式):
{ "mcpServers": { "code-analyzer-mcp": { "command": "node", "args": [ "c:/code/amcp/mcp/dist/index.js" // 指向编译后的 MCP 服务器入口文件 ], "cwd": "c:/code/amcp/mcp", // MCP 服务器的工作目录 "disabled": false, "alwaysAllow": [ "run_analyzer", // 允许客户端调用的工具 "start_watcher", "stop_watcher" ] } } }
- 'server name': 'code-analyzer-mcp' (服务器名称,客户端配置中引用此名称)
- 'command': 'node' (启动 MCP 服务器的命令,这里使用 Node.js 运行)
- 'args': '["c:/code/amcp/mcp/dist/index.js"]' (命令参数,指向编译后的 MCP 服务器入口文件 'index.js' 的路径,请根据实际安装路径修改)
- 'cwd': 'c:/code/amcp/mcp' (MCP 服务器的工作目录,设置为 MCP 服务器代码所在的目录)
- 'disabled': 'false' (是否禁用此服务器,'false' 表示启用)
- 'alwaysAllow': '["run_analyzer", "start_watcher", "stop_watcher"]' (配置允许客户端始终调用的工具,'run_analyzer' 用于触发代码分析)
基本使用方法
-
启动 Neo4j 数据库: 确保 Neo4j 数据库实例正在运行,并已安装必要的 Neo4j MCP Tools (https://github.com/neo4j-contrib/mcp-neo4j)。
-
配置 MCP 客户端: 将上述 'code-analyzer-mcp' 服务器配置添加到 MCP 客户端的配置文件中。
-
调用 'run_analyzer' 工具: 在 LLM 客户端中,调用 'code-analyzer-mcp' 服务器的 'run_analyzer' 工具,并提供要分析的代码库目录的绝对路径作为参数。例如,使用如下请求调用 'run_analyzer' 工具分析 '/path/to/your/codebase' 目录:
{ "jsonrpc": "2.0", "method": "run_tool", "params": { "server_name": "code-analyzer-mcp", "tool_name": "run_analyzer", "tool_args": { "directory": "/path/to/your/codebase" // 要分析的代码库目录的绝对路径 } }, "id": "1" }
工具执行成功后,代码分析结果将存储在 Neo4j 数据库中,并可以通过 Neo4j Cypher 查询或集成到 LLM 应用中进行代码理解和知识图谱应用。
信息
分类
开发者工具