使用说明
虚幻引擎MCP服务器
一个全面的模型上下文协议(MCP)服务器,使AI助手能够通过本机C++Automation Bridge插件控制虚幻引擎。使用TypeScript和C++构建。
目录
特性
| 类别 | 功能 |
|---|---|
| 资产管理 | 浏览、导入、复制、重命名、删除资产;创建材质 |
| 演员控制 | 生成、删除、转换、物理、标签、组件 |
| 编辑器控件 | PIE会话、相机、视口、屏幕截图、书签 |
| 级别管理 | 加载/保存级别、流媒体、世界分区、数据层 |
| 动画与物理 | 动画BP、状态机、布娃娃、车辆、约束 |
| 视觉效果 | Niagara粒子、GPU模拟、程序效果、调试形状 |
| 定序器 | 电影、时间线控制、相机动画、关键帧 |
| 图形编辑 | 蓝图、尼亚加拉、材质和行为树图形操作 |
| 音频 | 声音提示、音频组件、混音、环境声音 |
| 系统 | 控制台命令、UBT、测试、日志、项目设置、CVars |
建筑
- 原生C++自动化 --所有操作都通过MCP自动化桥插件路由
- 动态类型发现 --灯光、调试形状和定序器轨迹的运行时自检
- 故障弱化 --即使没有活动的虚幻连接,服务器也会启动
- 按需连接 --以指数级回退恢复自动化握手
- 指挥安全 --通过基于模式的验证阻止危险的控制台命令
- 资产缓存 --10秒TTL,提高性能
- 指标速率限制 --Prometheus端点上的每IP速率限制(60个请求/分钟)
- 集中式配置 --统一的类别名和类型定义
入门指南
先决条件
- Node.js 18+
- 虚幻引擎 5.0–5.7
步骤1:安装MCP服务器
选项A:NPX(推荐)
npx unreal-engine-mcp-server
选项B:克隆和构建
git clone https://github.com/ChiR24/Unreal_mcp.git
cd Unreal_mcp
npm install
npm run build
node dist/cli.js
步骤2:安装虚幻插件
MCP自动化桥插件包含在 Unreal_mcp/plugins/McpAutomationBridge.
方法1:复制文件夹
Copy: Unreal_mcp/plugins/McpAutomationBridge/
To: YourUnrealProject/Plugins/McpAutomationBridge/
复制后重新生成项目文件。
方法2:插件编辑器
- 打开虚幻编辑器→ Edit → 插件
- 点击 “添加” → 浏览至
Unreal_mcp/plugins/ - 选择
McpAutomationBridge文件夹
视频指南:
https://github.com/user-attachments/assets/d8b86ebc-4364-48c9-9781-de854bf3ef7d
⚠️ 项目首次开放: 直接打开项目时(双击
.uproject)UE将首次提示 “你现在想重建它们吗?” 对于缺失的模块。点击 是 重建。重建完成后,您仍然可以看到: 插件“McpAutomationBridge”加载失败,因为无法加载模块 这是意料之中的——UE成功重建,但不会在同一会话中重新加载插件。 只需关闭并重新打开项目 插件将正确加载。或者,首先通过Visual Studio进行构建以避免这种情况。
步骤3:启用所需的插件
通过启用 Edit → 插件,然后重新启动编辑器。
Core Plugins (Required)
| 插件 | 必需 |
|---|---|
| MCP自动化桥 | 所有自动化操作 |
| 编辑器脚本工具 | 资产/参与者子系统操作 |
| 尼亚加拉 | 视觉效果和粒子系统 |
Optional Plugins (Auto-enabled)
| 插件 | 必需 |
|---|---|
| 级别序列编辑器 | manage_sequence 操作 |
| 控制装置 | animation_physics 操作 |
| 几何脚本 | manage_geometry 操作 |
| 行为树编辑器 | manage_behavior_tree 操作 |
| Niagara编辑 | 尼亚加拉创作 |
| 环境查询编辑器 | AI/EQS操作 |
| 游戏能力 | manage_gas 操作 |
| MetaSound | manage_audio MetaSound创作 |
| 状态树 | manage_ai 状态树操作 |
| 智能对象 | AI智能对象操作 |
| 增强输入 | manage_input 操作 |
| 混沌布 | 布料模拟 |
| 互换 | 资产导入/导出 |
| 数据验证 | 数据验证 |
| 程序网格组件 | 程序几何 |
| 在线子系统 | 会话/网络操作 |
| 在线子系统Utils | 会话/网络操作 |
💡 必要时,MCP Automation Bridge插件会自动启用可选插件。
步骤4:配置MCP客户端
添加到您的Claude Desktop/Cursor配置文件中:
使用克隆/构建:
{
"mcpServers": {
"unreal-engine": {
"command": "node",
"args": ["path/to/Unreal_mcp/dist/cli.js"],
"env": {
"UE_PROJECT_PATH": "C:/Path/To/YourProject",
"MCP_AUTOMATION_PORT": "8091"
}
}
}
}
使用NPX:
{
"mcpServers": {
"unreal-engine": {
"command": "npx",
"args": ["unreal-engine-mcp-server"],
"env": {
"UE_PROJECT_PATH": "C:/Path/To/YourProject"
}
}
}
}
配置
环境变量
# Required
UE_PROJECT_PATH="C:/Path/To/YourProject"
# Automation Bridge
MCP_AUTOMATION_HOST=127.0.0.1
MCP_AUTOMATION_PORT=8091
# LAN Access (optional)
# SECURITY: Set to true to allow binding to non-loopback addresses (e.g., 0.0.0.0)
# Only enable if you understand the security implications.
MCP_AUTOMATION_ALLOW_NON_LOOPBACK=false
# Logging
LOG_LEVEL=info # debug | info | warn | error
# Optional
MCP_AUTOMATION_REQUEST_TIMEOUT_MS=120000
ASSET_LIST_TTL_MS=10000
局域网接入配置
默认情况下,为了安全起见,自动化网桥只绑定到环回地址(127.0.0.1)。要启用网络上其他计算机的访问,请执行以下操作:
TypeScript(MCP服务器):
MCP_AUTOMATION_ALLOW_NON_LOOPBACK=true
MCP_AUTOMATION_HOST=0.0.0.0
虚幻引擎插件:
- 首选 Edit → 项目设置→ 插件→ MCP自动化桥
- 在...之下 安全,启用 “允许非环回”
- 在...之下 连接,set “倾听主持人” 到
0.0.0.0 - 重新启动编辑器
⚠️ 安全警告: 启用LAN访问会将自动化网桥暴露给您的本地网络。仅在具有适当防火墙规则的受信任网络上使用。
可用工具
36个MCP工具 通过基于动作的调度实现全面的虚幻引擎自动化。
Core Tools
| 工具 | 说明 |
|---|---|
manage_asset |
资源、材质、渲染目标、行为树 |
control_actor |
生成、删除、转换、物理、标签 |
control_editor |
PIE、相机、视口、屏幕截图 |
manage_level |
加载/保存、世界分区、流媒体 |
system_control |
UBT、测试、日志、项目设置、CVars |
inspect |
对象内省 |
manage_pipeline |
构建自动化、UBT编译、状态检查 |
manage_tools |
动态工具管理(在运行时启用/禁用) |
World Building
| 工具 | 说明 |
|---|---|
manage_lighting |
生成灯光、GI、阴影、构建灯光、list_light_types |
manage_level_structure |
级别创建、子级别、世界分区、数据层、HLOD |
manage_volumes |
触发音量、阻塞、物理、音频、导航音量 |
manage_navigation |
NavMesh设置、导航修改器、导航链接、智能链接、寻路 |
build_environment |
景观、树叶、程序 |
manage_splines |
样条线创建、样条线网格变形 |
Animation & Physics
| 工具 | 说明 |
|---|---|
animation_physics |
动画BP、车辆、布娃娃、控制装备、IK、混合空间 |
manage_skeleton |
骨架、插座、物理资产、布料装订 |
manage_geometry |
程序网格创建(几何体脚本) |
Visuals & Effects
| 工具 | 说明 |
|---|---|
manage_effect |
Niagara、粒子、调试形状、GPU模拟 |
manage_material_authoring |
材料创作、表达、景观层次 |
manage_texture |
纹理创建、修改、压缩设置 |
manage_blueprint |
创建、SCS、图形编辑、节点操作 |
manage_sequence |
序列器/电影,list_track_types |
manage_performance |
分析、优化、可扩展性 |
Audio & Input
| 工具 | 说明 |
|---|---|
manage_audio |
音频资源、组件、声音提示、元声音、衰减 |
manage_input |
增强的输入操作和上下文 |
Gameplay Systems
| 工具 | 说明 |
|---|---|
manage_behavior_tree |
行为树图编辑 |
manage_ai |
AI控制器、EQS、感知、状态树、智能对象 |
manage_gas |
游戏能力系统:能力、效果、属性 |
manage_character |
角色创建、动作、高级运动 |
manage_combat |
武器、投射物、伤害、近战 |
manage_inventory |
物品、装备、战利品桌、工艺品 |
manage_interaction |
可交互、可破坏、触发器 |
manage_widget_authoring |
UMG小部件创建、布局、样式、动画 |
Networking & Sessions
| 工具 | 说明 |
|---|---|
manage_networking |
复制、RPC、网络预测 |
manage_game_framework |
游戏模式、游戏状态、玩家控制器、比赛流程 |
manage_sessions |
会话、分屏、局域网、语音聊天 |
蓝图•材质•纹理•静态网格•骨架网格•关卡•声音•粒子•尼亚加拉系统•行为树
用于复杂查询的可选GraphQL端点。 默认情况下禁用。
GRAPHQL_ENABLED=true
GRAPHQL_PORT=4000
码头工人
docker build -t unreal-mcp .
docker run -it --rm -e UE_PROJECT_PATH=/project unreal-mcp
文档
| 文档 | 描述 |
|---|---|
| 处理程序映射 | TypeScript到C++的路由 |
| GraphQL API | 查询和变异参考 |
| 插件扩展 | C++插件架构 |
| 测试指导 | 如何运行和编写测试 |
| 路线图 | 开发阶段 |
发展
npm run build # Build TypeScript
npm run lint # Run ESLint
npm run test:unit # Run unit tests
npm run test:all # Run all tests
社区
| 资源 | 描述 |
|---|---|
| 项目路线图 | 跟踪47个阶段的开发进度 |
| 讨论 | 提问、分享想法、寻求帮助 |
| 问题 | 报告错误和请求功能 |
贡献
欢迎投稿!拜托:
- 包括bug的复制步骤
- 保持公关的专注和小规模
- 遵循现有代码样式
许可证
麻省理工学院——见 许可证
