SimpleMcpServer
Enables AI agents (like Claude Code, Cursor) to directly operate Unity scenes via MCP protocol, with tools for scene hierarchy, object creation/deletion, and transform modification.
README
SimpleMcpServer
让 AI 代理(Claude Code、Cursor 等)通过 MCP 协议直接操作 Unity 场景。
架构
AI Agent (Claude Code / Cursor)
│ MCP (stdio)
▼
MCP Server (Node.js/TypeScript) ← 本仓库
│ WebSocket (JSON-RPC)
▼
Unity Bridge (C#) → SimpleMCPBridge/Assets/
│
▼
Unity Editor / Runtime
- MCP Server — 处理 MCP 协议,注册工具,转发请求到 Unity
- Unity Bridge — 在 Unity 内运行的 WebSocket 服务器,执行场景操作
前置条件
- Node.js 22+ — 内置 WebSocket 支持,无需
ws库 - Unity 2022.3+ — 项目已安装 SimpleMCPBridge 包
- npm — 随 Node.js 一起安装
验证 Node.js 已安装:
node --version # 应输出 v22.x.x 或更高
npm --version # 应输出 10.x.x 或更高
安装与设置
方式一:自动安装(推荐)
双击运行 setup.bat,它会自动检查环境并安装依赖。
方式二:手动安装
cd SimpleMcpServer
npm install
npm run build
使用
1. 启动 Unity Bridge
- 用 Unity 打开项目
- 菜单栏 → Tools → SimpleMCPBridge
- 点击 Start Bridge(默认端口 45678)
或在 Unity 启动时自动启动(已配置 Assets/SimpleMCPBridge/Editor/AutoStartBridge.cs)。
2. 启动 MCP Server
# 编译 + 启动(双击 start.bat)
start.bat
# 或跳过编译直接启动(代码未改时)
start-quick.bat
服务器连接到 Unity 后输出:
[MCP-Server] Connected to Unity!
[MCP-Server] Ready. Agent can now use Unity tools via MCP.
3. 配置 AI 代理
Claude Code
在项目根目录的 claude.json 或 CLAUDE.md 中添加:
{
"mcpServers": {
"unity": {
"command": "node",
"args": ["path/to/SimpleMcpServer/dist/index.js"]
}
}
}
Cursor
在 Settings → MCP 中添加:
名称: Unity
类型: command
命令: node path/to/SimpleMcpServer/dist/index.js
4. 验证连通性
# 双击 start-test.bat
start-test.bat
预期输出:全部 6 项测试通过。
可用工具
| 工具 | 说明 |
|---|---|
scene.get_hierarchy |
获取场景层级树(根对象 → 子对象) |
scene.get_objects |
获取所有对象,可选按名称过滤 |
scene.create_object |
创建 GameObject,可设位置/旋转/缩放 |
scene.delete_object |
按 instanceId 删除对象 |
scene.set_transform |
修改对象的位置/旋转/缩放 |
scene.set_component_property |
修改组件属性(支持 Vector3、Color 等类型) |
配置
通过环境变量 UNITY_MCP_PORT 修改端口(默认 45678):
set UNITY_MCP_PORT=45679 && node dist/index.js
开发
# 监听模式开发
npm run dev # 使用 tsx 直接运行 TS
# 测试
start-test.bat # 或 node tests/test-bridge.mjs
# 目录结构
src/ # TypeScript 源码
├── index.ts # 入口
├── unity-bridge.ts # WebSocket 客户端
├── types.ts # 类型定义
└── tools/
└── scene-tools.ts # 工具注册
tests/ # 测试代码
├── test-bridge.mjs # 主 E2E 测试
├── test-simple.mjs # 连通性测试
└── diff-test.mjs # 诊断工具
故障排查
"Failed to connect to Unity" → Unity 没打开,或 SimpleMCPBridge 没启动 → 确保 Unity 菜单栏 Tools → SimpleMCPBridge → Start
"Connection refused"
→ 端口被占用,或 Unity 桥接器未运行
→ 重启 Unity Bridge(Stop → Start)
→ 或修改端口:set UNITY_MCP_PORT=45679
测试超时
→ Unity Bridge 在 Edit Mode 下未处理消息
→ 确保 AutoStartBridge.cs 已生效(检查 Console 日志)
技术说明
- Unity Bridge 使用纯 TCP 实现 RFC 6455 WebSocket,零外部依赖
- MCP Server 使用
@modelcontextprotocol/sdkv1.x 与StdioServerTransport - 消息队列在主线程上处理(
EditorApplication.update),保证 Unity API 安全 - 日志输出到 Unity 项目根目录的
Logs/mcp_bridge_debug.log
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。