Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Safe Plastic SCM / Unity Version Control MCP: history, review, merge preview, and guarded writes.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
UVCS_WORKSPACE, UVCS_MCP_MODE, UVCS_ALLOWED_WORKSPACES, UVCS_ALLOWED_REPOS, UVCS_CM_PATH你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"uvcs": {
"command": "npx",
"args": [
"-y",
"@proanima/uvcs-mcp"
],
"env": {
"UVCS_WORKSPACE": "your-value",
"UVCS_MCP_MODE": "your-value",
"UVCS_ALLOWED_WORKSPACES": "your-value",
"UVCS_ALLOWED_REPOS": "your-value",
"UVCS_CM_PATH": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add uvcs --env UVCS_WORKSPACE=your-value --env UVCS_MCP_MODE=your-value --env UVCS_ALLOWED_WORKSPACES=your-value --env UVCS_ALLOWED_REPOS=your-value --env UVCS_CM_PATH=your-value -- npx -y @proanima/uvcs-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"uvcs": {
"command": "npx",
"args": [
"-y",
"@proanima/uvcs-mcp"
],
"env": {
"UVCS_WORKSPACE": "your-value",
"UVCS_MCP_MODE": "your-value",
"UVCS_ALLOWED_WORKSPACES": "your-value",
"UVCS_ALLOWED_REPOS": "your-value",
"UVCS_CM_PATH": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"uvcs": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@proanima/uvcs-mcp"
],
"env": {
"UVCS_WORKSPACE": "your-value",
"UVCS_MCP_MODE": "your-value",
"UVCS_ALLOWED_WORKSPACES": "your-value",
"UVCS_ALLOWED_REPOS": "your-value",
"UVCS_CM_PATH": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
UVCS_MCP_MODE envUVCS_ALLOWED_WORKSPACES envUVCS_ALLOWED_REPOS envUVCS_CM_PATH env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 ProAnima 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:UVCS_WORKSPACE
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.4.1)于12天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Safe MCP server for Plastic SCM, Unity Version Control, and Unity DevOps Version Control source-control workspaces (cm 10.0.16.6656+, including 11.x).
UVCS MCP connects AI IDEs and coding agents to the local cm CLI through a fixed allowlist of documented SCM commands. It helps agents inspect source-control workspace state, prepare changes, create branches and labels, run guarded checkins, and perform merges without arbitrary shell access.
Current release: 1.4.1. Supported cm clients: 10.0.16.6656 and newer, including Unity Version Control / Unity DevOps Version Control 11.x.
cm CLI. init finds it on PATH or in the standard install folders and writes its absolute path; otherwise pass --cm= ;cm client with access to the workspace server.UVCS MCP is not a Unity Editor automation server. It does not control scenes, GameObjects, Play Mode, Unity packages, editor windows, builds, or runtime objects.
It works with the Plastic SCM / Unity Version Control cm CLI and focuses on source-control workflows: status, pending changes, branches, labels, checkins, locks, diffs, and merges.
For one workspace, start with the guarded profile:
npx -y @proanima/uvcs-mcp@1.4.1 init \
--client=cursor,codex \ --workspace="D:/Repositories/YourWorkspace" \ --safety=guarded \ --print-config
The preview shows only the uvcs entries, the target files, and whether each file would be created, merged, or left unchanged. Project files such as .cursor/mcp.json go into the workspace folder; pass --project-dir= to put them elsewhere. Remove --print-config to apply it, then validate the result:
npx -y @proanima/uvcs-mcp@1.4.1 doctor \
--workspace="D:/Repositories/YourWorkspace"
Restart the MCP client, then call:
uvcs_setup_status
uvcs_workspace_status uvcs_style_setup_check
Use readonly when inspection is sufficient. Use standard only for trusted or disposable workspaces where repository identity pinning is intentionally not required.
Configure the MCP client to auto-approve only read-only tools and to ask you before every *_confirm tool. See Clients.
Ask your AI IDE to install this MCP server from the GitHub repository URL.
For example:
Install this MCP server from https://github.com/ProAnima/unity-version-control-mcp, configure it for my Plastic SCM / Unity Version Control source-control workspace, and run uvcs_doctor.
Use a clone only when client configuration should run that checkout instead of the npm package:
git clone https://github.com/ProAnima/unity-version-control-mcp.git uvcs-mcp
cd uvcs-mcp npm ci node src/cli.js init-local --client=cursor --workspace="D:/Repositories/YourWorkspace"
Always pass --workspace (or --project-dir): project files are written into the workspace folder, and init refuses to write them into the uvcs-mcp folder itself. Preview first with --print-config.
Restart your MCP client, then ask it to run:
uvcs_doctor
uvcs_workspace_status
Windows:
npx -y @proanima/uvcs-mcp@1.4.1 init --client=cursor --workspace="D:\Repositories\YourWorkspace"
macOS:
npx -y @proanima/uvcs-mcp@1.4.1 init --client=cursor --workspace="$HOME/Repositories/YourWorkspace"
Linux:
npx -y @proanima/uvcs-mcp@1.4.1 init --client=cursor --workspace="$HOME/Repositories/YourWorkspace"
Replace cursor with your client, or list several separated by commas. If cm is not found, add --cm=/path/to/cm. On macOS this matters for GUI clients, which do not inherit the shell PATH; init writes the absolute cm path as UVCS_CM_PATH for that reason.
init validates every target before writing. A malformed or JSONC config aborts the run with nothing written, unless --skip-invalid is passed, which skips that client and prints the entry to add by hand. Changed files are backed up as . .bak; unchanged files are not rewritten. Run uvcs-mcp init --help for every option.
{
"command": "npx", "args": ["-y", "@proanima/uvcs-mcp@1.4.1"], "env": { "UVCS_WORKSPACE": "D:/Repositories/YourWorkspace", "UVCS_MCP_MODE": "readonly" } }
On native Windows npx is the npx.cmd shim. Claude Code, Claude Desktop, Cursor, Codex 0.59+, Kiro, and OpenCode resolve it themselves. For Antigravity and Windsurf / Devin Desktop, or if a client reports spawn npx ENOENT, use "command": "cmd" with "args": ["/c", "npx", "-y", "@proanima/uvcs-mcp@1.4.1"]. See Clients.
Every environment variable is described in Configuration.
The server is listed in the official MCP Registry as io.github.ProAnima/uvcs-mcp. Clients and directories that read the registry can install it from there; it still needs a local cm CLI and a workspace path (UVCS_WORKSPACE).
.mcp.json; init also prints the equivalent claude mcp add --scope user command)See Clients for file locations.
readonly; an unrecognized UVCS_MCP_MODE also means readonly.UVCS_MCP_MODE=standard.*_prepare followed by the matching *_confirm, and tools carry MCP annotations so clients can auto-approve reads and require approval for writes.paths; a path-scoped checkin adds the .meta partner of every selected Unity asset and refuses assets whose .meta is still private.uvcs_merge does not start a merge that the preview reports as conflicting.cm would read as options (leading -) are rejected, and item paths cannot contain the wildcards * or ?.cm runs without a shell and with stdin closed, under separate read and write timeouts and an output limit.cm, arbitrary shell execution, and raw cm api startup are not exposed.UVCS_AUDIT_LOG=/path/to/uvcs-mcp-audit.jsonl.uvcs_doctoruvcs_policy_statusuvcs_setup_statusuvcs_workspace_statusuvcs_pending_changesuvcs_branch_infouvcs_locksuvcs_checkout_prepare / uvcs_checkout_confirmuvcs_release_checkout_prepare / uvcs_release_checkout_confirmuvcs_unity_meta_diagnosticsuvcs_style_rulesuvcs_style_setup_checkuvcs_style_init_prepare / uvcs_style_init_confirmuvcs_name_previewuvcs_release_planuvcs_diff_fileuvcs_changeset_diffuvcs_revision_diffuvcs_file_historyuvcs_annotateuvcs_branch_listuvcs_label_listuvcs_merge_previewuvcs_cleanup_candidatesuvcs_branch_safety_reportuvcs_update_workspace_prepare / uvcs_update_workspace_confirmuvcs_changeset_analyticsuvcs_add_prepare / uvcs_add_confirmuvcs_undo_prepare / uvcs_undo_confirmuvcs_branch_create_prepare / uvcs_branch_create_confirmuvcs_label_create_prepare / uvcs_label_create_confirmuvcs_switch_workspace_prepare / uvcs_switch_workspace_confirmuvcs_merge_prepare / uvcs_merge_confirmuvcs_checkin_prepare / uvcs_checkin_confirmRead-only tools answer "what changed" questions in every safety profile:
uvcs_changeset_diff lists items added, changed, moved, or deleted in a changeset (cs:123), a branch (/main/task), a shelve, or between two changesets or labels, and flags Unity assets added, moved, or deleted without their .meta (and the reverse).uvcs_revision_diff returns a unified line diff of one file for a changeset, between two revisions, or against the workspace copy.uvcs_file_history and uvcs_annotate show who changed a file or a line, and when.uvcs_branch_list and uvcs_label_list find branches and labels by name, owner, date, parent, or branch.uvcs_merge_preview reports what a merge would bring and which items conflict, into the workspace or, with destination, into any branch on the server, without merging.uvcs_checkin_prepare accepts paths to check in only the user's files or folders. Every selected Unity asset brings its .meta file along, new parent folders that the change needs are listed as dependencies, and the token is invalidated if a selected file is edited again before confirm.uvcs_checkout_prepare checks files out before editing. When the server has a lock rule for them (lock.conf), this takes the exclusive lock that protects scenes, prefabs, and other binary assets; files locked by someone else are refused.uvcs_release_checkout_prepare releases checkouts of files whose content did not change. Modified files keep their checkout and their edits until they are checked in.uvcs_locks accepts paths and a scope (all, user, workspace).The package ships an agent skill (SKILL.md) that teaches Claude Code, Codex, Cursor, OpenCode, Gemini CLI, and other SKILL.md agents when and how to use these tools, including the prepare/confirm workflow and Unity .meta rules:
npx -y @proanima/uvcs-mcp@1.4.1 skill install --agent=claude,agents
See Agent Skill for every agent, project-scope installs, and the marketplace ZIP.
Use a fleet manifest to configure one MCP server for up to 50 named workspaces:
npx -y @proanima/uvcs-mcp@1.4.1 init --manifest=workspaces.json --client=cursor,codex --print-config
Start from templates/fleet/workspaces.example.json. See Multi-Workspace and Fleet Work for safety profiles and the recommended prepare-all/confirm-each workflow.
In fleet mode every tool call requires an explicit workspace selector. Use --fleet-layout=isolated only when you prefer one MCP process per workspace.
Validate every configured workspace before restarting the client:
npx -y @proanima/uvcs-mcp@1.4.1 doctor --manifest=workspaces.json
For mass work, inspect every target first, prepare all writes, present one combined plan, and confirm each workspace independently. Cross-repository operations are not atomic.
npm ci
npm test npm run lint npm run check npm run audit:prod npm run release:check npm run smoke:fake npm run smoke:fleet npm run smoke:pack npm run pack:skill
Run the real Plastic SCM smoke test against a disposable or safe workspace:
npm run smoke:plastic -- "D:/Repositories/YourWorkspace"
The smoke test creates temporary branches, labels, checkins, and a merge through MCP tools.
只显示了开头部分;其余内容请在仓库中阅读