Token导航 LogoToken导航

MCP Server · 运维云端

Unreal MCP (Sallah Boussettah)

UnrealMCP是一个为虚幻引擎5.6+设计的综合MCP服务器,通过AI控制整个虚幻编辑器,支持87种工具和45种蓝图节点类型。

stdio官方级别未说明来源级核验工具 87
C++PythonClaudeCursorWindsurf

快速开始

作者 / 组织
SallahBoussettah
提供方
SallahBoussettah
运行时
Python

工具数量

87

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Unreal MCP (Sallah Boussettah) 属于运维云端类 MCP Server,公开资料标注 87 个工具,通过stdio 本地进程接入,适配 Claude、Cursor、Windsurf,有可以直接复制的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python -m venv .venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 87 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

UnrealMCP

虚幻引擎最全面的MCP服务器。 87工具, 45种蓝图节点类型, 16个类别 --通过AI控制整个虚幻编辑器。

一个混合的Python+C++系统,允许AI助手(Claude、Cursor、Windsurf)创建蓝图、操纵节点图、管理参与者、编辑材料、构建UI小部件、设置动画状态机、调试带有断点的蓝图、填充数据表、配置增强输入——所有这些都可以通过自然语言通过 模型上下文协议.

专为虚幻引擎5.6+打造。

为什么是不现实的CP?

UnrealMCPEpic的内置MCP其他解决方案
工具87基本编辑器操作~20-30
蓝图节点类型45有限基本
类别16少量3-4
C++命令处理程序82不适用不适用
蓝图调试是否否
动画蓝图是否否
小部件蓝图是否否
DataTable编辑是否否
增强输入设置是否否
生产状态生产等级基本实验

建筑

AI Client ──stdio──> Python MCP Server ──TCP:55555──> C++ UE5 Editor Plugin
                     (87 tools)                       (82 command handlers)
                     mcp-server/                      plugin/UnrealMCP/
  • Python MCP服务器 --通过stdio实现MCP协议。将工具调用转换为TCP命令。
  • C++UE5插件 --在虚幻编辑器中运行。监听TCP端口55555,使用本机UE5 C++API在游戏线程上执行命令。
  • 协议 --4字节大端序长度前缀+JSON有效载荷。基于UUID的请求/响应匹配。支持高达10MB的有效载荷(用于截图)。

在端口55557上与Epic的内置MCP一起运行,两者独立运行,没有冲突。

快速设置

1.安装Python MCP服务器

cd mcp-server
python -m venv .venv
.venv/Scripts/activate   # Windows
pip install -e .

2.安装UE5插件

复制 plugin/UnrealMCP/ 进入UE5项目 Plugins/ 文件夹并编译。通过检查输出日志进行验证:

UnrealMCP: Listening on port 55555

3.配置您的AI客户端

添加到您的 .claude.json (或使用 claude mcp add):

{
  "mcpServers": {
    "UnrealMCP": {
      "command": "
/mcp-server/.venv/Scripts/python.exe",
      "args": ["-m", "unreal_mcp.server"],
      "cwd": "
/mcp-server"
    }
  }
}

你能用它做什么?

  • 人工智能辅助游戏原型 --用自然语言描述游戏机制,让人工智能创建具有正确节点和连接的蓝图
  • 自动化蓝图构建 --以编程方式构建复杂的节点图(健康系统、库存、人工智能行为)并自动布局它们
  • 关卡设计 --创建/加载/保存地图,管理流媒体子级别,生成角色,设置变换,分配材质
  • 运行时测试 --在编辑器会话中启动播放、暂停/恢复游戏、读取日志、在运行时使用断点调试蓝图
  • UI原型设计 --使用17种小部件类型创建小部件蓝图,设置属性,构建完整的UMG层次结构
  • 动画设置 --创建动画蓝图、状态机、过渡、混合空间和蒙太奇
  • 数据驱动设计 --为物品、统计数据、对话、战利品创建和填充数据表;从CSV导入
  • 输入配置 --创建InputActions和InputMappingContexts,使用修饰符和触发器配置WASD/游戏手柄绑定
  • 批量操作 --生成数十个参与者,添加许多节点,或在单个工具调用中连接整个图形

工具参考

蓝图工具(11)

