# Unity Version Control MCP server

> Lets an AI client inspect Plastic SCM and Unity Version Control workspaces, review changes, and run guarded checkins and merges.

- Repository: https://github.com/ProAnima/unity-version-control-mcp
- Page: https://hostedmcp.org/servers/proanima/unity-version-control-mcp
- Transport: stdio
- Stars: 18
- License: MIT
- Latest version: 1.4.1

## Install

### Claude Code

```sh
claude mcp add --env 'UVCS_WORKSPACE=<UVCS_WORKSPACE>' unity-version-control-mcp -- npx -y @proanima/uvcs-mcp
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "unity-version-control-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@proanima/uvcs-mcp"
      ],
      "env": {
        "UVCS_WORKSPACE": "<UVCS_WORKSPACE>"
      }
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "unity-version-control-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@proanima/uvcs-mcp"
      ],
      "env": {
        "UVCS_WORKSPACE": "<UVCS_WORKSPACE>"
      }
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"unity-version-control-mcp","type":"stdio","command":"npx","args":["-y","@proanima/uvcs-mcp"],"env":{"UVCS_WORKSPACE":"<UVCS_WORKSPACE>"}}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "unity-version-control-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@proanima/uvcs-mcp"
      ],
      "env": {
        "UVCS_WORKSPACE": "<UVCS_WORKSPACE>"
      }
    }
  }
}
```

### Codex

```sh
codex mcp add unity-version-control-mcp --env 'UVCS_WORKSPACE=<UVCS_WORKSPACE>' -- npx -y @proanima/uvcs-mcp
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.unity-version-control-mcp]
command = "npx"
args = ["-y", "@proanima/uvcs-mcp"]

[mcp_servers.unity-version-control-mcp.env]
UVCS_WORKSPACE = "<UVCS_WORKSPACE>"
```

### Gemini CLI

```sh
gemini mcp add -s user -e 'UVCS_WORKSPACE=<UVCS_WORKSPACE>' unity-version-control-mcp npx -- -y @proanima/uvcs-mcp
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "unity-version-control-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@proanima/uvcs-mcp"
      ],
      "env": {
        "UVCS_WORKSPACE": "<UVCS_WORKSPACE>"
      }
    }
  }
}
```

## Environment variables

| Name | Required | Secret | Description |
|---|---|---|---|
| `UVCS_WORKSPACE` | yes | no | Absolute path of the Plastic SCM / Unity Version Control workspace (the folder that contains .plastic). |
| `UVCS_ALLOWED_REPOS` | no | no | repository@server:port identities the workspace must match, separated by ';' (the guarded profile). |
| `UVCS_ALLOWED_WORKSPACES` | no | no | Workspace paths the server may use, separated by ';'. Set it to UVCS_WORKSPACE to pin the workspace. |
| `UVCS_CM_PATH` | no | no | Absolute path of the cm executable when it is not on PATH (GUI clients on macOS often need it). |
| `UVCS_MCP_MODE` | no | no |  |
| `UVCS_MCP_MODE` | no | no | readonly (default) for inspection only; standard enables prepare/confirm write tools. |
| `UVCS_WORKSPACE` | no | no |  |

## Tools (23)

- `uvcs_doctor`
- `uvcs_policy_status`
- `uvcs_setup_status`
- `uvcs_workspace_status`
- `uvcs_pending_changes`
- `uvcs_branch_info`
- `uvcs_locks`
- `uvcs_unity_meta_diagnostics`
- `uvcs_style_rules`
- `uvcs_style_setup_check`
- `uvcs_name_preview`
- `uvcs_release_plan`
- `uvcs_diff_file`
- `uvcs_changeset_diff`
- `uvcs_revision_diff`
- `uvcs_file_history`
- `uvcs_annotate`
- `uvcs_branch_list`
- `uvcs_label_list`
- `uvcs_merge_preview`
- `uvcs_cleanup_candidates`
- `uvcs_branch_safety_report`
- `uvcs_changeset_analytics`

## FAQ

### Does the UVCS MCP server need the Plastic SCM cm CLI installed?

Yes. It works through the local cm CLI (10.0.16.6656+ including 11.x) and requires a logged-in cm client with access to the workspace server.

### Is the Unity Version Control MCP server read-only by default?

Yes, the default mode is readonly, and an unrecognized UVCS_MCP_MODE also falls back to readonly. Write tools require UVCS_MCP_MODE=standard.

### Can this server control Unity scenes or Play Mode?

No. It is not a Unity Editor automation server and does not touch scenes, GameObjects, Play Mode, builds, or runtime objects; it only covers source-control workflows.

### How do write operations work in this MCP server?

Every write uses a *_prepare tool followed by the matching *_confirm tool, and tools carry MCP annotations so clients can auto-approve reads and require approval for writes.

### Can one server handle multiple workspaces?

Yes, a fleet manifest can configure one MCP server for up to 50 named workspaces, and each tool call then needs an explicit workspace selector.
