关于 unreal-mcp-ue4-for-ohd
unreal-mcp-ue4-for-ohd 是面向 Operation Harsh Doorstop OHDCore Mod Kit 的 UE4.25.4 MCP 服务,供使用 Unreal Editor 制作模组的开发者操作项目。它通过编辑器内置的 Python Remote Execution 提供工具,并适配内嵌 Python 2.7。
主要功能
- 01读取项目、地图与资源信息
- 02创建、检查和变换关卡 Actor
- 03搜索资源并查看引用与元数据
- 04创建和编辑常见 UE4 资源
- 05通过 Python 2.7 执行编辑器脚本
适用场景
- 01检查当前项目和关卡内容
- 02在关卡中创建或调整 Actor
- 03查找资源并检查引用
- 04创建或修改 Blueprint 与数据资源
MCP 相关
该服务通过 stdio 向 MCP 客户端提供 34 个工具,并连接 Unreal Editor 的 Python Remote Execution。客户端可读取或修改打开的编辑器会话。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
34收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
unreal-mcp-ue4-for-OHD
面向 Operation Harsh Doorstop 模组制作的 UE4.25.4 优先 MCP 服务,通过 Unreal Python Remote Execution 使用 stdio 传输
Fork 自 runreal/unreal-mcp,经过大幅重构,以 UE4 为优先(通过 UE4.27.2 阶段),并在此重新适配 UE4.25.4,以用于 OHDCore Mod Kit:传输方式和工具接口保持不变,同时根据该工具包内嵌的 Python 2.7.14 调整了版本固定、文档链接和 Python 方言限制。移植、工具、文档和冒烟测试工作均在 OpenAI Codex 的协助下完成。
说明
仍在积极开发中——可能存在错误、尚不完善之处以及 UE4.25 特有限制。 已发布的软件包:
unreal-mcp-ue4-for-ohd· 注册表名称:io.github.RibatTRW/unreal-mcp-ue4-for-ohd
注意
这不是 Epic Games 的官方项目。任何已连接的 MCP 客户端都可以检查和修改当前打开的编辑器会话——请先使用可丢弃的测试项目,尤其是在使用资产或世界生成工具时。
目录
- 要求 · 设置 · 从 unreal-mcp-ue4 迁移 · 编辑器远程执行 · 用法 · 侧边栏选项卡 · 内部实现 · 测试 · 发布 · 可用工具 · 贡献 · 故障排除 · 备注和限制 · 路线图 · 许可证
要求
| 需求 | 固定版本 |
|---|---|
| Unreal Engine | 通过 OHDCore Mod Kit 使用 4.25.4:引擎目录 HDEngine/,项目 HDGame/HarshDoorstop/HarshDoorstop.uproject,使用 LaunchEditor.bat 启动 |
| 运行时 | Node.js 20+、npm |
| 客户端 | 任意 MCP 客户端(Codex、Claude Code、Claude Desktop、Cursor、受支持 IDE 中的 Copilot) |
| 编辑器载荷 | 仅支持 Python 2.7(工具包内嵌 2.7.14):不支持 f-string、单参数 print() 和 pathlib 时代的惯用写法 |
参考:Unreal Engine Python API 4.25。无需自定义 C++ 插件——服务使用编辑器内置的 Python Remote Execution。不会重新引入仅适用于 UE5 的脚本功能;不可靠的图表/绑定工作流已从 MCP 接口中排除,或会返回明确提示,而不会静默失败。
graph TD
A[MCP client] --> B[unreal-mcp-ue4-for-ohd stdio server]
B --> C[manage_* namespaces + direct tools]
C --> D[Python 2.7 payloads]
D --> E[Unreal Editor via Remote Execution]
设置
自主 Agent 进行无人值守设置:请按顺序参阅指南。
npm install -g unreal-mcp-ue4-for-ohd # recommended; then reference the `unreal-mcp-ue4-for-ohd` binary
npx unreal-mcp-ue4-for-ohd # one-off invocation
本地源代码检出:
git clone https://github.com/RibatTRW/unreal-mcp-ue4-for-OHD.git
cd unreal-mcp-ue4-for-OHD
npm install
npm run build # produces `dist/bin.js`, `dist/index.js`, `dist/editor/tools.js`
安装一次,然后为每个客户端添加一行(全局安装与本地检出两种方式)。所有客户端都通过 stdio 调用相同的 34 个工具(3 个会话信息工具 + 3 个直接 Actor CRUD 基元 + 28 个 manage_* 命名空间):
| 客户端 | 全局安装 | 本地检出 |
|---|---|---|
| Claude | claude mcp add --scope user unreal-mcp-ue4-for-ohd -- unreal-mcp-ue4-for-ohd | claude mcp add --scope user unreal-mcp-ue4-for-ohd -- node /absolute/path/to/unreal-mcp-ue4-for-OHD/dist/bin.js |
| Codex | codex mcp add unreal-ue4 -- unreal-mcp-ue4-for-ohd | codex mcp add unreal-ue4 -- node /absolute/path/to/unreal-mcp-ue4-for-OHD/dist/bin.js |
| Copilot | .vscode/mcp.json → { "servers": { "unreal-ue4": { "command": "unreal-mcp-ue4-for-ohd", "args": [] } } },然后从 MCP 配置 UI 启动服务,并确认工具选择器中有 unreal-ue4 | 在同一文件中将 "command" 设为 "node",将 "args" 设为 ["/absolute/path/to/unreal-mcp-ue4-for-OHD/dist/bin.js"] |
Copilot 文档:使用 MCP 服务扩展 GitHub Copilot Chat · 关于 GitHub Copilot 中的 Model Context Protocol
从 unreal-mcp-ue4 迁移
此分支已更名为独立项目,以便独立于上游发布。上游致谢:UE4 版本源自 conaman/unreal-mcp-ue4(该项目本身分叉自 runreal/unreal-mcp)。
警告
npm install -g unreal-mcp-ue4安装的是上游的 UE4.27 版本,而非此分支。若要使用面向 OHD/UE4.25.4 的适配版本,请改为安装更名后的包。
| 之前(上游名称) | 之后(此分支) |
|---|---|
npm install -g unreal-mcp-ue4 | npm install -g unreal-mcp-ue4-for-ohd |
npx unreal-mcp-ue4 | npx unreal-mcp-ue4-for-ohd |
unreal-mcp-ue4 --version | unreal-mcp-ue4-for-ohd --version |
注册表 io.github.conaman/unreal-mcp-ue4 | 注册表 io.github.RibatTRW/unreal-mcp-ue4-for-ohd |
在客户端中重新添加服务(unreal-ue4 等本地服务标签保持不变,只有命令会更改):
claude mcp add --scope user unreal-mcp-ue4-for-ohd -- unreal-mcp-ue4-for-ohd
codex mcp add unreal-ue4 -- unreal-mcp-ue4-for-ohd
Copilot .vscode/mcp.json:将 "command" 改为 "unreal-mcp-ue4-for-ohd",保留 unreal-ue4 服务键。
编辑器远程执行
已在工具包中进行实时验证。在 OHD 编辑器中(LaunchEditor.bat → HarshDoorstop.uproject):
Edit -> Plugins:启用Python Editor Script Plugin(随附但默认禁用)。Editor Scripting Utilities已启用,无需操作。只有在进行高级manage_sequence操作时才启用SequencerScripting(随附但默认禁用):Actor 绑定、轨道/关键帧编辑、镜头切换、播放范围、速度轨道分析。- 如果提示则重启 →
Edit -> Project Settings -> Plugins -> Python→ 启用Enable Remote Execution(端点239.0.0.1:6766,绑定0.0.0.0,将 Multicast TTL 从工具包默认值0调高至1)。如有需要,再次重启。 - 使用服务或运行测试期间,请保持项目打开;更改任何插件/Python 设置后都要重启编辑器。
- 无需安装 UMG 插件(工具使用随附的编辑器模块)。请在临时的纯内容 Mod 中进行 Mod 实验(在编辑器中选择 Create Mod);切勿编辑随附的
Plugins/*、HDAssets或引擎内容。
连接环境变量覆盖项(UNREAL_MCP_*):
| 变量 | 默认值 |
|---|---|
UNREAL_MCP_BIND_ADDRESS / UNREAL_MCP_COMMAND_ADDRESS | 首个非内部 IPv4 地址 |
UNREAL_MCP_COMMAND_PORT | 6776 |
UNREAL_MCP_MULTICAST_ADDRESS / UNREAL_MCP_MULTICAST_PORT / UNREAL_MCP_MULTICAST_TTL | 239.0.0.1 / 6766 / 1 |
UNREAL_MCP_RETRY_COUNT / UNREAL_MCP_RETRY_DELAY_MS | 内置重试策略 |
用法
- 优先使用
manage_*命名空间工具(通过 MCP 暴露特定操作的输入架构)。命名空间通过action+params分发。规范读取方式:manage_editor.project_info(项目)、manage_editor.map_info+manage_level.world_outliner(地图/关卡)。使用manage_tools(list_namespaces)探索可用接口。 - 直接工具(
get_unreal_*、editor_create/update/delete_object)是底层基元,用于发现会话路径和执行 Actor 的 CRUD 操作。 manage_editor.run_python是调试、原型开发和弥补 UE4.25 API 缺口的备用方案——仍兼容 Python 2.7。
首次运行:打开套件项目并等待加载 → 确认插件和远程执行已启用 → npm install -g unreal-mcp-ue4-for-ohd(或 npm run build)→ 打开/启动客户端会话 → 运行只读操作:
unreal-mcp-ue4-for-ohd --version(打印版本,不使用 stdio 传输)manage_editor+action: "project_info"/"map_info"·manage_level+"world_outliner"·manage_tools+"list_namespaces"- 用自然语言描述:
从 unreal-ue4 服务获取项目信息。·列出当前关卡中的 Actor。·在 0,0,100 处生成一个名为 TestCube 的 StaticMeshActor。
服务可以执行的操作:读取项目/地图/资源/Actor 信息;生成、检查、移动和删除关卡 Actor;搜索资源并检查引用/元数据;创建 DataAsset/StringTable 等常见 UE4 数据资源;在 UE4.25 Python 提供相应 API 的情况下,创建/编辑 Blueprint 资源和 Widget Blueprint 树。
侧边栏标签页
一次调用即可端到端设置 EUW(Editor Utility Widget)侧边栏标签页——创建一个 EUW 资源,并在其中放置一个 WebBrowser 子控件,用于在视口旁显示网页:
manage_widget + action: "setup_sidebar_tab",参数 widget_blueprint_path(例如 /Game/DSHSidebar)、url(任意网页 URL;通常使用 DSH Web GUI)、use_template: true(目标不存在时,从黄金模板复制——其中包含完整填充的 DSHBrowser 和经过验证的 On Key Down 快捷键修复——而非从头构建;重复运行具有幂等性,会复用现有目标,同时刷新 URL/布局)。
注意事项:非 DSH 页面没有驱动编辑器的循环(在其中输入内容不会影响视口);受 4.25 CEF 限制(完整应用显示为空白时,最简页面仍可渲染);首次使用模板时会报告 template_staged(4.25 Asset Registry 在重启前无法识别暂存的 /Game 文件——请重启后重新运行);使用模板时会忽略自定义 browser_widget_name,并发出警告,DSH 资源/浏览器名称会保持不变;如果打开的标签页看起来内容过时,请在设计器中编译 Widget Blueprint,然后将其停靠在视口旁。
内部实现
TypeScript 7 原生工具链(tsc -p tsconfig.json,已验证可用于 ES2022、Node 20),stdio 传输,分发/连接层已迁移至 Effect(Zod 仍保留在 MCP SDK 调用点——SDK 只接受 Zod)。近期性能改进:
| 项目 | 说明 |
|---|---|
| Prelude 缓存 | 静态 Python prelude 在渲染层后方缓存在编辑器会话中;可缓存的渲染约占完整字节数的 1–5%,未命中时会重新发送一次(scripts/check-prelude-cache.mjs) |
| 架构压缩 | 压缩了七个最庞大的工具架构,以减少 listTools 负载;通过 scripts/__snapshots__/list-tools.snapshot.json 固定接口(scripts/check-tool-surface.mjs) |
| 验证器片段 | 各命名空间共用 limit/资源路径验证器 |
| 批处理设计 | harness 层级的链式调用备忘录见 docs/w1-batch-design-memo.md,离线原型测试通过(scripts/check-batch-prototype.mjs);尚未运行在线门禁 |
| 连接健康提示 | 短时有效的健康连接提示可跳过多余的重新连接 |
测试
| 命令 | 需要编辑器? | 涵盖内容 |
|---|---|---|
npm run check:py27 | 否 | Python 2.7 语法门禁——修改 server/editor/scripts 后运行 |
npm run test:no-unreal | 否 | 离线测试:MCP 启动、工具发现、命名空间操作架构、参数验证、负载编解码、批处理原型、前置代码缓存、工具表面、分发信封、架构一致性、连接会话 |
npm run test:e2e | 是 | 构建、启动独立的 MCP 服务进程并连接到已打开的编辑器:启动、发现、项目/地图/大纲读取、源代码管理读取、通过直接工具创建/更新/删除 Actor、通过命名空间生成/搜索/变换/检查/删除 Actor、命名空间分发 |
npm run test:e2e -- --with-assets | 是 | 以上内容 + 创建 Blueprint/编辑组件/分配网格/编译、创建 DataAsset + 元数据、StringTable、导入纹理 + 元数据、创建 Widget + TextBlock/Button + CanvasPanel/子 Widget 工作流;临时资源位于 /Game/MCP/Tests 下,除非指定 --keep-assets,否则会被删除 |
node scripts/probe-once.mjs --file <py> [--code <snip>] [--timeout-ms 20000] [--verbose] | 是 | 通过已构建的服务执行一次性原始 Python 2.7 探测,绕过编辑器控制台 |
运行器选项:--keep-assets(在内容浏览器中检查结果)、--skip-namespace(跳过命名空间分发部分)、--verbose(MCP 服务标准错误输出)、--help(查看选项,不重新构建)。Windows PowerShell:
cd C:\dev\unreal-mcp-ue4-for-OHD
npm install
npm run test:no-unreal
npm run test:e2e
npm run test:e2e -- --with-assets
成功 = 每个步骤都显示 [PASS];Actor 测试会直观地创建并移除临时 Actor(两种接口);资源测试会创建并移除临时 Blueprint/DataAsset/StringTable/Texture/Widget 资源。工作流:test:no-unreal → test:e2e → test:e2e -- --with-assets → 尝试实际客户端 → 在生产内容中使用前先使用测试项目。
发布
版本格式为 YYYY.M.D-N,所有位置统一(当前为 2026.9.9-1)——更新版本号,然后:
npm run publish:check # typecheck + rebuild + tarball dry-run
npm run test:e2e -- --with-assets --skip-build # when an OHD (UE4.25) editor is available
npm publish --tag latest # explicit dist-tag required (semver prerelease suffix)
prepack 会运行 npm run build,因此 tarball 始终使用最新的 dist。
可用工具
在有重要要求或 UE4.25 限制时,备注会特别说明。备注为空表示除常规编辑器设置外没有其他注意事项。
推荐的公共接口是 manage_* 命名空间层。优先使用 manage_editor.project_info、manage_editor.map_info 和 manage_level.world_outliner 作为规范的读取入口,并将少量直接工具视为用于路径发现和 Actor 增删改查的底层原语。
编辑器会话信息
| 工具 | 描述 | 备注 |
|---|---|---|
get_unreal_engine_path | 获取已连接编辑器会话中的 Unreal Engine 根路径 | |
get_unreal_project_path | 获取已连接编辑器会话中的 Unreal 项目文件路径 | |
get_unreal_version | 获取已连接编辑器会话中的 Unreal Engine 版本字符串 |
| 工具 | 描述 | 备注 |
|---|---|---|
editor_create_object | 在世界中创建新的对象/Actor | |
editor_update_object | 更新世界中现有的对象/Actor | |
editor_delete_object | 从世界中删除对象/Actor |
核心工具命名空间
| 工具 | 描述 | 备注 |
|---|---|---|
manage_asset | 资源工具命名空间,提供列出、搜索、检查、导出、验证、复制、重命名、移动、删除、保存和文件夹管理操作。 | |
manage_actor | Actor 工具命名空间,提供列出、搜索、生成、删除、变换和检查关卡 Actor 的操作。 | |
manage_editor | 编辑器工具命名空间,提供 run_python、console_command、project_info、map_info、world_outliner、is_pie_running、start_pie、stop_pie、screenshot 和 move_camera 操作。 | project_info、map_info、world_outliner、start_pie、stop_pie、is_pie_running、console_command 和 run_python 的规范命名空间。 |
manage_level | 关卡工具命名空间,提供地图检查、Actor 列表、世界大纲检查和预设结构创建操作。 | |
manage_system | 系统工具命名空间,提供控制台命令和资源验证操作。 | 用于控制台和验证辅助功能的精简命名空间;规范的项目和地图检查请使用 manage_editor。 |
manage_inspection | 检查工具命名空间,提供资源、Actor、地图和 Blueprint 基本摘要操作。 | 用于资源、Actor 和地图检查;在原版 UE4.25 Python 中,Blueprint 检查仅限于高层级资源摘要。 |
manage_tools | 工具命名空间注册表,用于列出已注册的工具命名空间并描述支持的操作。将其用作以命名空间为先的 MCP 接口的发现入口。 | |
manage_source_control | 源代码管理工具命名空间,提供提供程序检查以及文件或包的源代码管理操作。 | provider_info 通常都可用,但文件和包操作需要配置并启用 Unreal 源代码管理提供程序;如果未启用任何提供程序,则会返回 success:false 和 unavailable:'source_control_no_provider'。 |
| 工具 | 描述 | 说明 |
|---|---|---|
manage_lighting | 光照工具命名空间,用于生成常见光源 Actor、对其进行变换,以及检查关卡光照状态。 | |
manage_level_structure | 关卡结构工具命名空间,用于预设的城镇、房屋、宅邸、塔楼、墙壁、桥梁和堡垒建造操作。 | |
manage_volumes | 体积工具命名空间,用于生成常见引擎体积并应用删除或变换操作。 | |
manage_navigation | 导航工具命名空间,用于生成导航体积和导航代理,以及基本的贴图检查操作。 | |
manage_environment | 环境构建工具命名空间,用于预设的城镇、拱门、楼梯、金字塔和迷宫生成操作。 | |
manage_splines | 样条线工具命名空间,用于生成样条线宿主 Actor 或 Blueprint,然后对其进行变换或删除。 | |
manage_geometry | 几何体工具命名空间,用于墙壁、拱门、楼梯和金字塔预设建造操作。 | |
manage_effect | 效果工具命名空间,用于生成调试形状 Actor、为其指定材质、着色以及删除。 |
| 工具 | 描述 | 备注 |
|---|---|---|
manage_skeleton | Skeleton 工具命名空间,用于搜索 Skeleton 和 SkeletalMesh 资产并检查其元数据。 | |
manage_material | 材质工具命名空间,用于列出材质、将材质应用于 Actor 或 Blueprint,以及使用材质实例为其着色。 | |
manage_texture | 纹理工具命名空间,用于搜索纹理资产、将图像文件作为纹理导入,以及读取其资产元数据。 | import_texture 需要本地图像文件路径,且该路径必须可由运行 Unreal Editor 会话的计算机访问。 |
manage_data | 数据工具命名空间,用于搜索数据资产、创建常见数据容器并检查其资产元数据。 | |
manage_blueprint | Blueprint 工具命名空间,用于创建 Blueprint、编辑组件、编译,以及执行基本的 Blueprint 摘要操作。 | Blueprint 资产和组件编辑可用;读取操作仅返回高层级的图表摘要,而引脚连线、变量编写以及变量/函数详情辅助工具不属于原版 UE4.25 Python 的 MCP 接口范围。 |
manage_sequence | 序列工具命名空间,用于创建、搜索、检查和编辑 LevelSequence 资产,包括绑定、轨道、片段、关键帧、镜头切换、播放范围和速度轨道时间计算。 | 高级绑定、轨道、片段、关键帧、镜头切换、播放范围和速度轨道分析操作需要目标项目启用 UE4.25 SequencerScripting 插件。 |
manage_audio | 音频工具命名空间,用于导入音频文件、搜索音频资产并检查其资产元数据。 | |
manage_widget | Widget 工具命名空间,用于创建 UMG Blueprint、检查和编辑 Widget 树、规范化 CanvasPanel 根节点,以及在视口中生成 Widget。使用 inspect_tree 验证设计器内容,使用 add_child_widget 处理嵌套布局;需要绝对 CanvasPanel 定位时,使用 ensure_canvas_root。 | create_widget_blueprint、inspect_tree、add_text_block、add_button 和 ensure_canvas_root 均可用;常规嵌套布局请使用 add_child_widget;如果根节点是其他面板,请在进行 CanvasPanel 定位或调整尺寸前使用 ensure_canvas_root。setup_sidebar_tab 可端到端创建 WebBrowser 侧边栏标签页(EUW 资产、浏览器子项、URL、打开标签页);use_template 会复制标准模板(已包含浏览器和 On Key Down 快捷键修复),而不是从头构建。侧边栏 url 可接受任何页面 URL(通常使用 DSH Web GUI);DSH 资产/浏览器名称保持不变,非 DSH 页面不会触发编辑器循环,并且受 4.25 CEF 限制。add_to_viewport 需要 PIE;start_pie_if_needed 可请求启动 PIE,但可能需要重试。 |
| 工具 | 描述 | 备注 |
|---|---|---|
manage_animation_physics | 用于物理 Blueprint 生成、Blueprint 物理设置和 Blueprint 编译操作的动画与物理工具命名空间。 | |
manage_input | 用于创建经典 UE4 输入映射的输入工具命名空间。 | 专注于经典 UE4 输入映射编写;如需获取权威项目摘要,请使用 manage_editor.project_info。 |
manage_behavior_tree | 用于创建、搜索和检查 BehaviorTree 资源的行为树工具命名空间。 | 专注于 BehaviorTree 资源发现和检查;如需获取权威项目摘要,请使用 manage_editor.project_info。 |
manage_gas | 用于搜索游戏能力相关资源并检查其资源元数据的 GAS 工具命名空间。 |
排除的功能领域
在此 UE4.25 移植版本中,这些功能领域不会通过 MCP 接口公开,因为它们在当前 Python 环境中无法可靠运行;在原生桥接存在之前,它们只会增加提示词或上下文开销。
| 功能领域 | 对 MCP 接口的影响 | 排除原因 |
|---|---|---|
| Blueprint 事件图事件插入 | 相关事件节点和输入操作辅助工具不会通过 MCP 接口公开。 | 当前 UE4.25 Python 环境无法可靠地提供事件图访问或 K2 事件引用设置。 |
| Blueprint 图检查和节点搜索 | 图分析、图检查和节点搜索辅助工具不会通过 MCP 接口公开。 | 当前 UE4.25 Python 环境无法可靠地提供 UbergraphPages 或 FunctionGraphs 等 Blueprint 图数组,因而无法进行确定性检查。 |
| 低级 Blueprint 图节点创建 | 通用图节点辅助工具以及相关的自身或组件引用插入辅助工具不会通过 MCP 接口公开。 | 当前 UE4.25 Python 环境无法稳定地创建低级图节点或连接成员引用。 |
| Blueprint 函数调用节点编写 | 依赖编辑器图成员引用设置的函数节点辅助工具不会通过 MCP 接口公开。 | 当前 UE4.25 Python 环境无法可靠地设置函数调用节点引用。 |
| Blueprint 变量和函数元数据检查 | 变量详情和函数详情辅助工具不会通过 MCP 接口公开。 | 当前 UE4.25 Python 环境无法可靠地提供 NewVariables 或 FunctionGraphs,因而无法进行确定性检查。 |
| Blueprint 变量编写 | 变量创建辅助工具不会通过 MCP 接口公开。 | 当前 UE4.25 Python 环境中未公开 BPVariableDescription 和 EdGraphPinType。 |
| UMG 委托绑定编写 | Widget 事件绑定和文本绑定辅助工具不会通过 MCP 接口公开。 | 当前 UE4.25 Python 环境中未公开 DelegateEditorBinding。 |
贡献
main 受 protect-main 规则集保护(仅限 PR——禁止直接推送、强制推送或删除;必须解决所有审查讨论串)。从 main 分支,向其提交 PR,并在推送前运行 npm run typecheck + npm run check:py27(条件允许时还要运行 npm run test:no-unreal)。确保负载兼容 Python 2.7;上方的表格会在构建期间重新生成,因此提交文档更改前请运行 npm run build。
故障排除
Remote node is not available:先完整打开编辑器;确认已启用Python Editor Script Plugin、Editor Scripting Utilities和Enable Remote Execution;更改其中任何一项后都要重启。- Windows 上的连接/发现问题:允许
UnrealEditor.exe和node.exe通过 Windows Defender 防火墙。发现使用 UDP 多播239.0.0.1:6766,命令通道使用6776。如果编辑器无法发现/连接,请使用UNREAL_MCP_BIND_ADDRESS或UNREAL_MCP_COMMAND_ADDRESS覆盖绑定地址。在 JSON 配置中,需转义反斜杠或使用正斜杠。 - 客户端找不到
unreal-mcp-ue4-for-ohd或node:将 npm 全局二进制目录添加到客户端的PATH中(或使用绝对路径unreal-mcp-ue4-for-ohd);对于源码检出,请使用绝对路径node/node.exe,不要依赖PATH。 - 蓝图图表/UMG 绑定命令不可用:这是预期情况——可以创建 Widget 并编辑树结构,但不支持委托绑定和运行时视口工作流;可以处理蓝图资源/组件/编译及摘要,但不支持图表检查、引脚连线以及变量/函数元数据(原生 UE4.25 Python 不提供这些功能)。完整列表见上文的
Excluded Capability Areas。
说明与限制
- 世界/结构工具使用适配 UE4.25 的预设构建器处理引擎基础形状资源。
- UMG 编辑支持以原生
PanelWidget为父级的情况;绝对定位针对CanvasPanel插槽——如果根节点不是 Canvas,请先运行manage_widget.ensure_canvas_root。不支持重新指定根 Widget 的父级和命名插槽编辑;委托绑定仍不可用。 - 支持蓝图资源/组件编辑;不支持图表检查、引脚连线以及变量/函数元数据检查。
- 该工具集同时提供细粒度工具和基于操作的命名空间,让客户端可以选择不同的抽象层级。
路线图
- 改进代码架构(Effect 迁移阶段 0-7 已完成)
- 添加 Dsh Harness 支持(
manage_widget.setup_sidebar_tab+ 黄金模板) - 添加 agent.md,方便 Agent 安装(已发布为
docs/agent-setup.md) - 添加 GitHub Actions CI(
.github/workflows/ci.yml在 main 上通过;Tests 徽章已上线;protect-main规则集仅允许 PR,并要求通过状态检查) - 发布首个 fork 版本(已有标签,例如
2026.5.12-12;已作为unreal-mcp-ue4-for-ohd发布到 npm) - 确定注册表标识:已重命名为 fork 自有的
io.github.RibatTRW/unreal-mcp-ue4-for-ohd(见上文的Migrating from unreal-mcp-ue4)
许可证
根据 MIT 许可证 授权。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。