本页由英文机器翻译而成。阅读英文原文。

unity-mcp-cli 参考

unity-mcp-cli 命令参考——安装 Unity MCP、登录、写入 AI 代理配置、无界面打开 Unity、从终端运行工具和 C#。

更新于 2026年11月4日 查看 Markdown 版本

unity-mcp-cli 是 Unity MCP 的命令行工具。它可以安装 Unity 和插件、让你登录 ai-game.dev、写入 AI 代理配置、打开和关闭编辑器,以及从终端或 CI 脚本调用 MCP 工具或在编辑器中运行 C#。本页列出 1.6.2 版本中的全部命令和参数。

安装

npm install -g unity-mcp-cli

也可以不安装,直接运行任意命令:npx unity-mcp-cli <command>。它需要 Node.js ^20.19.0 或 >=22.12.0,支持 Windows、macOS 和 Linux。用于管理编辑器的命令会使用 Unity Hub CLI;如果未安装 Unity Hub,CLI 会自动安装它。

全局选项,所有命令均可用:

选项说明
-v, --verbose输出详细的诊断信息
-V, --version打印 CLI 版本
--help显示该命令的帮助

在非交互式终端(CI)中,CLI 会自动禁用加载动画和颜色。大多数接受项目路径的命令既可以用位置参数传入路径,也可以用 --path 传入,默认使用当前文件夹。

典型会话

unity-mcp-cli install-plugin ./MyGame
unity-mcp-cli login
unity-mcp-cli setup-mcp claude-code ./MyGame
unity-mcp-cli open ./MyGame
unity-mcp-cli wait-for-ready ./MyGame
unity-mcp-cli run-tool tests-run ./MyGame --input '{"testMode":"EditMode"}'
unity-mcp-cli close ./MyGame

项目设置命令

install-unity

通过 Unity Hub 安装 Unity 编辑器。不带参数时安装最新的稳定版本。

参数 / 选项说明
[version]编辑器版本,例如 6000.3.1f1
--path <path>从现有项目读取所需的版本

create-project

使用编辑器创建新的 Unity 项目:unity-mcp-cli create-project ./MyGame --unity 6000.3.1f1。

参数 / 选项说明
[path]项目的创建位置(必填,或使用 --path)
--unity <version>编辑器版本(默认:已安装的最高版本)

install-plugin

将 OpenUPM 作用域注册表和 com.ivanmurzak.unity.mcp 添加到 Packages/manifest.json。绝不会降级已安装的更高版本。该文件夹必须是 Unity 项目。

选项说明
[path]Unity 项目(默认:当前文件夹)
--plugin-version <version>要安装的版本(默认:OpenUPM 上的最新版本)
--with-server同时为本机下载 gamedev-mcp-server 二进制文件到 CLI 自身的文件夹中
--server-version <version>用于 --with-server 的服务端版本
--server-source <path-or-url>从本地 zip 或 URL 安装服务端(离线或 CI 场景;跳过校验和验证)
--enroll <code>兑换团队注册码,获得绑定到该项目的插件凭据
--enroll-stdin从 stdin 读取注册码,避免它出现在 shell 历史记录中
--yes自动确认提示,例如 --enroll 过程中的账号切换

install-extension

将官方扩展安装到 Packages/manifest.json。请参阅扩展。

参数 / 选项说明
[id]目录名称(Tilemap)或包 id(com.ivanmurzak.unity.mcp.tilemap)
[path]Unity 项目(默认:当前文件夹)
--extension-version <version>要安装的版本(默认:OpenUPM 上的最新版本)
--list列出可安装的扩展并退出(无需项目或网络)

remove-plugin

从 Packages/manifest.json 中移除 com.ivanmurzak.unity.mcp,并保留作用域注册表。接受 [path](必填,或使用 --path)。

configure

在 UserSettings/AI-Game-Developer-Config.json 中显示或隐藏工具、提示词和资源。被隐藏的项在按名称调用时仍然会运行。