工具说明关键参数
create_blueprint创建新的Blueprint类或接口name, parent_class (演员、爪子、角色、GameModeBase、玩家控制器、演员组件、场景组件), path, blueprint_type (正常,接口)
list_blueprints列出目录中的所有Blueprint资产path, recursive
get_blueprint_info获取完整的蓝图结构asset_path --返回变量、函数、组件、事件图、父类
compile_blueprint使用详细的错误诊断进行编译asset_path --返回状态、错误计数、警告计数、每个节点的错误详细信息
delete_blueprint删除蓝图资产asset_path
add_blueprint_variable添加类型化成员变量asset_path, variable_name, variable_type (布尔、整数、浮点、双精度、字符串、向量、旋转器、变换、对象:类名等), default_value, category, is_instance_editable
remove_blueprint_variable删除成员变量asset_path, variable_name
add_blueprint_component向层次结构中添加组件asset_path, component_class, component_name, parent_component, location, rotation, scale
set_blueprint_component_defaults在BP组件模板上设置默认属性asset_path, component_name, property_name, property_value
remove_blueprint_component从SCS层次结构中删除组件asset_path, component_name, promote_children
implement_interface向蓝图添加蓝图接口asset_path, interface_path

节点图工具(9)

工具说明关键参数
add_node将节点添加到蓝图图中asset_path, node_type (45种——见下文), function_name, target_class, node_position, params
get_graph_nodes获取所有具有引脚和连接的节点asset_path, graph_name --返回节点ID、类、位置、引脚详细信息、连接图
connect_pins将输出引脚连接到输入引脚asset_path, source_node_id, source_pin_name, target_node_id, target_pin_name
disconnect_pins断开引脚上的所有连接asset_path, node_id, pin_name
delete_node从图中删除节点asset_path, node_id
set_pin_value设置引脚的默认值asset_path, node_id, pin_name, value
create_function创建新的函数图asset_path, function_name, inputs, outputs
delete_function从蓝图中删除函数asset_path, function_name
arrange_graph使用分层图算法自动布局所有节点asset_path, graph_name, horizontal_spacing, vertical_spacing

45 Supported Node Types (click to expand)

类别节点类型描述必填参数
函数CallFunction呼叫任何UFUNCTIONfunction_name, target_class
CommutativeAssociativeBinaryOperator可扩展数学(加法、乘法…)function_name, target_class
事件Event内置事件参数: event_name
CustomEvent自定义事件参数: event_name
EnhancedInputAction增强输入事件参数: input_action_path
Self自我参照--
变量VariableGet获取变量params: variable_name
VariableSet设置变量params: variable_name
流量控制BranchIf/else--
Sequence执行顺序参数: num_outputs
MultiGate多个执行输出--
Select按索引选择--
DoOnceMultiInput多输入DoOnce--
MacroInstance标准宏(ForLoop、DoOnce、WhileLoop、ForEachLoop、Gate、FlipFlop、DoN、IsValid)参数: macro_name
ForEachElementInEnum循环枚举值参数: enum_name
开关SwitchInteger打开int--
SwitchString打开字符串--
SwitchName打开FName--
SwitchEnum打开枚举参数: enum_name
铸造DynamicCast转换为params: target_class
ClassDynamicCast类转换参数: target_class
结构体MakeStruct制作结构params: struct_type
BreakStruct断开结构参数: struct_type
SetFieldsInStruct设置结构字段params: struct_type
容器MakeArray使数组变为文字num_inputs
MakeMap使地图文字化--
MakeSet设置文字--
GetArrayItem数组索引访问--
产卵SpawnActorFromClass生成演员节点--
GenericCreateObject构造对象--
AddComponentByClass添加组件--
CreateWidget创建小部件参数: widget_class
代表CreateDelegate创建委托绑定--
AddDelegate绑定到调度器params: delegate_name
RemoveDelegate解除与调度程序参数的绑定: delegate_name
CallDelegate消防调度员参数: delegate_name
ClearDelegate清除所有绑定参数: delegate_name
文本FormatText设置带通配符的文本格式--
EnumLiteral枚举值文字params: enum_name
杂项Timeline时间线参数: timeline_name
Knot重新路由节点--
LoadAsset异步加载资产--
EaseFunction缓动/插值--
GetClassDefaults获取类默认值--
GetDataTableRow数据表查找--

示例:

PrintString     → node_type="CallFunction", function_name="PrintString", target_class="KismetSystemLibrary"
Delay           → node_type="CallFunction", function_name="Delay", target_class="KismetSystemLibrary"
Branch          → node_type="Branch"
For Loop        → node_type="MacroInstance", params={"macro_name": "ForLoop"}
Cast To Actor   → node_type="DynamicCast", params={"target_class": "Character"}
Make Vector     → node_type="MakeStruct", params={"struct_type": "Vector"}
Spawn Actor     → node_type="SpawnActorFromClass"
Timeline        → node_type="Timeline", params={"timeline_name": "DoorTimeline"}
Input Action    → node_type="EnhancedInputAction", params={"input_action_path": "/Game/Input/IA_Jump"}

演员工具(6)

