返回 MCP 目录
public公开dns本地运行

unreal-analyzer-mcp

Unreal Engine代码分析MCP服务器,为AI助手提供强大的Unreal Engine代码分析能力

article

README

🚀 UnrealCodeAnalyzer

UnrealCodeAnalyzer 是一款多功能工具链,可对 Unreal Engine 和自定义代码库进行全面分析。它提供了丰富强大的分析工具,如代码搜索、API 文档生成、子系统分析等,能有效提升代码分析和管理的效率。

🚀 快速开始

  1. 安装工具:克隆项目仓库并安装依赖。
git clone https://github.com/yourusername/unreal-code-analyzer.git
cd unreal-code-analyzer
npm install
  1. 初始化配置(可选):创建 config.json 文件以指定代码库路径和其他选项。
  2. 运行基本分析
node index.js --analyze-classes AActor,APawn

✨ 主要特性

  • 自动解析:支持从 Unreal Engine 到自定义 C++ 代码库的全栈分析。
  • 智能搜索:集成 Tree - sitter 解析器,提供精准的代码结构分析和搜索功能。
  • 文档生成:从源码注释中提取信息,自动生成详细的 API 文档。
  • 模式匹配:支持正则表达式搜索、语法高亮以及复杂的文件匹配规则。
  • 子系统分析:对 Unreal Engine 的核心子系统进行全面剖析。

📦 安装指南

  1. 克隆项目仓库:
git clone https://github.com/yourusername/unreal-code-analyzer.git
cd unreal-code-analyzer
  1. 安装依赖:
npm install
  1. 初始化配置(可选):创建 config.json 文件以指定代码库路径和其他选项。

💻 使用示例

基础用法

分析 Unreal Engine 或自定义代码库

const analyzer = new UnrealCodeAnalyzer({
  // 必填:设置 Unreal Engine 路径或自定义代码库路径
  codebasePath: '/path/to/unreal/engine',
  // 可选:启用详细日志记录
  verbose: true,
  // 可选:指定要分析的模块或组件(按逗号分隔)
  modules: ['Physics', 'Rendering']
});

自动生成 API 文档

const docGenerator = new DocumentationGenerator(analyzer);
docGenerator.generate('/path/to/output/docs');

语法分析器

const parser = new CodeParser();
parser.parseFile('/path/to/source/file.cpp');

类分析工具

const classAnalysis = analyzer.analyzeClass('AMyActor');
// 输出: {
//   name: 'AMyActor',
//   hierarchy: ['AActor', 'APawn'],
//   properties: [...],
//   functions: [...],
//   comments: [...] 
// }

代码搜索工具

const searchResults = analyzer.searchCode({
  query: 'UE4.*_STRUCT',
  options: {
    caseSensitive: true,
    regex: false
  }
});

物理子系统分析

const physicsSubsystem = analyzer.analyzeSubsystem('Physics');
// 输出: 包含物理系统的详细组件和功能模块的结构报告。

使用正则表达式搜索

const regexSearch = analyzer.searchWithRegex(/\bUE4_\w+_STRUCT\b/g);
// 输出匹配结果

单元测试

test('应正确分析 Actor 类', () => {
  const analyzer = new UnrealCodeAnalyzer({ codebasePath: '/' });
  const result = analyzer.analyzeClass('AActor');
  expect(result.hierarchy).toContain('AActor');
});

高级用法

文档生成 - 简单用法

node docs/generate.js --path /path/to/engine --output ./docs

文档生成 - 高级配置

package.json 中添加以下内容:

{
  "scripts": {
    "generate-docs": "doc-generator --config config.json"
  }
}

命令行工具 - 快速运行

node src/index.js --help

命令行工具 - 分析命令

node src/index.js --analyze AMyActor,AMyOtherActor

📚 详细文档

常见问题

  • Q: 如何指定自定义代码库?
  • A: 在 config.json 中添加 customCodebasePath 属性,或在初始化时通过选项传递。

错误处理

常见错误及解决方案

  1. 未指定代码库路径
    • 问题: 在初始化时未提供 codebasePath
    • 解决: 添加 codebasePath 到配置文件或直接传递给构造函数。
  2. 模块不存在
    • 问题: 尝试分析的类、子系统或模块不存在。
    • 解决: 确保提供的名称正确无误,或者参考文档中的可用选项。

性能考虑

优化建议

  1. 多线程支持:利用多核处理器加速代码解析和搜索操作。
  2. 内存管理:对于大型项目,确保有足够的内存以避免性能瓶颈。

贡献指南

如何贡献代码

  1. Fork 仓库
  2. 提交改进
  3. 创建 Pull Request

我们欢迎任何形式的贡献,包括功能增强、bug 修复和文档更新。

学习资源

推荐以下学习资料以深入理解 Unreal Engine 的内部机制:

  1. Unreal Engine 官方文档
  2. UE4 教程合集
  3. 游戏开发基础知识

最佳实践

  1. 配置日志记录:建议在生产环境中启用详细日志以方便调试。
  2. 模块化分析:针对大型项目,分模块进行代码分析可以提高效率。

🔧 技术细节

项目结构

unreal-code-analyzer/
├── src/                 # 源代码目录
│   ├── Analyzer.js     # 主分析器类
│   ├── CodeParser.js   # 语法解析器
│   └── DocumentationGenerator.js # 文档生成工具
├── docs/               # 文档和示例
├── test/              # 单元测试文件
└── package.json       # 项目依赖管理

📄 许可证

本项目遵循 MIT 协议。欢迎 fork 和贡献。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端