Unity Editor MCP Server
MCP Unity 服务器,用于将 Unity 编辑器游戏引擎与不同的 AI 模型客户端(例如 Claude Desktop、Windsurf、Cursor)集成。
Tools
execute_menu_item
Executes a Unity menu item by path
select_object
Sets the selected object in the Unity editor by path or ID
package_manager
Manages packages in the Unity Package Manager
run_tests
Runs Unity's Test Runner tests
notify_message
Sends a message to the Unity console
README
MCP Unity 编辑器 (游戏引擎)
| English | 🇨🇳简体中文 | 🇯🇵日本語 |
|---|
,/(/. *(/,
*/(((((/. *((((((*.
.*((((((((((/. *((((((((((/.
./((((((((((((((/ *((((((((((((((/,
,/(((((((((((((/*. */(((((((((((((/*.
,%%#((/((((((* ,/(((((/(#&@@(
,%%##%%##((((((/*. ,/((((/(#&@@@@@@(
,%%######%%##((/(((/*. .*/(((//(%@@@@@@@@@@@(
,%%####%#(%%#%%##((/((((((((//#&@@@@@@&@@@@@@@@(
,%%####%( /#%#%%%##(//(#@@@@@@@%, #@@@@@@@(
,%%####%( *#%###%@@@@@@( #@@@@@@@(
,%%####%( #%#%@@@@, #@@@@@@@(
,%%##%%%( #%#%@@@@, #@@@@@@@(
,%%%#* #%#%@@@@, *%@@@(
., ,/##*. #%#%@@@@, ./&@#* *`
,/#%#####%%#/, #%#%@@@@, ,/&@@@@@@@@@&\.
`*#########%%%%###%@@@@@@@@@@@@@@@@@@&*´
`*%%###########%@@@@@@@@@@@@@@&*´
`*%%%######%@@@@@@@@@@&*´
`*#%%##%@@@@@&*´
`*%#%@&*´
███╗ ███╗ ██████╗██████╗ ██╗ ██╗███╗ ██╗██╗████████╗██╗ ██╗
████╗ ████║██╔════╝██╔══██╗ ██║ ██║████╗ ██║██║╚══██╔══╝╚██╗ ██╔╝
██╔████╔██║██║ ██████╔╝ ██║ ██║██╔██╗ ██║██║ ██║ ╚████╔╝
██║╚██╔╝██║██║ ██╔═══╝ ██║ ██║██║╚██╗██║██║ ██║ ╚██╔╝
██║ ╚═╝ ██║╚██████╗██║ ╚██████╔╝██║ ╚████║██║ ██║ ██║
╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═╝
MCP Unity 是 Model Context Protocol 在 Unity 编辑器中的一个实现,允许 AI 助手与您的 Unity 项目进行交互。此软件包提供了 Unity 和一个实现了 MCP 协议的 Node.js 服务器之间的桥梁,使像 Claude、Windsurf 和 Cursor 这样的 AI 代理能够在 Unity 编辑器中执行操作。
功能
<a href="https://glama.ai/mcp/servers/@CoderGamester/mcp-unity"> <img width="400" height="200" src="https://glama.ai/mcp/servers/@CoderGamester/mcp-unity/badge" alt="Unity MCP server" /> </a>
IDE 集成 - 包缓存访问
MCP Unity 通过将 Unity 的 Library/PackedCache 文件夹添加到您的工作区,提供与 VSCode 类似的 IDE(Visual Studio Code、Cursor、Windsurf)的自动集成。此功能:
- 改进了 Unity 包的代码智能
- 为 Unity 包启用了更好的自动完成和类型信息
- 帮助 AI 编码助手理解您的项目依赖项
MCP 服务器工具
-
execute_menu_item: 执行 Unity 菜单项(使用 MenuItem 属性标记的函数)示例提示: "执行菜单项 'GameObject/Create Empty' 以创建一个新的空 GameObject"
-
select_gameobject: 通过路径或实例 ID 在 Unity 层次结构中选择游戏对象示例提示: "选择我场景中的 Main Camera 对象"
-
update_component: 更新 GameObject 上的组件字段,或者如果 GameObject 不包含该组件,则将其添加到 GameObject示例提示: "将 Rigidbody 组件添加到 Player 对象,并将其质量设置为 5"
-
add_package: 在 Unity Package Manager 中安装新包示例提示: "将 TextMeshPro 包添加到我的项目"
-
run_tests: 使用 Unity Test Runner 运行测试示例提示: "运行我项目中的所有 EditMode 测试"
-
notify_message: 在 Unity 编辑器中显示消息示例提示: "向 Unity 发送任务已完成的通知"
-
add_asset_to_scene: 将 AssetDatabase 中的资源添加到 Unity 场景示例提示: "将我项目中的 Player 预制件添加到当前场景"
MCP 服务器资源
-
unity://menu-items: 检索 Unity 编辑器中所有可用菜单项的列表,以方便execute_menu_item工具的使用示例提示: "向我展示所有与 GameObject 创建相关的可用菜单项"
-
unity://hierarchy: 检索 Unity 层次结构中所有游戏对象的列表示例提示: "向我展示当前的场景层次结构"
-
unity://gameobject/{id}: 检索有关特定 GameObject 的详细信息,通过实例 ID 或场景层次结构中的对象路径,包括所有 GameObject 组件及其序列化属性和字段示例提示: "获取有关 Player GameObject 的详细信息"
-
unity://logs: 检索 Unity 控制台中的所有日志的列表示例提示: "向我展示 Unity 控制台中最近的错误消息"
-
unity://packages: 检索有关 Unity Package Manager 中已安装和可用包的信息示例提示: "列出当前安装在我的 Unity 项目中的所有包"
-
unity://assets: 检索有关 Unity Asset Database 中资源的信息示例提示: "查找我项目中的所有纹理资源"
-
unity://tests/{testMode}: 检索有关 Unity Test Runner 中测试的信息示例提示: "列出我的 Unity 项目中所有可用的测试"
要求
<a name="install-server"></a>安装
安装此 MCP Unity 服务器是一个多步骤的过程:
步骤 1:通过 Unity Package Manager 安装 Unity MCP Server 包
- 打开 Unity Package Manager(Window > Package Manager)
- 单击左上角的“+”按钮
- 选择“Add package from git URL...”
- 输入:
https://github.com/CoderGamester/mcp-unity.git - 点击“Add”
步骤 2:安装 Node.js
要运行 MCP Unity 服务器,您需要在您的计算机上安装 Node.js 18 或更高版本:
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">Windows</span></summary>
- 访问 Node.js 下载页面
- 下载 Windows Installer (.msi) 的 LTS 版本(推荐)
- 运行安装程序并按照安装向导进行操作
- 通过打开 PowerShell 并运行以下命令来验证安装:
node --version
</details>
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">macOS</span></summary>
- 访问 Node.js 下载页面
- 下载 macOS Installer (.pkg) 的 LTS 版本(推荐)
- 运行安装程序并按照安装向导进行操作
- 或者,如果您安装了 Homebrew,您可以运行:
brew install node@18 - 通过打开 Terminal 并运行以下命令来验证安装:
node --version
</details>
步骤 3:配置 AI LLM 客户端
<details open> <summary><span style="font-size: 1.1em; font-weight: bold;">选项 1:使用 Unity 编辑器配置</span></summary>
- 打开 Unity 编辑器
- 导航到 Tools > MCP Unity > Server Window
- 单击您的 AI LLM 客户端的“Configure”按钮,如下图所示
- 使用给定的弹出窗口确认配置安装
</details>
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">选项 2:通过 Smithery 配置</span></summary>
要通过 Smithery 安装 MCP Unity:
目前不可用
</details>
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">选项 3:手动配置</span></summary>
打开您的 AI 客户端的 MCP 配置文件(例如 Claude Desktop 中的 claude_desktop_config.json)并复制以下文本:
将
ABSOLUTE/PATH/TO替换为您的 MCP Unity 安装的绝对路径,或者直接从 Unity Editor MCP Server 窗口(Tools > MCP Unity > Server Window)复制文本。
{
"mcpServers": {
"mcp-unity": {
"command": "node",
"args": [
"ABSOLUTE/PATH/TO/mcp-unity/Server/build/index.js"
],
"env": {
"UNITY_PORT": "8090"
}
}
}
}
</details>
<a name="start-server"></a>启动 Unity Editor MCP Server
- 打开 Unity 编辑器
- 导航到 Tools > MCP Unity > Server Window
- 单击“Start Server”以启动 WebSocket 服务器
- 打开 Claude Desktop 或您的 AI 编码 IDE(例如 Cursor IDE、Windsurf IDE 等),然后开始执行 Unity 工具
当 AI 客户端连接到 WebSocket 服务器时,它将自动显示在窗口中的绿色框中
可选:设置 WebSocket 端口
默认情况下,WebSocket 服务器在端口 8090 上运行。您可以通过两种方式更改此端口:
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">选项 1:使用 Unity 编辑器</span></summary>
- 打开 Unity 编辑器
- 导航到 Tools > MCP Unity > Server Window
- 将“WebSocket Port”值更改为您所需的端口号
- Unity 会将系统环境变量 UNITY_PORT 设置为新的端口号
- 重新启动 Node.js 服务器
- 再次单击“Start Server”以将 Unity Editor web socket 重新连接到 Node.js MCP Server
</details>
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">选项 2:使用终端</span></summary>
- 在终端中设置 UNITY_PORT 环境变量
- Powershell
$env:UNITY_PORT = "8090"- Command Prompt/Terminal
set UNITY_PORT=8090 - 重新启动 Node.js 服务器
- 再次单击“Start Server”以将 Unity Editor web socket 重新连接到 Node.js MCP Server
</details>
<a name="debug-server"></a>调试服务器
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">构建 Node.js 服务器</span></summary>
MCP Unity 服务器是使用 Node.js 构建的。它需要将 TypeScript 代码编译为 build 目录中的 JavaScript。
要构建服务器,请打开一个终端并:
-
导航到 Server 目录:
cd ABSOLUTE/PATH/TO/mcp-unity/Server -
安装依赖项:
npm install -
构建服务器:
npm run build -
运行服务器:
node build/index.js
</details>
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">使用 MCP Inspector 调试</span></summary>
使用 @modelcontextprotocol/inspector 调试服务器:
- Powershell
$env:UNITY_PORT=8090; npx @modelcontextprotocol/inspector node Server/build/index.js
- Command Prompt/Terminal
set UNITY_PORT=8090 && npx @modelcontextprotocol/inspector node Server/build/index.js
在关闭终端或使用 MCP Inspector 调试之前,请不要忘记使用 Ctrl + C 关闭服务器。
</details>
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">启用控制台日志</span></summary>
- 在您的终端上或在 log.txt 文件中启用日志记录:
- Powershell
$env:LOGGING = "true" $env:LOGGING_FILE = "true"- Command Prompt/Terminal
set LOGGING=true set LOGGING_FILE=true
</details>
故障排除
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">连接问题</span></summary>
- 确保 WebSocket 服务器正在运行(检查 Unity 中的 Server Window)
- 检查是否有任何防火墙限制阻止连接
- 确保端口号正确(默认为 8080)
- 更改 Unity Editor MCP Server 窗口中的端口号。(Tools > MCP Unity > Server Window) </details>
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">服务器未启动</span></summary>
- 检查 Unity Console 中的错误消息
- 确保 Node.js 已正确安装并且可以在您的 PATH 中访问
- 验证所有依赖项是否已安装在 Server 目录中 </details>
<details> <summary><span style="font-size: 1.1em; font-weight: bold;">菜单项未执行</span></summary>
- 确保菜单项路径正确(区分大小写)
- 检查菜单项是否需要确认
- 验证菜单项在当前上下文中是否可用 </details>
支持与反馈
如果您有任何问题或需要支持,请在此存储库上打开一个 issue。
或者,您可以通过以下方式联系:
贡献
欢迎贡献!请随时提交 Pull Request 或打开一个 Issue 并提出您的请求。
提交您的更改,遵循 Conventional Commits 格式。
许可证
此项目受 MIT 许可证 保护
致谢
推荐服务器
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 模型以安全和受控的方式获取实时的网络信息。