选项说明
[path]Unity 项目(必填,或使用 --path)
--list打印当前配置并退出
--enable-tools <names>、--disable-tools <names>显示或隐藏指定的工具(以逗号分隔)
--enable-all-tools、--disable-all-tools显示或隐藏所有工具
--enable-prompts <names>、--disable-prompts <names>对提示词进行同样的操作
--enable-all-prompts、--disable-all-prompts所有提示词
--enable-resources <names>、--disable-resources <names>对资源进行同样的操作
--enable-all-resources、--disable-all-resources所有资源
--agent <id>改为通过托管服务端的配置器写入 AI 代理配置
--url <url>与 --agent 一同传递的服务端 URL

bootstrap-local

将项目的配置固定为 Custom(本地)模式,并指定服务端 URL 和令牌。幂等操作。

选项说明
[path]Unity 项目(默认:当前文件夹)
--url <url>本地 MCP 服务端 URL(必填)
--token <token>本地 bearer 令牌(必填)
--dry-run仅报告将要发生的更改而不写入

登录和 AI 代理命令

login

通过浏览器 OAuth 设备流程登录 ai-game.dev,并将凭据存储在 ~/.ai-game-dev/credentials.json 中。Editor 插件和桌面应用使用同一份凭据。如果你已经登录,则会提前退出。

选项说明
--project <path>将凭据存储到 <path>/.ai-game-dev/ 中,而不是机器级存储
--force即使已存在凭据也重新登录
--tools-only仅授权引擎工具,适用于 CI 运行器;不存储 agent 凭据
--yes无需提示即可确认切换账号

setup-mcp

