Argon

io.github.argon-labPublished by GitHub account argon-labv2.1.4Updated Nov 3, 2026

Versioned MongoDB sandboxes for AI agents: branch, time-travel, merge, and undo over MCP.

VerifiedSTDIODesktop onlyDatabasesDeveloper Tools

Overview

Argon's local MCP server; no sign-in required; STDIO.

No AI overview yet: these facts come from the registry entry and the server itself.

Installation

In SourceWeft

  1. Open Argon in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Argon — Git for MongoDB

[Argon — Git for MongoDB, built for AI agents: branch off prod, run an agent, undo the session]

[Build Status] [Go Report] [License: MIT] [Homebrew] [npm] [PyPI]

Branch, time-travel, merge and undo your MongoDB. Any driver, real mongod, versioned history underneath. Built for AI agents.

Three ideas, thirty seconds:

  1. A branch is a pointer, not a copy — created with a metadata write. Checkout separately materializes the data.
  2. checkout turns a branch into a real MongoDB database — pymongo, mongoose, mongosh, indexes, aggregation, transactions: all real, and supported document writes become history while capture is healthy.
  3. Review and recover changes — diff, merge, undo and pin states within the configured retention and capture guarantees.

Install

For npm, use Node.js 24 LTS with npm 11.16 or newer. The package-scoped approval allows the installer to download Argon's binary on npm 12.

bash
brew install argon-lab/tap/argonctl      # macOSnpm install -g argonctl --allow-scripts=argonctl # cross-platform
# MongoDB must run as a replica set (one-node is fine):docker run -d --name argon-mongo -p 127.0.0.1:27017:27017 mongo:7 --replSet rs0docker exec argon-mongo mongosh --quiet --eval 'rs.initiate({_id:"rs0",members:[{_id:0,host:"localhost:27017"}]})'argon doctor

Use a current supported MongoDB patch release in production. Source builds use Go 1.26.10 or newer, as declared in go.mod. Use a patched toolchain: Go 1.27.0–1.27.2 also contain October 2026 standard-library vulnerabilities.

The flow

main ──branch──▶ experiment ──checkout──▶ mongodb://…  ← any driver                                              │                     ┌── argon diff ──────────┤  document history                     ▼                        ▼        merge (a data PR)          or   undo / discard / rewind
bash
# 0 · Stop source writers and DDL for the import — or: argon projects create myappargon import database --uri mongodb://localhost:27017 --database myapp --project myapp --source-quiesced
# 1 · Branch — instant, no copyargon branches create experiment -p myapp
# 2 · In terminal A, capture writes with a branch actor labelargon checkout -p myapp -b experiment      # prints a connection stringargon watch    -p myapp -b experiment --actor agent:experiment
# In terminal B, write through the printed URI. Then:
# 3 · Review and merge back — a data pull requestargon diff          -p myapp -b experimentargon merge preview -p myapp -b experimentargon merge apply <plan-id>
# …or rewind instead of mergingargon restore reset -p myapp -b main --time 2026-07-07T09:00:00Z --backup pre-incident

Prefer clicking? argon console serves a local web console (UI + REST API), supervises capture, reaps expired sandboxes every minute, and opens your browser. The console's MIT-licensed source is in web/; see the rebuild instructions. For a complete managed workflow, run the two-agent pinned dataset example.

What you get

CommandIn one line
Branchingargon branches createa metadata write — instant, zero copy
Real databasesargon checkout / argon proxyany driver, real mongod; proxy serves stable mongodb://host/<project>~<branch> URIs
Write captureargon watchexact change-stream images → history, one actor label per branch
Time travelargon time-travel queryquery captured document states at retained LSNs; restore/pin also accept timestamps
Undoargon undo --actor <a>revert a range or actor label; append-only, conflict-aware
Restoreargon restore preview/reset/branchrewind a released branch or fork retained history
Data PRsargon merge preview/applythree-way merges as reviewable plans; conflicts never silent
Sandboxesargon sandbox create --ttl 1hfork + checkout + TTL in one step — disposable agent workspaces
Dataset pinsargon pin create / pin sandboxnamed captured states protected from GC and resets while the pin exists
Web consoleargon consolelocal UI + REST API in one command

Data history covers document inserts, updates, replacements and deletes. Collection drop/rename produces degraded capture; indexes and collection options are not versioned. Native writes are asynchronous; control operations drain capture. Stop writers before release. Existing pins protect their referenced states, while GC can expire audit and undo history. See operations for recovery and credentials.

Storage retention uses snapshots + retention-window GC to keep state plus a window of history, not every write forever. Details and the consistency model, stated honestly: ARCHITECTURE.md.

For AI agents

bash
claude mcp add argon -- argon mcp        # 13 tools: sandbox, diff, merge, undo, pins# Install the published Python SDK and LangGraph adapter.python3 -m pip install 'argon-agents[langgraph]==0.2.0'

Start argon console --no-browser in another terminal, then:

python
from argon_agents import ArgonClient, ArgonCheckpointSaver
argon = ArgonClient("http://127.0.0.1:1818")argon.get_or_create_project("myapp")saver = ArgonCheckpointSaver.from_sandbox(argon, "myapp")# Compile and run your LangGraph graph with checkpointer=saver, then review:plan = argon.merge_preview("myapp", saver.sandbox.branch)print(plan)# After reviewing this exact plan, apply it explicitly:# argon.merge_apply(plan["id"])# Or reject the run: saver.discard()
argon.create_pin("myapp", "eval-v1")                        # pin the dataset oncerun = argon.sandbox_from_pin("myapp", "eval-v1")            # identical state, every eval run

saver.merge() is a convenience call that previews and applies immediately; use the separate calls above when approval is required. Pins protect captured document state while they exist; keep independent backups.

The full agent workflow: docs/AGENTS.md.

Documentation

Quick startinstall → first merge, step by step
CLI referenceevery command
Agentssandboxes, pins, MCP, REST API, argon-agents, proxy
Architecturehow it works and what it guarantees
Operationsdeployment, chunk stores (S3/FS), GC, v1→v2 migration
Performanceevery number lives in the reproducible benchmarks — none here, by policy

Community

Issues · Discussions · Contributing · argonlabs.tech · Blog


Give your MongoDB a time machine. Branch without fear. ⭐

Source: README.md at commit 89f8065

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

4
  1. v2.1.4LatestNov 3, 2026
  2. v2.1.3Oct 21, 2026
  3. v2.1.2Sep 24, 2026
  4. v2.1.1Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts