虚幻引擎模型上下文协议

通过自然语言控制虚幻引擎的AI助手集成工具,支持角色管理、蓝图开发和编辑器控制。

  • by chongdashu
  • C++
  • 本地部署
  • 2107 星标
  • 更新于
在 GitHub 查看 chongdashu/unreal-mcp

使用说明

虚幻引擎的模型上下文协议

虚幻的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 -插件定义
  • python -Python服务器和工具

    • 工具/ -用于执行器、编辑器和蓝图操作的工具模块
    • 脚本/ -示例脚本和演示
  • 文件/ -全面的文件

🚀 快速入门指南

先决条件

  • 虚幻引擎5.5+
  • Python 3.12+
  • MCP客户端(例如,克劳德桌面、光标、Windsurf)

项目

为了快速入门,请随时使用starter项目 MCPGameProject这是一个UE 5.5空白入门项目 UnrealMCP.uplugin 已配置。

  1. 准备项目
    • 右键单击您的.uproject文件
    • 生成Visual Studio项目文件
  2. 构建项目(包括插件)
    • 开放式解决方案(.sln)
    • 选择 Development Editor 作为你的目标。
    • 构建

插件

否则,如果你想在现有项目中使用该插件:

  1. 将插件复制到您的项目中

    • 复制 MCPGameProject/Plugins/UnrealMCP 到项目的插件文件夹
  2. 启用插件

    • 编辑>插件
    • 在编辑器类别中查找“UnrealMCP”
    • 启用插件
    • 出现提示时重新启动编辑器
  3. 构建插件

    • 右键单击您的.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上联系我: @崇祯树