返回市场
虚无MCP

虚无MCP

作者:AlexKissiJr6 星标更新:2025-03-21

项目介绍

UnrealMCP 插件

正在开发中

我正在添加更多工具并清理代码库, 计划允许在主插件之外轻松扩展工具。

这还在开发中,我需要清理很多东西!!!

另外,我只使用 Windows,所以我不清楚如何在 Mac/Unix 上设置它。

概述

UnrealMCP 是一个非官方的 Unreal Engine 插件,旨在通过 AI 工具控制 Unreal Engine。它在 Unreal Engine 中实现了机器控制协议(MCP),允许外部 AI 系统以编程方式与 Unreal 环境进行交互和操作。

几天前我才了解到 MCP,所以我对它还不太熟悉,还在学习阶段,因此一开始可能会有些粗糙。 我是根据 https://github.com/ahujasid/blender-mcp 进行实现的,该参考依赖于 Claude for Desktop。现在它可以与 Claude for Desktop 和 Cursor 一起工作。如果您尝试了其他模型,请告诉我!

⚠️ 免责声明

此插件允许 AI 代理直接修改您的 Unreal Engine 项目。虽然它可以是一个强大的工具,但也存在风险:

  • AI 代理可能会对您的项目做出意外更改
  • 文件可能会被意外删除或修改
  • 项目设置可能会被更改
  • 资产可能会被覆盖

重要安全措施:

  1. 始终使用源代码控制系统(如 Git 或 Perforce)与您的项目一起使用
  2. 定期备份您的项目
  3. 首先在一个单独的项目中测试插件
  4. 在提交更改之前进行审查

通过使用此插件,您承认:

  • 您对项目所做的任何更改负全责
  • 插件作者不对由 AI 代理引起的任何损害、数据丢失或问题负责
  • 您自行承担使用此插件的风险

功能

  • 实现用于远程控制 Unreal Engine 的 TCP 服务器
  • 使用基于 JSON 的命令协议集成 AI 工具
  • 编辑器 UI 集成,便于访问 MCP 功能
  • 全面的场景操作能力
  • 用于客户端交互的 Python 伴随脚本

开发路线图

这是截至 2025 年 3 月 14 日我考虑的开发内容 我还不确定什么可能实现,在理论上可以是任何东西,但取决于集成的 LLM 利用这些工具的能力。

  • 基本操作已实现
  • Python 已实现
  • 材质
  • 用户扩展(正在进行中)
  • 资产工具
  • 蓝图
  • Niagara VFX
  • Metasound
  • 地形(我可能会推迟这个功能,因为 Epic 提到他们将更新地形工具)
  • 建模工具
  • PCG

要求

  • Unreal Engine 5.5(仅在此版本上进行了测试,可能适用于早期版本,但没有正式支持)
  • 配置为 Unreal Engine 的 C++ 开发环境
  • 客户端脚本使用的 Python 3.7+
  • 运行命令的模型,在测试中我使用的是 Claude for Desktop https://claude.ai/download

运行前提条件

  • Unreal Editor 安装(已测试 5.3 版,但应该可以在 5.0+ 版本上运行)
  • Python 3.7+(这可以与现有的 Python 安装一起运行)
  • 与 MCP 兼容的 LLM(Claude for Desktop、Cursor 等)
  • 设置:按照 MCP/README_MCP_SETUP.md 中的说明,在 MCP 文件夹中运行 setup_unreal_mcp.bat

Cursor 用户快速入门

如果您想使用 UnrealMCP 与 Cursor 一起使用,请遵循以下简单步骤:

  1. 克隆或下载此存储库作为 zip 文件
  2. 创建一个新的 Unreal 项目,或打开一个现有项目
  3. 如果不存在,请在项目目录中创建一个“Plugins”文件夹
  4. 将此存储库解压或复制到 Plugins 文件夹中
  5. 在 MCP 文件夹中运行 setup_cursor_mcp.bat
  6. 打开您的 Unreal 项目,并在编辑 > 插件中启用插件(如果尚未启用)
  7. 启动 Cursor 并要求它与您的 Unreal 项目一起工作

就这样!设置脚本会自动配置所有需要的内容以进行 Cursor 集成。

安装

  1. 克隆或下载此存储库作为 zip 文件
  2. 创建一个新的 Unreal 项目,或打开一个现有项目
  3. 如果不存在,请在项目目录中创建一个“Plugins”文件夹
  4. 将此存储库解压或复制到 Plugins 文件夹中
  5. 设置 MCP
    • 在 MCP 文件夹中运行 setup_unreal_mcp.bat 脚本(详见 MCP/README_M_ SETUP.md
    • 这将配置 Python 和您的 AI 助手(Claude for Desktop 或 Cursor)
  6. 打开您的 Unreal 项目,插件应在插件菜单中可用
  7. 如果未启用,请在编辑 > 插件中启用插件
  8. 选择您偏好的 AI 助手:
    • 对于 Claude for Desktop:请参阅下方“使用 Claude for Desktop”部分中的说明
    • 对于 Cursor:请参阅下方“使用 Cursor”部分中的说明

使用 Claude for Desktop

您需要找到 Claude for Desktop 的安装目录。找到 claude_desktop_config.json 并添加一个条目,使其看起来像这样:

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
    "mcpServers": {
        "unreal": {
            "command": "C:/path/to/your/project/Plugins/UnrealMCP/MCP/run_unreal_mcp.bat",
            "args": []
        }
    }
}

