Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Safe Plastic SCM / Unity Version Control MCP: history, review, merge preview, and guarded writes.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
UVCS_WORKSPACE, UVCS_MCP_MODE, UVCS_ALLOWED_WORKSPACES, UVCS_ALLOWED_REPOS, UVCS_CM_PATHYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into 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"
}
}
}
}Run this in your terminal
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-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.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"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"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"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
UVCS_MCP_MODE envUVCS_ALLOWED_WORKSPACES envUVCS_ALLOWED_REPOS envUVCS_CM_PATH envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account ProAnima, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: UVCS_WORKSPACE
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.4.1) reached the registry 12 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Starreel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
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.
Turn a script into a finished, downloadable short-drama episode — via MCP or REST.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
Only the beginning is shown; read the rest in the repo