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

Illustration
mainagent

main

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.

Branch pointprice: 49

Illustrated workflow. Run the real engine locally. How it works

Install the CLI with npm
npm install -g argonctl@2.2.0 --allow-scripts=argonctl

Installs 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.

Read the release notes

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 1h

Review changes as a diff

See which documents a branch would add, change or remove before anything reaches main.

$ argon diff -p shop -b agent-run

Merge 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 6af45958c0be80bef07068a3

Read 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 recovered

Undo 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-run

Start 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 1h

History 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.

  • Connect an agent

    Give Claude Code or Cursor database tools through MCP.

    Set up MCP
  • Build in Python

    Run the review workflow with the SDK, then add it to your agent.

    Use the Python SDK
  • Use your own stack

    Create sandboxes and inspect changes from any HTTP client.

    Call the REST API

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 walkthrough

In your deployment

Connect your own MongoDB replica set. Agents write to separate branch databases; applying a reviewed merge changes the target.

Start locally

Time 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.

Explore walkthrough