工具说明关键参数
spawn_actor生成一个actor或Blueprint实例actor_class, name, location, rotation, scale, blueprint_path
delete_actor从级别中删除演员actor_name
set_actor_transform设置位置、旋转和/或比例actor_name, location, rotation, scale
get_actors_in_level列出所有演员(世界大纲视图)class_filter, name_filter, tag_filter
find_actors按名称模式搜索演员query
duplicate_actor用偏移量复制演员actor_name, new_name, location_offset

属性工具(5)

工具说明关键参数
get_object_properties读取所有属性(相当于详细信息面板)object_path, category_filter, include_inherited
set_object_property设置带有编辑器通知的属性object_path, property_name (支持点符号: RelativeLocation.X), property_value
get_component_hierarchy获取组件树actor_name
get_class_defaults获取类默认对象属性class_name
set_component_property在特定组件上设置属性actor_name, component_name, property_name, property_value

材料工具(4)

工具说明关键参数
create_material创建具有初始值的材质name, path, base_color, roughness, metallic
assign_material将材质应用于网格组件actor_name, material_path, slot, component_name
modify_material更新材料属性asset_path, base_color, roughness, metallic, scalar_params, vector_params
get_material_info获取物料参数和元数据asset_path

水平工具(7)

工具说明关键参数
get_level_info获取世界名称、持久级别和流媒体子级别--
create_level创建新的空白地图或从模板创建save_path, template_path
save_level保存当前地图或保存所有脏包asset_path, save_all
load_level打开现有地图map_path
add_streaming_level添加流媒体子级别package_name, streaming_class, location, rotation, create_new
remove_streaming_level删除流媒体子级别package_name
set_level_visibility显示/隐藏子级别package_name, visible, make_current

资产工具(5)

工具说明关键参数
import_asset导入FBX、OBJ、PNG、WAV等格式。file_path, destination_path, asset_name
search_assets按类型和名称搜索内容浏览器path, type, name_pattern, recursive
get_asset_info获取详细的资产元数据asset_path
delete_asset通过参照检查删除资产asset_path, force
rename_asset重命名或移动资产asset_path, new_path

视口工具(2)

工具说明关键参数
take_screenshot将编辑器窗口捕获为PNG格式width, height, filename
focus_viewport移动编辑器相机target, location, rotation, distance

控制台工具(3)

工具说明关键参数
get_console_logs阅读最近的日志消息count, verbosity_filter, category_filter
execute_console_command运行控制台命令command, target (编辑器或馅饼)
batch_execute在一次TCP往返中执行多个命令commands, stop_on_error

PIE工具(4)

工具说明关键参数
start_pie在编辑器中开始播放mode (视口、new_window、模拟)
stop_pie停止PIE会话--
get_pie_status获取PIE状态--
set_pie_paused暂停或继续paused

批处理工具(3)

工具说明关键参数
batch_add_nodes在一次调用中添加多个节点asset_path, nodes, stop_on_error
batch_pin_operations在一次调用中连接引脚并设置值asset_path, connections, pin_values
batch_spawn_actors在一次通话中培养多个演员actors, stop_on_error

小工具(5)

工具说明关键参数
create_widget_blueprint创建UMG小部件蓝图name, path, root_widget_type
add_widget添加一个小部件(17种类型:按钮、文本块、图像、进度条等)asset_path, widget_type, widget_name, parent_name, slot_properties
set_widget_property设置小部件属性asset_path, widget_name, property_name, property_value
get_widget_tree获取完整的小部件层次结构asset_path
remove_widget删除小部件asset_path, widget_name

动画工具(7)

工具说明关键参数
create_anim_blueprint创建动画蓝图name, skeleton_path, path
add_anim_state向AnimGraph状态机添加状态asset_path, state_name, animation_asset
add_anim_transition添加状态之间的转换asset_path, source_state, target_state, duration, blend_mode
set_anim_transition_rule设置转换条件asset_path, source_state, target_state, rule_type
add_blend_space创建BlendSpace资源name, skeleton_path, axis_x_name, axis_y_name, samples
add_anim_montage创建动画蒙太奇name, animation_path, slot_name
get_anim_graph获取状态机结构asset_path

调试工具(5)

工具说明关键参数
set_breakpoint在节点上设置/切换断点asset_path, node_id, graph_name, enabled
get_breakpoints列出蓝图中的所有断点asset_path
get_watch_values读取观察到的引脚值(暂停PIE)asset_path
step_executionStep蓝图调试器step_type (进入、结束、退出、简历)
get_call_stack暂停时获取执行跟踪--

DataTable工具(6)

