agentvc
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@agentvcSave a checkpoint before I refactor the auth module"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Why agentvc
Git was built for humans committing at human pace. AI agents mutate your workspace at machine pace: dozens of files per minute, wrong turns, half-finished refactors, deletions you never asked for. By the time you notice, git stash isn't going to save you.
agentvc gives every agent session a time machine. It snapshots the entire workspace in milliseconds, forks parallel attempts onto branches, and restores any previous state instantly โ with zero data loss by design.
Related MCP server: checkpointer
Features
โฑ Instant checkpoints | Snapshot every file with one command or one tool call. Content-addressed, deduplicated, milliseconds. |
โฉ Lossless rollback | Every restore auto-saves your current state first. Rolling back is itself reversible. |
โ Parallel attempts | Branch the session, try approach B, compare, keep the winner. |
๐ค MCP-native | 8 tools so Claude Code, Cursor, and Codex checkpoint and recover themselves. |
โก Auto-save |
|
๐ Real diffs | See exactly what the agent touched between any two points in time โ down to the line with |
๐ Local & private | Everything lives in |
Why not just git?
git | agentvc | |
Designed for | human commits | machine-speed agent steps |
Staging dance |
| one command captures everything |
Rollback safety |
| auto safety-checkpoint before every restore |
"Try another approach" | heavyweight branching, easy to tangle | one tool call โ agents do it themselves |
Agent interface | none | first-class MCP server + TypeScript API |
Per-step metadata | manual notes | structured JSON ( |
agentvc doesn't replace git for shipping code. It sits underneath the agent loop: cheap, disposable, rewindable history that never pollutes your git log.
Requirements
Node.js 20 or newer. No other runtime dependencies.
Install
npm install -g agentvcOr run it without installing:
npx agentvc initQuickstart
mkdir demo && cd demo
avc init # initialise .avc/
echo "v1" > app.txt
avc save -m "known good state" # checkpoint everything
echo "v2" > app.txt # ...agent goes wrong...
avc status # see what changed
avc diff -p # see exactly which lines changed
avc rollback HEAD # instant undo โ nothing lost
avc branch plan-b && avc switch plan-b # fork a parallel attempt
avc save -m "trying redis instead"
avc timeline # every attempt, side by sideGive your agent a time machine
Register the bundled MCP server once and your agent can checkpoint and recover on its own.
Claude Code
claude mcp add agentvc -- avc mcpCursor ยท Codex ยท any MCP client โ add to .mcp.json (or see examples/mcp-config.json):
{
"mcpServers": {
"agentvc": { "command": "avc", "args": ["mcp"] }
}
}Set AVC_ROOT=/path/to/project if the server shouldn't use its working directory.
Checkpoint automatically
You don't have to rely on the agent remembering. Pick one (or both):
avc hook claude --install # Claude Code: checkpoint after every agent turn
avc hook claude --install --on-edit # ...and after every Edit/Write tool call
avc watch # any agent: checkpoint whenever files stop changing for 2savc hook claude merges a Stop hook running avc save --auto into .claude/settings.json
(re-running it is a no-op). avc save --auto only writes a checkpoint when something actually
changed, so history never fills with duplicates; avc log --no-auto hides automatic entries.
Other agents can call the same command from their own hook or post-turn script.
Teach it when to checkpoint
Even with hooks on, a short note in your AGENTS.md / CLAUDE.md makes checkpoints meaningful
rather than merely frequent:
## Session checkpoints (agentvc)
- Before any risky operation (refactors, deletions, dependency upgrades,
schema changes), call `avc_save` with a short message.
- After reaching a working state, call `avc_save` again.
- If an approach fails twice, call `avc_rollback` to the last good checkpoint
and try a different plan โ optionally on a new branch via `avc_branch`.
- Never leave more than ~15 minutes of work uncheckpointed.MCP tools
Tool | What the agent uses it for |
| Snapshot the workspace before risky work or after success ( |
| Check what's changed since the last checkpoint |
| Review recent checkpoints on the current branch |
| Fork a parallel attempt without losing the current one |
| Move between attempts (auto-saves unsaved work first) |
| Restore all files to a known-good checkpoint |
| Compare any two points in time, optionally with line-level patches ( |
| See every attempt across all branches |
CLI reference
Command | Description |
| Initialise a repository in the current directory |
| Checkpoint the whole workspace |
| Checkpoint only if something changed, tagged as automatic (for hooks) |
| Keep running; auto-checkpoint after files stop changing |
| Print or install Claude Code hooks that run |
| Show unsaved changes since the last checkpoint |
| List checkpoints on the current branch |
| Create or list branches |
| Switch branches, restoring files |
| Restore files to a checkpoint (default |
| Compare refs, or a ref against the working tree |
| Same, as a unified diff with |
| Every checkpoint across every branch |
| Start the MCP stdio server |
Refs accept HEAD, a branch name, a full checkpoint id, or any unique id prefix.
avc diff -p prints standard unified diffs (--- a/path, +++ b/path, @@ hunks), so the
output pipes straight into patch -p1 or git apply. Binary files are reported as
Binary files โฆ differ; files over 2 MB / 50,000 lines are listed without contents, and
rewrites too large for an exact line diff are shown as a whole-file replacement.
Use it as a library
import { AgentVCS, formatPatch } from "agentvc";
const avc = new AgentVCS(projectRoot);
await avc.ensureInit();
const cp = await avc.save({
message: "before db migration",
meta: { task: "upgrade-postgres", attempt: 2 },
});
const { clean, modified } = await avc.status();
if (!clean) console.log("agent touched:", modified);
await avc.branch("plan-b");
await avc.checkout("plan-b");
await avc.rollback(cp.id); // instant, lossless
for (const p of await avc.diffPatch(cp.id, "work")) {
console.log(formatPatch(p)); // unified diff per file, with hunks available on p.hunks
}Fully typed. AgentVCS, watchWorkspace, diffTrees, computePatch, formatPatch, and all result types are exported.
How it works
Content-addressed storage, git's good idea without git's ceremony:
.avc/
โโโ objects/ab/c3efโฆ blobs + trees, deduplicated by SHA-256
โโโ checkpoints/ parents, tree, message, structured meta
โโโ refs/heads/main branch tips
โโโ index.json id โ summary, for fast prefix lookupsIdentical file content is stored once, across every checkpoint and branch.
Unchanged files are never rewritten on restore.
Your existing
.gitignoreis respected;.git/andnode_modules/are skipped.Delete
.avc/and your workspace is untouched.
The safety guarantee. Every rollback and switch snapshots your unsaved changes into an automatic safety checkpoint before touching a single file. Rolling back is reversible. There is no code path in agentvc that can lose your work.
Roadmap
Line-level diffs in the terminal (
avc diff -p)Branch merging (fast-forward today, 3-way next)
Auto-save hooks: on file watcher, or after each agent turn
Multi-agent coordination โ two agents, one repo, separate branches
Named milestones and session tags
Python SDK with MCP parity
Optional encrypted remote backup of the checkpoint store
Ideas and PRs welcome โ see CONTRIBUTING.md.
Contributing
git clone https://github.com/nintechio/agentvc.git
cd agentvc && npm install
npm run typecheck && npm test && npm run buildBug reports, feature requests, and pull requests are all welcome. Please read CONTRIBUTING.md and our Code of Conduct. Security issues: see SECURITY.md.
License
MIT ยฉ Nintech Ltd
Built and maintained by Nintech
The engineers who build it also run it.
Applied AI ยท resilient software engineering ยท managed hosting โ UK & EU
nintech.io ยท GitHub ยท X ยท YouTube ยท admin@nintech.io
This server cannot be deployed
Maintenance
Related MCP Connectors
Your versioned memory across every AI tool โ context maps, personal memory, and tasks over MCP.
Hosted MCP memory for coding agents: persistent across sessions, editable markdown, team sharing.
System-of-record notebook for AI coding agents: pages, datastores, tasks, skills over MCP.
Cross-tool persistent memory and context for AI assistants over MCP.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceGives AI agents memory, undo, and self-awareness by tracking file changes and enabling checkpoints and rollbacks.48 npm2MIT- FlicenseBqualityCmaintenanceMCP server for file checkpointing and undo, enabling AI agents to safely read, write, and edit files with full snapshot history and revert capabilities.10-
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents and hosts to enforce deterministic repository boundaries via MCP, providing structured reads, supervised edits, snapshots, audits, and recovery with machine-readable evidence.MIT
- FlicenseNot gradedqualityCmaintenanceEnables git-style version control for agent conversation and task traces, allowing checkpoints, checkout/rollback, and markdown export via MCP tools.-