| 🇺🇸英语 | 🇨🇳简体中文 | 🇯🇵日语 |
|---|
,/(/. *(/,
*/(((((/. *((((((*.
.*((((((((((/. *((((((((((/.
./((((((((((((((/ *((((((((((((((/,
,/(((((((((((((/*. */(((((((((((((/*.
,%%#((/((((((* ,/(((((/(#&@@(
,%%##%%##((((((/*. ,/((((/(#&@@@@@@(
,%%######%%##((/(((/*. .*/(((//(%@@@@@@@@@@@(
,%%####%#(%%#%%##((/((((((((//#&@@@@@@&@@@@@@@@(
,%%####%( /#%#%%%##(//(#@@@@@@@%, #@@@@@@@(
,%%####%( *#%###%@@@@@@( #@@@@@@@(
,%%####%( #%#%@@@@, #@@@@@@@(
,%%##%%%( #%#%@@@@, #@@@@@@@(
,%%%#* #%#%@@@@, *%@@@(
., ,/##*. #%#%@@@@, ./&@#* *`
,/#%#####%%#/, #%#%@@@@, ,/&@@@@@@@@@&\.
`*#########%%%%###%@@@@@@@@@@@@@@@@@@&*´
`*%%###########%@@@@@@@@@@@@@@&*´
`*%%%######%@@@@@@@@@@&*´
`*#%%##%@@@@@&*´
`*%#%@&*´
███╗ ███╗ ██████╗██████╗ ██╗ ██╗███╗ ██╗██╗████████╗██╗ ██╗
████╗ ████║██╔════╝██╔══██╗ ██║ ██║████╗ ██║██║╚══██╔══╝╚██╗ ██╔╝
██╔████╔██║██║ ██████╔╝ ██║ ██║██╔██╗ ██║██║ ██║ ╚████╔╝
██║╚██╔╝██║██║ ██╔═══╝ ██║ ██║██║╚██╗██║██║ ██║ ╚██╔╝
██║ ╚═╝ ██║╚██████╗██║ ╚██████╔╝██║ ╚████║██║ ██║ ██║
╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝ ╚═╝
MCP Unity 是一个为 Unity 编辑器实现的 Model Context Protocol,允许 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://gips0.baidu.com/it/u=1616337775,566444808&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Unity MCP 服务器" /> </a>MCP Unity 提供了与类似 Visual Studio Code 的 IDE(如 Visual Studio Code、Cursor、Windsurf)的自动集成,通过将 Unity 的 Library/PackedCache 文件夹添加到工作区来实现。该功能:
以下工具可用于通过 MCP 操作和查询 Unity 场景和 GameObject:
execute_menu_item:执行 Unity 菜单项(标记有 MenuItem 属性的函数)
示例提示:"执行菜单项 'GameObject/Create Empty' 创建一个新的空 GameObject"
select_gameobject:通过路径或实例 ID 在 Unity 层次结构中选择游戏对象
示例提示:"在我的场景中选择 Main Camera 对象"
update_gameobject:更新 GameObject 的核心属性(名称、标签、层、活动/静态状态),如果不存在则创建 GameObject
示例提示:"将 Player 对象的标签设置为 'Enemy' 并使其不活动"
update_component:更新 GameObject 上的组件字段,如果 GameObject 不包含该组件,则将其添加到 GameObject 中
示例提示:"向 Player 对象添加一个 Rigidbody 组件,并将其质量设置为 5"
add_package:在 Unity 包管理器中安装新包
示例提示:"将 TextMeshPro 包添加到我的项目中"
run_tests:使用 Unity 测试运行器运行测试
示例提示:"运行我项目中的所有 EditMode 测试"
send_console_log:发送控制台日志到 Unity
示例提示:"发送一条控制台日志到 Unity 编辑器"
add_asset_to_scene:从 AssetDatabase 将资产添加到 Unity 场景中
示例提示:"将我项目中的 Player prefab 添加到当前场景"
create_prefab:创建一个带有可选 MonoBehaviour 脚本和序列化字段值的预制件
示例提示:"从 'PlayerController' 脚本创建一个名为 'Player' 的预制件"
recompile_scripts:重新编译 Unity 项目中的所有脚本
示例提示:"重新编译我 Unity 项目中的脚本"
unity://menu-items:检索 Unity 编辑器中所有可用的菜单项列表,以支持 execute_menu_item 工具
示例提示:"显示所有与 GameObject 创建相关的可用菜单项"
unity://scenes-hierarchy:检索当前 Unity 场景层次结构中的所有游戏对象列表
示例提示:"显示当前场景层次结构结构"
unity://gameobject/{id}:通过实例 ID 或场景层次结构中的对象路径检索特定 GameObject 的详细信息,包括所有 GameObject 组件及其序列化属性和字段
示例提示:"获取关于 Player GameObject 的详细信息"
unity://logs:检索 Unity 控制台中的所有日志列表
示例提示:"显示最近来自 Unity 控制台的错误消息"
unity://packages:检索已安装和可用包的信息,这些信息来自 Unity 包管理器
示例提示:"列出我 Unity 项目中当前安装的所有包"
unity://assets:检索 Unity 资产数据库中的资产信息
示例提示:"查找我项目中的所有纹理资产"
unity://tests/{testMode}:检索 Unity 测试运行器中的测试信息
示例提示:"列出我 Unity 项目中所有可用的测试"
[!IMPORTANT] 项目路径不能包含空格
重要的是,您的 Unity 项目的文件路径不能包含任何空格。 如果您的项目路径包含空格,MCP 客户端(例如 Cursor、Claude、Windsurf)将无法连接到 MCP Unity 服务器。
示例:
- ✅ 有效:
C:\Users\YourUser\Documents\UnityProjects\MyAwesomeGame- ❌ 无效:
C:\Users\Your User\Documents\Unity Projects\My Awesome Game请确保您的项目位于没有空格的路径下,然后再继续安装。
安装这个 MCP Unity 服务器是一个多步骤的过程:
要运行 MCP Unity 服务器,您需要在计算机上安装 Node.js 18 或更高版本:

node --version
brew install node@18
node --version
https://github.com/CoderGamester/mcp-unity.git
打开您的 AI 客户端的 MCP 配置文件(例如 Claude Desktop 中的 claude_desktop_config.json),并复制以下文本:
将
ABSOLUTE/PATH/TO替换为您 MCP Unity 安装的绝对路径,或者直接从 Unity 编辑器 MCP 服务器窗口(工具 > MCP Unity > 服务器窗口)复制文本。
{
"mcpServers": {
"mcp-unity": {
"command": "node",
"args": [
"ABSOLUTE/PATH/TO/mcp-unity/Server~/build/index.js"
]
}
}
}
</details>
当 AI 客户端连接到 WebSocket 服务器时,它会自动显示在窗口中的绿色框内
默认情况下,WebSocket 服务器运行在端口 '8090'。您可以按以下两种方式更改此端口:
默认情况下,MCP 服务器和 WebSocket 之间的超时时间为 10 秒。 您可以根据所使用的操作系统进行更改:
[!TIP]
您的 AI 编码 IDE(例如 Claude Desktop、Cursor IDE、Windsurf IDE)与 MCP 服务器之间的超时取决于 IDE。
默认情况下,WebSocket 服务器绑定到 'localhost'。要允许其他机器上的 MCP 桥接连接:
UNITY_HOST=192.168.1.100 node server.jsMCP Unity 服务器是使用 Node.js 构建的。它需要将 TypeScript 代码编译到 build 目录中的 JavaScript。
如果有问题,可以通过以下方式强制安装:

如果您想手动构建,可以遵循以下步骤:
打开终端/PowerShell/命令提示符
导航到服务器目录:
cd ABSOLUTE/PATH/TO/mcp-unity/Server~
安装依赖项:
npm install
构建服务器:
npm run build
运行服务器:
node build/index.js
使用 @modelcontextprotocol/inspector 调试服务器:
npx @modelcontextprotocol/inspector node Server~/build/index.js
npx @modelcontextprotocol/inspector node Server~/build/index.js
不要忘记在关闭终端或使用 [MCP Inspector](