使用说明

项目简介

CodeGraph MCP服务器是 CodeGraph 代码分析工具的 MCP 接口实现,它允许LLM客户端通过标准化的 Model Context Protocol (MCP) 协议,调用 CodeGraph 的代码分析功能,将 TypeScript 和 JavaScript 代码库转换为 Neo4j 图数据库,并进行自然语言查询和代码理解。

主要功能点

  • 代码库分析工具: 提供 'run_analyzer' 工具,LLM客户端可以调用此工具分析指定的代码目录。
  • Neo4j 图数据库集成: 分析结果存储在 Neo4j 图数据库中,支持基于图数据库的代码结构查询和分析。
  • MCP 协议标准接口: 通过标准的 MCP 协议与 LLM 客户端通信,提供统一的上下文信息和功能访问方式。
  • Stdio 传输协议: 使用 Stdio 作为默认的 MCP 服务器传输协议,易于集成和部署。

安装步骤

  1. 环境准备: 确保已安装 Node.js 和 npm,并安装了 Neo4j 数据库 (推荐使用 Neo4j Desktop v5.26.4)。同时,建议安装 Neo4j 插件 APOC Core 和 Graph Data Science (GDS) Library。

  2. 选择安装方式:

    • 简易安装 (推荐): 下载预打包的 zip 文件 'CodeGraph_Setup.zip' 并解压到指定目录(例如 'C:\code\amcp')。
    • 手动安装: 从 GitHub 克隆仓库 'git clone https://github.com/ChrisRoyse/CodeGraph.git amcp',进入 'amcp' 目录后执行 'npm install' 和 'npm run build' 编译代码。
  3. 配置 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' 用于触发代码分析)

基本使用方法

  1. 启动 Neo4j 数据库: 确保 Neo4j 数据库实例正在运行,并已安装必要的 Neo4j MCP Tools (https://github.com/neo4j-contrib/mcp-neo4j)。

  2. 配置 MCP 客户端: 将上述 'code-analyzer-mcp' 服务器配置添加到 MCP 客户端的配置文件中。

  3. 调用 '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 应用中进行代码理解和知识图谱应用。

信息

分类

开发者工具