使用说明
虚幻引擎的模型上下文协议
虚幻的mcp
该项目使Cursor、Windsurf和Claude Desktop等AI助手客户端能够使用模型上下文协议(MCP)通过自然语言控制虚幻引擎。
⚠️ 实验状态
该项目目前处于 实验性 国家。API、功能和实现细节可能会发生重大更改。虽然我们鼓励测试和反馈,但请注意:
- 可能会发生重大变更,恕不另行通知
- 功能可能不完整或不稳定
- 文档可能已过时或缺失
- 目前不建议生产使用
🌟 概述
虚幻MCP集成提供了通过自然语言控制虚幻引擎的全面工具:
| 类别 | 功能 |
|---|---|
| 演员管理 | •创建和删除演员(立方体、球体、灯光、相机等) •设置演员变换(位置、旋转、比例) •查询演员属性并按姓名查找演员 •列出当前级别的所有参与者 |
| 蓝图开发 | •使用自定义组件创建新的蓝图类 •添加和配置组件(网格、相机、灯光等) •设置组件属性和物理设置 •编译蓝图并生成蓝图参与者 •为玩家控件创建输入映射 |
| 蓝图节点图 | •添加事件节点(BeginPlay、Tick等) •创建函数调用节点并连接它们 •添加具有自定义类型和默认值的变量 •创建组件和自我引用 •查找和管理图中的节点 |
| 编辑器控件 | •将视口聚焦于特定演员或位置 •控制视口相机方向和距离 |
所有这些功能都可以通过人工智能助手的自然语言命令访问,从而轻松实现虚幻引擎工作流的自动化和控制。
🧩 组件
示例项目(MCPGameProject) MCPGameProject
- 基于空白项目,但添加了UnrealMCP插件。
插件(非读CP) MCPGameProject/Plugins/UnrealMCP
- 用于MCP通信的本地TCP服务器
- 与虚幻编辑器子系统集成
- 实现参与者操作工具
- 处理命令执行和响应处理
Python MCP服务器 Python/unreal_mcp_server.py
- 实施于
unreal_mcp_server.py - 管理到C++插件的TCP套接字连接(端口55557)
- 处理命令序列化和响应解析
- 提供错误处理和连接管理
- 从加载和注册工具模块
tools目录 - 使用FastMCP库实现模型上下文协议
📂 目录结构
-
MCPGameProject/ -虚幻项目示例
- 插件/不可读CP/ -C++插件源代码
- 来源/未读MCP/ -插件源代码
- 不现实的MCP.uplugin -插件定义
- 插件/不可读CP/ -C++插件源代码
-
python -Python服务器和工具
- 工具/ -用于执行器、编辑器和蓝图操作的工具模块
- 脚本/ -示例脚本和演示
-
文件/ -全面的文件
- 看 文档/README.md 用于文档索引
🚀 快速入门指南
先决条件
- 虚幻引擎5.5+
- Python 3.12+
- MCP客户端(例如,克劳德桌面、光标、Windsurf)
项目
为了快速入门,请随时使用starter项目 MCPGameProject这是一个UE 5.5空白入门项目 UnrealMCP.uplugin 已配置。
- 准备项目
- 右键单击您的.uproject文件
- 生成Visual Studio项目文件
- 构建项目(包括插件)
- 开放式解决方案(
.sln) - 选择
Development Editor作为你的目标。 - 构建
- 开放式解决方案(
插件
否则,如果你想在现有项目中使用该插件:
-
将插件复制到您的项目中
- 复制
MCPGameProject/Plugins/UnrealMCP到项目的插件文件夹
- 复制
-
启用插件
- 编辑>插件
- 在编辑器类别中查找“UnrealMCP”
- 启用插件
- 出现提示时重新启动编辑器
-
构建插件
- 右键单击您的.uproject文件
- 生成Visual Studio项目文件
- 开放式解决方案(`.sln)
- 使用您的目标平台和输出设置进行构建
Python服务器设置
看 Python/README.md 详细的Python设置说明,包括:
- 设置Python环境
- 运行MCP服务器
- 使用直接或基于服务器的连接
配置MCP客户端
基于mcp客户端,使用以下JSON进行mcp配置。
{
"mcpServers": {
"unrealMCP": {
"command": "uv",
"args": [
"--directory",
"<path/to/the/folder/PYTHON>",
"run",
"unreal_mcp_server.py"
]
}
}
}
一个例子可以在 mcp.json
MCP配置位置
根据您使用的MCP客户端,配置文件的位置会有所不同:
| MCP客户端 | 配置文件位置 | 注释 |
|---|---|---|
| 克劳德桌面 | ~/.config/claude-desktop/mcp.json |
在Windows上: %USERPROFILE%\.config\claude-desktop\mcp.json |
| 光标 | .cursor/mcp.json |
位于项目根目录中 |
| 风帆冲浪 | ~/.config/windsurf/mcp.json |
在Windows上: %USERPROFILE%\.config\windsurf\mcp.json |
每个客户端都使用与上例所示相同的JSON格式。 只需将配置放置在MCP客户端的适当位置即可。
许可证
麻省理工学院
问题
如有疑问,您可以在X/Twitter上联系我: @崇祯树