虚幻引擎MCP服务器

一个全面的模型上下文协议(MCP)服务器,通过原生C++自动化桥接插件使AI助手能够控制虚幻引擎。

  • by Flux-Point-Studios
  • C++
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 Flux-Point-Studios/unreal-mcp

使用说明

虚幻引擎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:插件编辑器

  1. 打开虚幻编辑器→ Edit → 插件
  2. 点击 “添加” → 浏览至 Unreal_mcp/plugins/
  3. 选择 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

虚幻引擎插件:

  1. 首选 Edit → 项目设置→ 插件→ MCP自动化桥
  2. 在...之下 安全,启用 “允许非环回”
  3. 在...之下 连接,set “倾听主持人” 到 0.0.0.0
  4. 重新启动编辑器

⚠️ 安全警告: 启用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 会话、分屏、局域网、语音聊天
### Supported Asset Types

蓝图•材质•纹理•静态网格•骨架网格•关卡•声音•粒子•尼亚加拉系统•行为树


用于复杂查询的可选GraphQL端点。 默认情况下禁用。

GRAPHQL_ENABLED=true
GRAPHQL_PORT=4000

看 GraphQL API文档.


码头工人

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的复制步骤
  • 保持公关的专注和小规模
  • 遵循现有代码样式

许可证

麻省理工学院——见 许可证