npm argonctlstdioMITupdated 2mo ago
Branch, time-travel, merge and undo your MongoDB. Any driver, real mongod, versioned history underneath. Built for AI agents.
¿Qué puedes hacer con argon?
Argon — Git for MongoDB
Branch, time-travel, merge and undo your MongoDB. Any driver, real mongod, versioned history underneath. Built for AI agents.
Three ideas, thirty seconds:
- A branch is a pointer, not a copy — created in milliseconds at any data size.
checkoutturns a branch into a real MongoDB database — pymongo, mongoose, mongosh, indexes, aggregation, transactions: all real, and every write becomes versioned history.- Nothing is ever lost — diff it, merge it, undo it, rewind it, or pin it forever.
Install
brew install argon-lab/tap/argonctl # macOS
npm install -g argonctl # cross-platform
# MongoDB must run as a replica set (one-node is fine):
docker run -d --name argon-mongo -p 27017:27017 mongo:7 --replSet rs0
docker exec argon-mongo mongosh --quiet --eval 'rs.initiate()'
The flow
main ──branch──▶ experiment ──checkout──▶ mongodb://… ← any driver
│
┌── argon diff ──────────┤ every write captured
▼ ▼
merge (a data PR) or undo / discard / rewind
# 0 · Bring your data in ("git clone") — or: argon projects create myapp
argon import database --uri mongodb://localhost:27017 --database myapp --project myapp
# 1 · Branch — instant, no copy
argon branches create experiment -p myapp
# 2 · Get a real database for it, capture writes
argon checkout -p myapp -b experiment # prints a connection string
argon watch -p myapp -b experiment # keep running while you write
# 3 · Review and merge back — a data pull request
argon diff -p myapp -b experiment
argon merge preview -p myapp -b experiment
argon merge apply <plan-id>
# …or rewind instead of merging
argon 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)
and opens your browser.
What you get
| Command | In one line | |
|---|---|---|
| Branching | argon branches create |
a metadata write — instant, zero copy |
| Real databases | argon checkout / argon proxy |
any driver, real mongod; proxy serves stable mongodb://host/<project>~<branch> URIs |
| Write capture | argon watch |
change-stream → versioned history, per-actor attribution |
| Time travel | argon time-travel query |
any historical state, by LSN or timestamp |
| Undo | argon undo --actor <a> |
revert a range or one writer's changes; append-only, conflict-aware |
| Restore | argon restore preview/reset/branch |
rewind a branch or fork history; recorded, never destructive |
| Data PRs | argon merge preview/apply |
three-way merges as reviewable plans; conflicts never silent |
| Sandboxes | argon sandbox create --ttl 1h |
fork + checkout + TTL in one step — disposable agent workspaces |
| Dataset pins | argon pin create / pin sandbox |
immutable named states that survive GC and resets — reproducible evals |
| Web console | argon console |
local UI + REST API in one command |
Storage stays bounded: snapshots + retention-window GC keep state plus a window of history, not every write forever. Details and the consistency model, stated honestly: ARCHITECTURE.md.
For AI agents
claude mcp add argon -- argon mcp # 13 tools: sandbox, diff, merge, undo, pins
pip install argon-agents # LangGraph checkpointer + Mem0, over REST
saver = ArgonCheckpointSaver.from_sandbox(argon, "myapp") # checkpoint on a disposable branch
saver.merge() # adopt the run — or .discard()
argon.create_pin("myapp", "eval-v1") # pin the dataset once
run = argon.sandbox_from_pin("myapp", "eval-v1") # identical state, every eval run
The full agent workflow: docs/AGENTS.md.
Documentation
| Quick start | install → first merge, step by step |
| CLI reference | every command |
| Agents | sandboxes, pins, MCP, REST API, argon-agents, proxy |
| Architecture | how it works and what it guarantees |
| Operations | deployment, chunk stores (S3/FS), GC, v1→v2 migration |
| Performance | every number lives in the reproducible benchmarks — none here, by policy |
Community
Issues · Discussions · Contributing · argonlabs.tech
Give your MongoDB a time machine. Branch without fear. ⭐
Instalación
Añade argon a tu cliente. Elige el que uses.
claude mcp add argonctl -- npx -y argonctlcodex mcp add argonctl -- npx -y argonctlamp mcp add argonctl -- npx -y argonctl{
"mcpServers": {
"argonctl": {
"command": "npx",
"args": [
"-y",
"argonctl"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"argonctl": {
"command": "npx",
"args": [
"-y",
"argonctl"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"argonctl","command":"npx","args":["-y","argonctl"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"argonctl": {
"command": "npx",
"args": [
"-y",
"argonctl"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"argonctl": {
"command": "npx",
"args": [
"-y",
"argonctl"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"argonctl": {
"command": "npx",
"args": [
"-y",
"argonctl"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"argonctl": {
"type": "local",
"command": "npx",
"args": [
"-y",
"argonctl"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"argonctl": {
"command": {
"path": "npx",
"args": [
"-y",
"argonctl"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y argonctlRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Puntuación
39 / 100
Incompleta
- Documentación16/25
- Mantenimiento16/25
- Confianza16/20
- Capacidad0/15
- Instalación12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 53 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Historial de versiones
| Versiones | Publicada |
|---|---|
| 2.0.1Última | 9 jul 2026 |