UVCS MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UVCS_CM_PATH | No | Absolute path to the cm CLI, written by init when it is not found on PATH or in the standard install folders (matters on macOS for GUI clients). | |
| UVCS_MCP_MODE | No | Safety profile / mode. Default mode is readonly; an unrecognized UVCS_MCP_MODE also means readonly. Write tools require UVCS_MCP_MODE=standard. Use readonly when inspection is sufficient; use standard only for trusted or disposable workspaces. | readonly |
| UVCS_AUDIT_LOG | No | Optional path to a JSONL audit log file, e.g. /path/to/uvcs-mcp-audit.jsonl. | |
| UVCS_WORKSPACE | Yes | Path to the existing Plastic SCM / Unity Version Control workspace (e.g. "D:/Repositories/YourWorkspace"). The server still needs a local cm CLI and a workspace path. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| uvcs_doctorB | Check cm, workspace, and UVCS MCP configuration. |
| uvcs_policy_statusA | Show the effective workspace identity, safety profile, allowlists, write limits, and mass-work guidance. |
| uvcs_setup_statusB | Show safety policy and branch/checkin/release naming setup in one place. |
| uvcs_workspace_statusB | Return concise workspace status. |
| uvcs_pending_changesB | Return full pending changes from cm status. |
| uvcs_branch_infoB | Return current branch information. |
| uvcs_locksA | List exclusive locks (cm lock list). Without paths, the list covers every repository on the server; pass paths to check specific files in this workspace. |
| uvcs_unity_meta_diagnosticsA | Detect common Unity asset/.meta mismatches in the workspace. |
| uvcs_style_rulesA | Return workspace naming and release style rules. |
| uvcs_style_setup_checkA | Check whether workspace naming/checkin/release style rules exist. If missing, guide the model to ask the user to create them before branch work. |
| uvcs_style_init_prepareB | Create .uvcs-mcp/style.json with branch naming, checkin message, and release conventions. Requires prepare/confirm. Returns a short-lived confirmation token. |
| uvcs_style_init_confirmA | Create .uvcs-mcp/style.json with branch naming, checkin message, and release conventions. Requires prepare/confirm. Confirms and executes a prepared operation. Call only after the user has reviewed the prepared payload and explicitly approved this exact operation. |
| uvcs_name_previewA | Preview a branch name or checkin message from workspace style rules. |
| uvcs_release_planB | Plan a major, minor, or patch release branch, label, and comments from workspace style rules. Read-only. |
| uvcs_diff_fileA | Return a unified line diff of one pending file: the revision loaded in the workspace against the file on disk. Output longer than 200000 characters is truncated. Read-only. |
| uvcs_changeset_diffA | List the items added, changed, moved, or deleted in a changeset, label, shelve, or branch, or between two changesets/labels, with Unity .meta pairing warnings. Read-only. |
| uvcs_revision_diffA | Return a unified line diff of one text file between two revisions, or between a revision and the workspace copy. Pass changeset to see what that changeset changed in the file. Output longer than 200000 characters is truncated. Read-only. |
| uvcs_file_historyA | List the revisions of a file or directory, newest first, with changeset, branch, date, owner, and comment. Dates use the cm client locale format (cm history has no date format option). Read-only. |
| uvcs_annotateA | Show who last changed each line of a text file and in which changeset (blame). Binary files cannot be annotated. Read-only. |
| uvcs_branch_listA | List branches, newest first, with owner, parent branch, head changeset, and comment. Read-only. |
| uvcs_label_listB | List labels, newest first, with labeled changeset, branch, owner, and comment. Read-only. |
| uvcs_merge_previewA | Preview a merge without changing anything: files that would be taken from the source, items added/moved/deleted, and conflicts. Without destination the target is the workspace branch; with destination the preview is computed on the server for that branch. Read-only. |
| uvcs_update_workspace_prepareA | Update the workspace to the latest changeset of its branch. Local edits to files changed upstream can produce merge conflicts. Requires prepare/confirm. Returns a short-lived confirmation token. |
| uvcs_update_workspace_confirmA | Update the workspace to the latest changeset of its branch. Local edits to files changed upstream can produce merge conflicts. Requires prepare/confirm. Confirms and executes a prepared operation. Call only after the user has reviewed the prepared payload and explicitly approved this exact operation. |
| uvcs_changeset_analyticsC | Analyze changesets over an optional date, branch, owner, or comment filter. Read-only. |
| uvcs_cleanup_candidatesA | Read-only helper that lists temporary/agent branch cleanup candidates for manual review. It never deletes branches or changesets. |
| uvcs_branch_safety_reportA | Read-only helper that reports current branch, pending changes, and recent changesets before risky branch, merge, or cleanup work. |
| uvcs_add_prepareA | Add a path to Plastic SCM / UVCS version control recursively. For Unity assets also add the matching .meta file. Requires prepare/confirm. Returns a short-lived confirmation token. |
| uvcs_add_confirmA | Add a path to Plastic SCM / UVCS version control recursively. For Unity assets also add the matching .meta file. Requires prepare/confirm. Confirms and executes a prepared operation. Call only after the user has reviewed the prepared payload and explicitly approved this exact operation. |
| uvcs_undo_prepareB | Irreversibly undo pending changes for one path inside the selected workspace. Workspace-root undo is forbidden. Requires prepare/confirm. Returns a short-lived confirmation token. |
| uvcs_undo_confirmA | Irreversibly undo pending changes for one path inside the selected workspace. Workspace-root undo is forbidden. Requires prepare/confirm. Confirms and executes a prepared operation. Call only after the user has reviewed the prepared payload and explicitly approved this exact operation. |
| uvcs_branch_create_prepareA | Create a Plastic SCM / UVCS branch from a changeset or label. Requires prepare/confirm. Returns a short-lived confirmation token. |
| uvcs_branch_create_confirmA | Create a Plastic SCM / UVCS branch from a changeset or label. Requires prepare/confirm. Confirms and executes a prepared operation. Call only after the user has reviewed the prepared payload and explicitly approved this exact operation. |
| uvcs_label_create_prepareB | Create a Plastic SCM / UVCS label on a changeset. Requires prepare/confirm. Returns a short-lived confirmation token. |
| uvcs_label_create_confirmA | Create a Plastic SCM / UVCS label on a changeset. Requires prepare/confirm. Confirms and executes a prepared operation. Call only after the user has reviewed the prepared payload and explicitly approved this exact operation. |
| uvcs_switch_workspace_prepareA | Switch the workspace to a branch, changeset, or label. Refused while tracked pending changes exist. Requires prepare/confirm. Returns a short-lived confirmation token. |
| uvcs_switch_workspace_confirmA | Switch the workspace to a branch, changeset, or label. Refused while tracked pending changes exist. Requires prepare/confirm. Confirms and executes a prepared operation. Call only after the user has reviewed the prepared payload and explicitly approved this exact operation. |
| uvcs_merge_prepareA | Merge a branch/changeset/label into the current workspace branch. Refused while tracked pending changes exist or when the merge has conflicts (resolve those in the UVCS client); the merge result stays pending until a checkin. Requires prepare/confirm. Returns a short-lived confirmation token. |
| uvcs_merge_confirmA | Merge a branch/changeset/label into the current workspace branch. Refused while tracked pending changes exist or when the merge has conflicts (resolve those in the UVCS client); the merge result stays pending until a checkin. Requires prepare/confirm. Confirms and executes a prepared operation. Call only after the user has reviewed the prepared payload and explicitly approved this exact operation. |
| uvcs_checkout_prepareA | Check out files before editing them. When the server has a lock rule for them (lock.conf), this takes the exclusive lock so nobody else can check them out or check in changes to them, which is how teams protect scenes, prefabs, and other binary assets. Files locked by someone else are refused. Requires prepare/confirm. Returns a short-lived confirmation token. |
| uvcs_checkout_confirmA | Check out files before editing them. When the server has a lock rule for them (lock.conf), this takes the exclusive lock so nobody else can check them out or check in changes to them, which is how teams protect scenes, prefabs, and other binary assets. Files locked by someone else are refused. Requires prepare/confirm. Confirms and executes a prepared operation. Call only after the user has reviewed the prepared payload and explicitly approved this exact operation. |
| uvcs_release_checkout_prepareA | Release checkouts (and their locks) of files whose content did not change. Modified files keep their checkout and their edits; check those in or undo them. Requires prepare/confirm. Returns a short-lived confirmation token. |
| uvcs_release_checkout_confirmA | Release checkouts (and their locks) of files whose content did not change. Modified files keep their checkout and their edits; check those in or undo them. Requires prepare/confirm. Confirms and executes a prepared operation. Call only after the user has reviewed the prepared payload and explicitly approved this exact operation. |
| uvcs_checkin_prepareA | Prepare a checkin and return a short-lived confirmation token. Without paths it takes ALL tracked pending changes in the workspace; with paths only the changes at or below those paths, plus the Unity .meta partner of every selected asset. Private files are never included, except a new parent folder that a selected item needs (listed in dependencies). Review the returned changes with the user before confirming. |
| uvcs_checkin_confirmA | Run a prepared checkin (all tracked pending changes, or the selected paths). Call only after the user has reviewed the prepared payload and explicitly approved this exact operation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 45 tools
Mutating operations are split into prepare/confirm pairs with descriptions that clarify the workflow, but the large surface creates some overlap among status/diagnostic tools such as doctor, policy_status, setup_status, workspace_status, and branch_info. Read-only previews and diffs are mostly distinct, but several tools require careful reading to choose correctly.
All tools use the uvcs_ prefix and snake_case, with a predictable _prepare/_confirm suffix for mutating operation pairs. A few read-only tools use noun-style names rather than strict verb_noun, but the pattern is still mostly consistent and readable.
45 tools is well above the 25+ threshold for a heavy surface, even accounting for the many prepare/confirm pairs. The set is comprehensive, but the sheer number of tools increases selection cost and makes the server feel over-scoped.
Core version-control workflows are covered: status, pending changes, branch/label creation and listing, checkout, checkin, merge, update, diff, history, annotate, and workspace switching. However, notable lifecycle gaps remain, including branch/label deletion or modification, shelve/unshelve, rollback/revert changeset, and in-client conflict resolution is explicitly out of scope.