或者,unreal_mcp_setup.bat 脚本应该为您完成此操作。

要找到 Claude for Desktop 的安装路径,您可以进入设置并点击“编辑配置” 这通常位于

C:\Users\USERNAME\AppData\Roaming\Claude

使用 Cursor

如果已经使用 Cursor 选项运行了设置脚本,Cursor 应该已经被自动配置。如果需要手动配置:

Windows: %APPDATA%\Cursor\User\settings.json

添加或更新设置如下:

{
    "mcp": {
        "enabled": true,
        "servers": {
            "unreal": {
                "command": "C:/path/to/your/project/Plugins/UnrealMCP/MCP/run_unreal_mcp.bat",
                "args": []
            }
        }
    }
}

测试

一旦一切就绪,您需要启动 Unreal 编辑器。 注意:无需启动或设置其他内容即可运行 mcp 桥接,它将在需要时运行。

打开 Claude for Desktop 或 Cursor,确保工具已成功启用,请求您的 AI 助手在 Unreal 中工作。

这里有一些示例提示供您尝试:

  • “当前级别中有哪些角色?”
  • “在位置 (0, 0, 100) 处创建一个立方体”
  • “列出我可以与 Unreal Engine 一起使用的可用命令”

使用方法

在 Unreal 编辑器中

一旦启用了插件,您会在编辑器工具栏按钮中找到 MCP 控制。 image

image

可以从这里启动/停止 TCP 服务器。 检查日志过滤器 LogMCP 下的输出日志以获取更多信息。

一旦从编辑器确认服务器已启动并运行。 打开 Claude for Desktop,确保工具已成功启用,请求 Claude 在 Unreal 中工作。

目前仅支持基本操作,如创建对象、修改它们的变换、获取场景信息以及运行 Python 脚本。 Claude 在处理 Unreal Python 方面会犯很多错误,我认为这方面的例子不多,但让它运行,它通常能解决问题。 我非常希望改进这一点,但它是在 Unreal 中增加功能的低挂果实。

客户端集成

使用 MCP 目录中提供的 Python 脚本连接并控制您的 Unreal Engine 实例:

from unreal_mcp_client import UnrealMCPClient

# 连接到 Unreal MCP 服务器
client = UnrealMCPClient("localhost", 13377)

# 示例:在场景中创建一个立方体
client.create_object(
    class_name="StaticMeshActor",
    asset_path="/Engine/BasicShapes/Cube.Cube",
    location=(0, 0, 100),
    rotation=(0, 0, 0),
    scale=(1, 1, 1),
    name="MCP_Cube"
)

命令参考

插件支持各种用于场景操作的命令:

  • get_scene_info: 获取关于当前场景的信息
  • create_object: 在场景中生成一个新对象
  • delete_object: 从场景中移除一个对象
  • modify_object: 更改现有对象的属性
  • execute_python: 在 Unreal 的 Python 环境中运行 Python 命令
  • 以及其他更多命令...

请参阅 Docs 目录中的文档以获取完整的命令参考。

安全注意事项

  • 默认情况下,MCP 服务器接受来自任何客户端的连接
  • 开发时限制服务器暴露至本地主机
  • 验证所有传入命令以防止注入攻击

故障排除

  • 确保 Unreal Engine 与 MCP 插件一起运行。
  • 检查 Claude for Desktop 中的日志以获取 stderr 输出。
  • 如需帮助,请加入我们的 Discord,虽然刚建立,但我将定期查看 Discord (Dreamatron Studios): https://discord.gg/abRftdSe

项目结构

  • Source/UnrealMCP/: 核心插件实现
    • Private/: 内部实现文件
    • Public/: 公共头文件
  • Content/: 插件资产
  • MCP/: Python 客户端脚本和示例
  • Resources/: 图标和其他资源

许可证

MIT 许可证

版权所有 (c) 2025 kvick

在此授权任何人免费获得此软件及其相关文档文件(以下简称“软件”)的副本, 在不受限制的情况下使用软件,包括但不限于以下权利: 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许向其提供软件的人这样做,但须遵守以下条件:

上述版权声明和本许可通知应包含在软件的所有副本或实质部分中。

软件按“原样”提供,不附带任何形式的保证,无论是明示的还是默示的,包括但不限于对适销性、特定用途适用性和非侵权性的保证。 在任何情况下,作者或版权持有人都不对因软件或其使用或其他交易而产生的任何索赔、损害或其他责任承担责任,无论是在合同行为、侵权行为或其他行为中产生。

致谢

感谢测试人员!!!

贡献

欢迎贡献,但我需要一些时间来理解事情并首先进行清理,哈哈。