mcpField
A
argon

argon

ローカル
github.com/argon-labデータベース1761 週間前に更新

argon について

argon は、AI エージェントや開発者向けにバージョン管理された MongoDB サンドボックスを提供し、任意のドライバーから実際の MongoDB データベースに接続できます。ブランチ、ドキュメント履歴、レビュー可能なマージと取り消しで実験や復旧を支援しますが、保持期間と変更キャプチャの制約があります。

主な機能

  1. 01メタデータ書き込みだけでブランチ作成
  2. 02任意のドライバーで実際の MongoDB に接続
  3. 03ドキュメント履歴のキャプチャと時点クエリ
  4. 04レビュー可能な三者マージと競合を考慮した取り消し
  5. 05使い捨てサンドボックスと保護されたデータセットピン
  6. 06REST API 付きローカル Web コンソール

活用シーン

  1. 01AI エージェントのデータベース実験を隔離
  2. 02データ変更案を確認してマージ
  3. 03キャプチャしたドキュメント変更を復元または取り消し
  4. 04名前付きデータセットの状態をクリーンアップから保護

MCP 対応

argon は `argon mcp` で MCP インターフェースを提供し、サンドボックス、差分、マージ、取り消し、ピン用の 13 ツールを備えます。MCP クライアントはこれらのツールで MongoDB サンドボックスを管理し、変更を確認できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"argon-lab-argon": {
"command": "npx",
"args": [
"-y",
"argonctl"
]
}
}
}
起動コマンドnpx -y argonctl

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmargonctl2.1.3

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Argon — MongoDB 用 Git

Argon — AI エージェント向けに構築された MongoDB 用 Git:本番環境からブランチを作成してエージェントを実行し、セッションを元に戻す

Build Status Go Report License: MIT Homebrew npm PyPI

MongoDB をブランチ化し、時間を遡って状態を復元し、マージや取り消しができます。あらゆるドライバーに対応し、実際の mongod を使い、履歴をバージョン管理します。AI エージェント向けに構築されています。

3つの要点を30秒で:

  1. ブランチはコピーではなくポインターです — メタデータの書き込みで作成されます。チェックアウト時にデータが別途実体化されます。
  2. checkout でブランチが実際の MongoDB データベースになります — pymongo、 mongoose、mongosh、インデックス、集計、トランザクションをすべて実際に利用でき、キャプチャが正常に動作している間は、対応するドキュメントの書き込みが履歴に記録されます。
  3. 変更を確認して復元できます — 設定された保持期間とキャプチャの保証範囲内で、差分の確認、マージ、取り消し、状態の固定ができます。

インストール

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リリース済みのブランチを巻き戻すか、保持されている履歴からフォークします
データ PRargon merge preview/apply3 ウェイマージをレビュー可能な計画として作成し、競合を黙って処理することはありません
サンドボックス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 にタイムマシンを。恐れずにブランチを作成しましょう。 ⭐

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。