工具说明关键参数
create_data_table使用行结构创建DataTableasset_name, package_path, row_struct
add_data_table_row添加一行字段值asset_path, row_name, values
modify_data_table_row更新一行中的特定字段asset_path, row_name, values
delete_data_table_row删除一行asset_path, row_name
get_data_table_rows获取所有具有字段值的行asset_path, row_name
import_data_table_csv从CSV字符串导入行asset_path, csv_data, append

增强型输入工具(5)

工具说明关键参数
create_input_action创建增强的输入操作资产asset_name, package_path, value_type (布尔值、轴1D、轴2D、轴3D)
create_input_mapping_context创建输入映射上下文asset_name, package_path
add_input_mapping将键映射到具有修饰符和触发器的InputActioncontext_path, action_path, key, modifiers, triggers
remove_input_mapping删除映射context_path, action_path, key
get_input_mapping_context从上下文中读取所有映射context_path

技术细节

使用UE5 C++API

  • 蓝图: FKismetEditorUtilities::CreateBlueprint(), FBlueprintEditorUtils::AddMemberVariable(), CompileBlueprint()
  • 节点图: UK2Node_CallFunction, UK2Node_Event, UK2Node_IfThenElse, UEdGraphSchema_K2::TryCreateConnection()
  • 属性: FProperty::ImportText_Direct() / ExportTextItem_Direct(), PreEditChange() / PostEditChangeProperty()
  • 材料: UMaterialFactoryNew::FactoryCreateNew(), UMaterial::GetEditorOnlyData(), UMaterialEditingLibrary
  • 等级: UEditorLoadingAndSavingUtils, UEditorLevelUtils, FEditorFileUtils
  • 资产: UAutomatedAssetImportData, ImportAssetsAutomated(), IAssetRegistry::GetAssets()
  • 馅饼: GEditor->RequestPlaySession(), RequestEndPlayMap(), SetPIEWorldsPaused()
  • 数据表: UDataTableFactory, FDataTableEditorUtils::AddRow(), CreateTableFromCSVString()
  • 增强输入: UInputAction, UInputMappingContext::MapKey(),修饰符和触发器
  • 截图:Win32 PrintWindow(), IImageWrapper PNG编码
  • 线程安全:所有命令通过以下方式在游戏线程上执行 AsyncTask(ENamedThreads::GameThread),通过以下方式撤消支持 FScopedTransaction

项目结构

UnrealMCP/
  mcp-server/                  # Python MCP server
    src/unreal_mcp/
      server.py                # Entry point, FastMCP setup
      connection.py            # TCP client (4-byte prefix protocol)
      tools/                   # Tool definitions by category
        blueprint.py           #  11 Blueprint tools
        node_graph.py          #   9 Node Graph tools
        actor.py               #   6 Actor tools
        property.py            #   5 Property tools
        material.py            #   4 Material tools
        viewport.py            #   2 Viewport tools
        console.py             #   3 Console tools
        level.py               #   7 Level tools
        asset.py               #   5 Asset tools
        pie.py                 #   4 PIE tools
        batch.py               #   3 Batch tools
        widget.py              #   5 Widget tools
        anim.py                #   7 Animation tools
        debug.py               #   5 Debug tools
        datatable.py           #   6 DataTable tools
        input.py               #   5 Input tools
  plugin/UnrealMCP/            # C++ UE5 editor plugin
    Source/UnrealMCP/
      Private/
        MCPTCPServer.cpp       # TCP listener, command dispatch
        Commands/              # 82 command handlers by category
      Public/
        Commands/              # Header files

需求

  • 虚幻引擎5.6+
  • Python 3.10+
  • MCP SDK 1.0+(pip install mcp)
  • Windows(主要;macOS/Linux未测试)
  • Visual Studio 2022(用于插件编译)
  • MCP兼容的AI客户端(克劳德代码、克劳德桌面、光标、Windsurf等)

贡献

欢迎捐款。看 进展.md 关于路线图和已知问题。

许可证

麻省理工学院

工具与能力

工具数量

87

资源数量

0

提示词数量

0

能力标签

C++本地部署虚幻引擎AI控制蓝图编辑游戏开发自动化工具

支持客户端

ClaudeCursorWindsurf

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 工具数量 87 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude、Cursor、Windsurf,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Unreal MCP (Sallah Boussettah)

MCP World · 本页

87stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Unreal MCP (Sallah Boussettah) 怎么安装?

公开资料给出的安装命令是 python -m venv .venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Unreal MCP (Sallah Boussettah) 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Unreal MCP (Sallah Boussettah) 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Unreal MCP (Sallah Boussettah) 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Unreal MCP (Sallah Boussettah) 支持哪些客户端?

公开资料标注支持 Claude、Cursor、Windsurf;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP