内容
# Unity MCP 服务器 🎮🤖
**使用 AI 控制 Unity。**
本项目实现了一个模型上下文协议(MCP)服务器,作为 AI 代理(如 Claude Desktop、Cursor 或自定义 LLM 客户端)与 Unity 引擎之间的桥梁。
它允许 AI **查看**、**创建**、**修改** 和 **控制** Unity 场景中的所有内容实时。
## 🌟 功能
* **上帝模式控制**:创建基本形状,实例化预制体,设置父对象,旋转,缩放和移动对象。
* **编辑器和运行模式**:两者都支持!在游戏运行时或编辑关卡设计时修改场景。
* **完全反射**:动态检查组件,读取字段和修改值(int,float,bool,string,Vector3)。
* **逻辑执行**:调用任何组件上的公共方法。
* **标签管理**:动态创建和分配标签。
* **清理工具**:删除对象以重置场景。
## 🛠️ 安装
### 1. Unity 设置(/Assets)
1. 将 `Assets/Scripts/MCP` 文件夹复制到您的 Unity 项目中。
2. 将 `MCPBridge` 脚本添加到场景中的任何 GameObject 上(或创建一个名为“MCPBridge”的空对象)。
3. 服务器在 `http://localhost:8080` 上运行。
### 2. 运行服务器
**选项 A:简单方式(Unity 编辑器)**
1. 在 Unity 中,点击顶部菜单中的 **工具 > Unity MCP 服务器**。
2. 点击绿色 **启动服务器** 按钮。
3. 将打开一个终端窗口,显示服务器日志。
**选项 B:手动方式(终端)**
1. 导航到 `mcp-server` 文件夹。
2. 运行 `npm install`(仅第一次)。
3. 运行 `npm start`。
### 3. 客户端配置
将服务器添加到您的 MCP 客户端配置中(例如 `claude_desktop_config.json`)。
**重要**:您需要指向构建文件。
```json
{
"mcpServers": {
"unity": {
"command": "node",
"args": ["E:/GAME UNITY/MCP SERVER/mcp-server/dist/index.js"]
}
}
}
```
*(注意:用实际的绝对路径替换项目路径)*
## 📚 可用工具
| 工具 | 描述 |
| :--- | :--- |
| `create_primitive` | 生成基本形状(立方体,球体等) |
| `instantiate_prefab` | 从资源生成复杂资产 |
| `set_object_transform` | 移动对象(位置) |
| `set_object_rotation` | 旋转对象(欧拉角) |
| `set_object_scale` | 调整对象大小 |
| `set_parent` | 组织层次结构 |
| `inspect_component` | 读取脚本的公共变量 |
| `edit_component` | 修改变量值(速度,生命值等) |
| `invoke_method` | 调用函数(Jump(),Attack(),Reset()) |
| `add_tag` / `set_object_tag` | 管理标签 |
| `delete_object` | 从场景中删除对象 |
## 📝 示例提示
* *"创建一个红色立方体并将其放置在(0,5,0)。"*
* *"构建一个由10个球体堆叠而成的塔。"*
* *"检查'Hero'对象上的PlayerController并将速度设置为20。"*
* *"使'主摄像机'注视'Hero'。"*
## ⚠️ 要求
* Unity 2020.3 或更高版本(在 6000.0.26f1 上测试)。
* Node.js 16+。