Unreal Engine 代码分析 MCP 服务器

项目简介

Unreal Engine 代码分析 MCP 服务器 (Unreal Analyzer MCP Server) 是一款基于 Model Context Protocol (MCP) 协议构建的后端服务,旨在为 AI 助手(如 Claude 和 Cline)提供强大的 Unreal Engine 引擎和 C++ 代码库的分析能力。通过此服务器,AI 助手可以更深入地理解 Unreal Engine 项目的源代码,从而辅助开发者进行代码审查、学习和问题排查等工作。

主要功能点

  • 类分析 (Class Analysis): 获取 C++ 类的详细信息,包括方法、属性和继承关系。
  • 类层级分析 (Hierarchy Mapping): 可视化和理解类继承层级结构。
  • 代码搜索 (Code Search): 在代码库中进行上下文相关的代码搜索。
  • 引用查找 (Reference Finding): 定位类、函数或变量的所有引用位置。
  • 子系统分析 (Subsystem Analysis): 分析 Unreal Engine 的主要子系统,如渲染、物理等 (Unreal Engine 专用)。
  • 模式检测与最佳实践 (Pattern Detection & Best Practices): 识别 Unreal Engine 代码中的常见模式,并提供改进建议和学习资源。
  • API 文档查询 (API Documentation Query): 搜索和查询 Unreal Engine API 文档。
  • 自定义代码库支持 (Custom Codebase Support): 支持分析任何 C++ 项目代码库,不限于 Unreal Engine。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/ayeletstudioindia/unreal-analyzer-mcp
    cd unreal-analyzer-mcp
  2. 安装依赖:

    npm install
  3. 构建项目:

    npm run build

服务器配置

MCP 服务器需要配置到 MCP 客户端中才能使用。以下是配置 Unreal Analyzer MCP Server 到 Claude Desktop App 和 Cline 的配置示例。请根据你的 MCP 客户端类型选择相应的配置方法。

对于 Claude Desktop App:

打开 Claude Desktop App 的配置文件 'claude_desktop_config.json' (通常位于 '%APPDATA%\Claude' 目录下),在 'mcpServers' 字段中添加以下 JSON 配置:

{
  "mcpServers": {
    "unreal-analyzer": {  // 服务器名称,可以自定义
      "command": "node",  // 启动服务器的命令,这里使用 Node.js
      "args": ["path/to/unreal-analyzer/build/index.js"], // 启动命令的参数,指向构建后的服务器入口文件
      "env": {}         // 环境变量,通常为空
    }
  }
}

参数注释:

  • '"unreal-analyzer"': 服务器名称,在 Claude 中用于标识和选择该 MCP 服务器。您可以自定义此名称。
  • '"command": "node"': 指定用于启动服务器的命令。由于该服务器是 Node.js 应用,所以这里使用 'node' 命令。
  • '"args": ["path/to/unreal-analyzer/build/index.js"]': 'args' 数组包含启动命令的参数。这里需要将 '"path/to/unreal-analyzer/build/index.js"' 替换为 实际的 'index.js' 文件路径。这个路径是相对于 Claude 配置文件而言的绝对路径或相对路径。请务必修改为正确的路径。
  • '"env": {}': 'env' 字段用于设置环境变量,通常情况下保持为空即可。

对于 Cline:

打开 Cline 的 MCP 设置文件 'cline_mcp_settings.json' (通常位于 '%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings' 目录下),在 'mcpServers' 字段中添加与 Claude 类似的 JSON 配置:

{
  "mcpServers": {
    "unreal-analyzer": {  // 服务器名称,可以自定义
      "command": "node",  // 启动服务器的命令,这里使用 Node.js
      "args": ["path/to/unreal-analyzer/build/index.js"], // 启动命令的参数,指向构建后的服务器入口文件
      "env": {}         // 环境变量,通常为空
    }
  }
}

参数注释:

  • '"unreal-analyzer"': 服务器名称,在 Cline 中用于标识和选择该 MCP 服务器。您可以自定义此名称。
  • '"command": "node"': 指定用于启动服务器的命令。由于该服务器是 Node.js 应用,所以这里使用 'node' 命令。
  • '"args": ["path/to/unreal-analyzer/build/index.js"]': 'args' 数组包含启动命令的参数。这里需要将 '"path/to/unreal-analyzer/build/index.js"' 替换为 实际的 'index.js' 文件路径。这个路径是相对于 Cline 配置文件而言的绝对路径或相对路径。请务必修改为正确的路径。
  • '"env": {}': 'env' 字段用于设置环境变量,通常情况下保持为空即可。

基本使用方法

  1. 启动服务器: 在完成安装和配置后,MCP 服务器会在 MCP 客户端 (如 Claude 或 Cline) 尝试连接时自动启动。无需手动运行服务器。

  2. 在 MCP 客户端中使用工具:

    • 在 Claude 或 Cline 中,您可以通过自然语言指令或特定的命令格式来调用 Unreal Analyzer MCP Server 提供的工具。
    • 设置 Unreal Engine 路径或自定义代码库路径: 在使用任何分析工具之前,必须先设置要分析的代码库路径。可以使用 'set_unreal_path' 工具设置 Unreal Engine 源码路径,或使用 'set_custom_codebase' 工具设置自定义 C++ 代码库路径。例如,在 Claude 或 Cline 中输入以下 JSON 格式的消息:
    {
      "name": "set_unreal_path",
      "arguments": {
        "path": "/path/to/UnrealEngine/Source"  // 替换为您的 Unreal Engine 源码路径
      }
    }

    {
      "name": "set_custom_codebase",
      "arguments": {
        "path": "/path/to/your/codebase"  // 替换为您的自定义代码库路径
      }
    }
    • 调用其他分析工具: 设置代码库路径后,即可使用其他工具进行代码分析。例如,分析 'AActor' 类:

      {
        "name": "analyze_class",
        "arguments": {
          "className": "AActor"
        }
      }
    • 更多工具的使用方法和参数,请参考仓库 README.md 文档的 "Available Tools" 章节。

注意:

  • 请确保您已正确安装 Node.js 环境,因为该服务器是基于 Node.js 构建的。
  • 请将配置文件中的路径替换为您的实际路径。
  • 首次使用或分析大型代码库时,服务器可能需要一些时间来初始化和缓存数据。

信息

分类

开发者工具