写入 AI agent 的 MCP 配置,输出与 Editor 窗口中的 Configure 相同。默认情况下 URL 固定指向本项目(https://ai-game.dev/mcp/p/<pin>),对于 Cloud HTTP 配置,在你已登录时会带上本项目的 key。参见 连接 AI 客户端。

选项说明
[agent-id]要配置的 agent,例如 claude-code、cursor、codex
[path]Unity 项目(默认:当前文件夹)
--transport <transport>http(默认)或 stdio
--url <url>覆盖 http 的服务器 URL
--token <token>写入此 Personal Access Token,而不是项目 key
--oauth写入仅含 URL 的配置;由 agent 使用自己的 OAuth 登录
--regenerate-key生成新的项目 key,重写配置并吊销旧 key
--no-pin使用未固定项目的 https://ai-game.dev/mcp 端点
--list列出 agent id 及其配置文件路径

setup-skills

通过正在运行的 Editor 生成该 agent 的技能文件。Unity 必须已打开并已连接插件。

选项说明
[agent-id]要为其生成技能的 agent
[path]Unity 项目(默认:当前文件夹)
--url <url>、--token <token>覆盖服务器 URL 和 token
--timeout <ms>请求超时(默认 60000)
--list列出 agent 及其是否支持技能

Editor 命令

open

在 Unity Editor 中打开该项目,并根据所给选项设置插件的连接环境变量。编辑器以分离方式启动。

选项说明
[path]Unity 项目(默认:当前文件夹)
--unity <version>编辑器版本(默认:项目所用的版本,其次是已安装的最高版本)
--editor-path <path>显式指定 Editor 可执行文件;跳过 Unity Hub 发现流程
--no-connect打开时不设置 MCP 连接变量
--url <url>服务器 URL(设置 UNITY_MCP_HOST,即 UNITY_MCP_CLOUD_URL 的别名)
--keep-connected强制开启连接
--token <token>本地服务器 token(设置 UNITY_MCP_TOKEN)
--auth <option>授权模式(设置 UNITY_MCP_AUTH_OPTION);此版本接受 none 或 required
--tools <names>要显示的工具,以逗号分隔(设置 UNITY_MCP_TOOLS)
--transport <method>streamableHttp 或 stdio
--start-server <value>本地服务器自动启动:true 或 false
--headless无窗口启动(-batchmode,保留图形),并等待 MCP 服务器响应
--idle-timeout <seconds>在这么多秒内没有工具调用后退出,退出前先保存更改过的场景和资源
--ready-timeout <ms>配合 --headless 时,等待的时长(默认 300000)
--no-auto-dismiss-launch-errors不要在 Unity 的“启动时编译错误”对话框中点击 Ignore
--launch-dismiss-timeout-ms <ms>监视该对话框的总时长(默认 30000)
--launch-dismiss-poll-interval-ms <ms>该对话框的轮询间隔(默认 1500)

在 macOS 上,关闭启动错误对话框需要为终端授予辅助功能权限;在 Linux X11 上需要 xdotool(不支持 Wayland)。

close

优雅地关闭该项目的 Editor:unity-mcp-cli close ./MyGame --timeout 60 --force。关闭未运行的 Editor 也会成功。

选项说明
[path]Unity 项目(默认:当前文件夹)
--timeout <seconds>等待其正常退出(默认 30)
--force若届时仍未退出,则强制结束 Editor
--owned-only仅关闭由 CLI 启动的 Editor(exec、open --headless)

wait-for-ready

轮询直到 Editor 和 MCP 服务器可以接受工具调用。选项:[path]、--url、--token、--timeout <ms>(默认 120000)和 --interval <ms>(默认 3000)。

status

显示 Unity 是否正在运行、本地 MCP 服务器是否响应,以及配置的服务器(例如云端)是否可达。选项:[path]、--url、--token、--timeout <ms>(默认 5000)。

工具命令

run-tool

通过服务器的 HTTP API 调用 MCP 工具。除非你覆盖,否则 URL 和 token 来自项目配置(Custom 或 Cloud 模式)。

unity-mcp-cli run-tool rql-query ./MyGame --input '{"query":"objects | where name == \"Player\" | select path name active"}'
unity-mcp-cli run-tool unity-tool-list ./MyGame --raw
选项说明
<tool-name>要调用的工具
[path]Unity 项目,用于读取配置和检测端口
--url <url>、--token <token>绕过配置文件的覆盖项
--input <json>、--input-file <file>工具参数(默认 {})
--raw原始 JSON 输出
--timeout <ms>请求超时(默认 60000)

run-system-tool

与 run-tool 相同的选项,用于未向 MCP 客户端暴露的系统工具(例如技能生成和会话控制)。

exec

通过 script-execute 在 Editor 中运行 C# 并打印结果。如果已有打开的 Editor 就使用它;否则启动一个无头 Editor,该 Editor 会保持热启动以供后续调用,并在 --idle 秒后退出。

unity-mcp-cli exec 'GameObject.FindObjectsOfType<Camera>().Length'
echo 'Application.unityVersion' | unity-mcp-cli exec
选项描述
[code]C# 语句;最后一个表达式即结果(也可使用 -f 或 stdin)
--path <path>Unity 项目(默认:当前文件夹)
-f, --file <file>从文件读取代码(- 表示 stdin)
--using <namespace>额外的命名空间,可重复使用
--include <path>.ai-game-dev/snippets 下的辅助 .cs 文件或文件夹,可重复使用
--window启动带窗口的 Editor,而非无头模式
--idle <seconds>由 exec 启动的 Editor 退出前的空闲时间(默认 300,0 表示永不退出)
--ready-timeout <ms>等待 Editor 就绪(默认 300000)
--timeout <ms>工具调用超时
--raw原始工具响应 JSON
--url <url>、--token <token>覆盖项

编译错误会以退出码 1 结束,并指出出错的行。

维护

update

将 CLI 更新到最新的 npm 版本。--check 仅做检查,若有可用更新则以退出码 2 结束。在 npx 下无需更新。

作为库使用

该包还导出了一个带类型的 Node.js API(installPlugin、removePlugin、configure、setupMcp、installExtension 等),它返回结果对象而不是打印输出。请参阅该包的 npm 上的 README。