argon について
argon は、AI エージェントや開発者向けにバージョン管理された MongoDB サンドボックスを提供し、任意のドライバーから実際の MongoDB データベースに接続できます。ブランチ、ドキュメント履歴、レビュー可能なマージと取り消しで実験や復旧を支援しますが、保持期間と変更キャプチャの制約があります。
主な機能
- 01メタデータ書き込みだけでブランチ作成
- 02任意のドライバーで実際の MongoDB に接続
- 03ドキュメント履歴のキャプチャと時点クエリ
- 04レビュー可能な三者マージと競合を考慮した取り消し
- 05使い捨てサンドボックスと保護されたデータセットピン
- 06REST API 付きローカル Web コンソール
活用シーン
- 01AI エージェントのデータベース実験を隔離
- 02データ変更案を確認してマージ
- 03キャプチャしたドキュメント変更を復元または取り消し
- 04名前付きデータセットの状態をクリーンアップから保護
MCP 対応
argon は `argon mcp` で MCP インターフェースを提供し、サンドボックス、差分、マージ、取り消し、ピン用の 13 ツールを備えます。MCP クライアントはこれらのツールで MongoDB サンドボックスを管理し、変更を確認できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Argon — MongoDB 用 Git
MongoDB をブランチ化し、時間を遡って状態を復元し、マージや取り消しができます。あらゆるドライバーに対応し、実際の mongod を使い、履歴をバージョン管理します。AI エージェント向けに構築されています。
3つの要点を30秒で:
- ブランチはコピーではなくポインターです — メタデータの書き込みで作成されます。チェックアウト時にデータが別途実体化されます。
checkoutでブランチが実際の MongoDB データベースになります — pymongo、 mongoose、mongosh、インデックス、集計、トランザクションをすべて実際に利用でき、キャプチャが正常に動作している間は、対応するドキュメントの書き込みが履歴に記録されます。- 変更を確認して復元できます — 設定された保持期間とキャプチャの保証範囲内で、差分の確認、マージ、取り消し、状態の固定ができます。
インストール
npm を使う場合は、Node.js 24 LTS と npm 11.16 以降を使用してください。パッケージ単位の承認により、npm 12 でインストーラーが Argon のバイナリをダウンロードできます。
brew install argon-lab/tap/argonctl # macOS
npm 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 rs0
docker exec argon-mongo mongosh --quiet --eval 'rs.initiate({_id:"rs0",members:[{_id:0,host:"localhost:27017"}]})'
argon doctor
本番環境では、現在サポートされている MongoDB のパッチリリースを使用してください。ソースからビルドする場合は、go.mod で指定されている Go 1.26.9 以降を使用します。修正済みのツールチェーンを使用してください。Go 1.27.0〜1.27.1 には、2026年10月に判明した標準ライブラリの脆弱性も含まれています。
一連の流れ
main ──branch──▶ experiment ──checkout──▶ mongodb://… ← any driver
│
┌── argon diff ──────────┤ document history
▼ ▼
merge (a data PR) or undo / discard / rewind
# 0 · Stop source writers and DDL for the import — or: argon projects create myapp
argon import database --uri mongodb://localhost:27017 --database myapp --project myapp --source-quiesced
# 1 · Branch — instant, no copy
argon branches create experiment -p myapp
# 2 · In terminal A, capture writes with a branch actor label
argon checkout -p myapp -b experiment # prints a connection string
argon 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 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
クリック操作を使いたい場合は、argon console でローカルのウェブコンソール(UI と REST API)が起動します。キャプチャを監視し、期限切れのサンドボックスを毎分削除して、ブラウザーを開きます。コンソールの MIT ライセンスのソースコードはweb/にあります。再ビルドの手順も参照してください。マネージドワークフローの全体を試すには、2つのエージェントで固定データセットを使うサンプルを実行してください。
得られるもの
| コマンド | 概要 | |
|---|---|---|
| ブランチ作成 | argon branches create | メタデータへの書き込みだけで、即時に完了し、コピーは不要です |
| 実データベース | argon checkout / argon proxy | 任意のドライバーと実際の mongod に対応し、プロキシは安定した mongodb://host/<project>~<branch> URI を提供します |
| 書き込みの記録 | argon watch | 変更ストリームの正確なイメージを履歴に記録し、ブランチごとにアクターラベルを 1 つ付与します |
| タイムトラベル | argon time-travel query | 保持されている LSN における、記録済みドキュメントの状態をクエリできます。復元/ピン留めではタイムスタンプも指定できます |
| 取り消し | argon undo --actor <a> | 範囲またはアクターラベルを指定して元に戻します。追記専用で、競合を考慮します |
| 復元 | argon restore preview/reset/branch | リリース済みのブランチを巻き戻すか、保持されている履歴からフォークします |
| データ PR | argon merge preview/apply | 3 ウェイマージをレビュー可能な計画として作成し、競合を黙って処理することはありません |
| サンドボックス | argon sandbox create --ttl 1h | フォーク、チェックアウト、TTL の設定を 1 ステップで実行し、使い捨てのエージェント作業スペースを作成します |
| データセットのピン留め | argon pin create / pin sandbox | 名前を付けた記録済み状態を、ピンが存在する間は GC やリセットから保護します |
| Web コンソール | argon console | ローカル UI と REST API を 1 つのコマンドで起動します |
データ履歴には、ドキュメントの挿入、更新、置換、削除が含まれます。コレクションの 削除/名前変更では記録が劣化し、インデックスとコレクションオプションは バージョン管理されません。ネイティブの書き込みは非同期です。制御操作では記録が 完了するまで待機します。リリース前に書き込みを停止してください。既存のピンは参照先の状態を保護しますが、GC によって監査履歴と 取り消し履歴が期限切れになることがあります。復旧と認証情報については、運用ガイドをご覧ください。
ストレージの保持には、スナップショットと保持期間に基づく GC を使用し、すべての書き込みを永久に残すのではなく、現在の状態と 一定期間の履歴を保持します。詳細と、誠実に記載した整合性モデルについては、ARCHITECTURE.mdをご覧ください。
AI エージェント向け
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'
別のターミナルで argon console --no-browser を起動し、次のコマンドを実行します。
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 once
run = argon.sandbox_from_pin("myapp", "eval-v1") # identical state, every eval run
saver.merge() はプレビューしてすぐに適用する便利な呼び出しです。
承認が必要な場合は、上記の個別の呼び出しを使用してください。ピンは存在する間、記録済みの
ドキュメント状態を保護します。独立したバックアップも保持してください。
エージェント向けのワークフロー全体については、docs/AGENTS.mdをご覧ください。
ドキュメント
| クイックスタート | インストールから最初のマージまでを順を追って説明します |
| CLI リファレンス | すべてのコマンド |
| エージェント | サンドボックス、ピン、MCP、REST API、argon-agents、プロキシ |
| アーキテクチャ | 仕組みと保証内容 |
| 運用ガイド | デプロイ、チャンクストア(S3/FS)、GC、v1→v2 の移行 |
| パフォーマンス | すべての数値は再現可能なベンチマークに掲載しています。方針により、ここには掲載していません |
コミュニティ
課題 · ディスカッション · コントリビュート · argonlabs.tech · ブログ
MongoDB にタイムマシンを。恐れずにブランチを作成しましょう。 ⭐
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。