Git for MongoDB,
built for AI agents
Give each agent its own database branch. Test changes, revisit earlier states, and review what to merge.
Open source under MIT. Self-hosted, on your own MongoDB.
orders / order-1
Illustrationmain
- price
- 49
Unchanged
planner
- price
- 49
Same baseline
Start from the same data.
Give the planner agent its own branch of orders. Both start with the same document.
Illustrated workflow. Run the real engine locally. How it works
npm install -g argonctl@2.2.0 --allow-scripts=argonctlInstalls the argon CLI with npm 11.16+ and a supported Node.js version. Allows only argonctl's binary installer.
Published release: v2.2.0
One CLI named argon. It runs the engine, the local console, the MCP server and the wire proxy.
What you can do with a branch
Each of these is a command you can run today, against your own MongoDB. The examples use a project named shop.
Give every run its own database
A sandbox is a branch checked out as a real MongoDB database, with a time limit. Any driver connects to it, and main stays as it was.
$ argon sandbox create -p shop --name agent-run --ttl 1hReview changes as a diff
See which documents a branch would add, change or remove before anything reaches main.
$ argon diff -p shop -b agent-runMerge the plan you reviewed
A merge preview is saved as a plan. Nothing from the branch reaches the target until you apply that plan by its ID.
$ argon merge preview -p shop -b agent-run$ argon merge apply 6af45958c0be80bef07068a3Read or restore an earlier state
Query a branch as it was at any retained log position, or restore that state into a new branch.
$ argon time-travel query -p shop -b main --lsn 3$ argon restore branch -p shop -b main --lsn 3 --as recoveredUndo one agent's writes
Revert a range of captured changes, filtered by the actor label of the run that made them. A dry run shows the result first.
$ argon undo -p shop -b agent-run --from-lsn 6 --actor agent:planner --dry-runStart every eval from the same data
A pin names a fixed state of a branch. Each eval run forks a fresh sandbox from it, so every run starts from identical data.
$ argon pin create -p shop --name eval-v1$ argon pin sandbox -p shop --name eval-v1 --ttl 1hHistory features depend on capture and on how much history you retain. See each feature with its output and limits.
Use the tools you already have
An agent branch checks out as a real MongoDB database. Keep your usual driver; use Argon to manage its history and review its work.
- Set up MCP
Connect an agent
Give Claude Code or Cursor database tools through MCP.
- Use the Python SDK
Build in Python
Run the review workflow with the SDK, then add it to your agent.
- Call the REST API
Use your own stack
Create sandboxes and inspect changes from any HTTP client.
Try the idea.
Then use your data.
In the walkthrough
Step through a sample order as it is branched, changed, reviewed and merged. It runs in your browser, with nothing to install.
Explore walkthroughIn your deployment
Connect your own MongoDB replica set. Agents write to separate branch databases; applying a reviewed merge changes the target.
Start locallyTime travel depends on retained history and complete capture. Physical checkout takes time and storage that depend on the dataset. Read the operating boundaries before you connect a real workload.
Verify it yourself
The two-agent example checks the starting data, a real conflict, the accepted change, and the restored result. Run it locally without an LLM key.
Historical metadata measurements
0.86 ms branch p50 and 479 B per metadata branch, measured with engine 8bf0f1e on a 50k-entry project. These historical numbers exclude physical checkout, sandbox readiness, and MongoDB storage. The benchmark report includes end-to-end measurements and their scope.
Review your first change
Start with a sample order. See what the agent changed.