Skip to content

UVCS MCP 1.4.0

Choose a tag to compare

@Feargin Feargin released this 26 Oct 09:54
· 2 commits to main since this release

UVCS MCP 1.4.0

UVCS MCP 1.4.0 lets agents understand repository history, review branches, preview merges, check in only the files of a task, and lock Unity assets before editing them. It ships an agent skill that teaches Claude Code, Codex, Cursor, OpenCode, and other SKILL.md agents to use these tools. It also fixes three issues that affect every earlier release, so upgrading is recommended.

Fixes

  • uvcs_diff_file no longer starts the GUI diff tool. In 1.3.0 and earlier it ran cm diff <path>, which opened a diff window on the user's desktop and hung until the read timeout. It now returns a unified diff of the loaded revision against the file on disk. The result has a diff field instead of the raw cm output.
  • uvcs_merge no longer leaves a conflicting merge in progress. Prepare runs the merge preview and refuses merges with conflicts (MERGE_HAS_CONFLICTS); confirm checks again.
  • Checkin tokens bind the size and modification time of the files. Editing an already changed file after prepare used to go into the checkin unreviewed; now the confirm is refused with WORKSPACE_CHANGED_SINCE_PREPARE.
  • uvcs_changeset_analytics sends dates as ISO yyyy-MM-dd; the previous form was rejected on some locales.

History, review, and merge preview

All read-only, in every safety profile:

  • uvcs_changeset_diff: what changed in a changeset, label, shelve, or branch, or between two changesets or labels, with Unity .meta pairing warnings.
  • uvcs_revision_diff: the line diff of one file for a changeset, between revisions, or against the workspace copy.
  • uvcs_file_history and uvcs_annotate: 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: files a merge would bring and items that would conflict, into the workspace or into any branch on the server.

Checkin by path and exclusive checkout

  • uvcs_checkin_prepare accepts paths. Selected Unity assets bring their .meta files along, assets whose .meta is still private are refused (UNITY_META_NOT_ADDED), and new parent folders a change needs are listed as dependencies.
  • uvcs_checkout checks files out and takes the exclusive lock when the server's lock.conf covers them. Files locked by someone else are refused.
  • uvcs_release_checkout releases checkouts of unchanged files; modified files keep their checkout and edits.
  • uvcs_locks accepts paths and a scope (all, user, workspace).

Agent skill

  • uvcs-mcp skill install copies the uvcs-version-control skill into Claude Code (.claude/skills), the shared .agents/skills folder (Codex, Cursor, OpenCode, Gemini CLI), and other agent folders, for the user or a project.
  • npm run pack:skill validates the skill and builds a marketplace ZIP.

Safety

  • Item paths containing * or ? are rejected, because cm expands wildcards itself.
  • zod 4.6.7 and transitive dependency updates; npm audit reports zero known vulnerabilities.

Quality gate

  • 169 automated tests (one POSIX-only test skipped on Windows), ESLint, syntax validation, and mutation checks of the key safety guards.
  • Fake single-workspace and fleet MCP smoke flows, including checkout, release checkout, path-scoped checkin, and the history tools.
  • npm run smoke:pack installs the packed tarball, starts the installed server, and checks that the skill is shipped.
  • Live validation with cm 10.0.16.6656 on a self-hosted server: the Plastic SCM smoke and a 37-check write scenario on a disposable repository (path-scoped checkins, .meta pairing, moves into new folders, deletes, checkout and release, a real merge conflict), and the read-only history tools on a production repository.
  • Not covered live: exclusive locking through a lock.conf rule, and the new commands on cm 11.x clients.

Upgrade

npx -y @proanima/uvcs-mcp@1.4.0 init --client=claude-code --workspace="D:/Repositories/YourWorkspace" --safety=guarded
npx -y @proanima/uvcs-mcp@1.4.0 doctor --workspace="D:/Repositories/YourWorkspace"
npx -y @proanima/uvcs-mcp@1.4.0 skill install

Restart the MCP client after upgrading. Clients that parsed the stdout of uvcs_diff_file should read diff instead. See the changelog, the agent skill guide, and the security model.