mcpField
M
magents

magents

ローカル
abnegate.github.ioAI・エージェント154 日前に更新

magents について

magentsは、複数のコーディングエージェントのセッションにアクセスする共有APIとコマンドラインツールです。既存のチャット間でコンテキストを引き継ぎ、稼働中のセッションにメッセージを送り、独立した永続セッションを開始できます。

主な機能

  1. 01稼働中および最近のエージェントセッションの検出
  2. 02会話記録の読み取り、検索、要約
  3. 03既存チャット間の作業引き継ぎ
  4. 04稼働中のセッションへのメッセージ送信
  5. 05独立した永続セッションの起動
  6. 06エージェント間でのメモとメモリー共有

活用シーン

  1. 01コーディングエージェントを切り替えて作業を継続
  2. 02別のエージェントに阻害要因への対応を依頼
  3. 03独立した作業ディレクトリで別タスクを実行
  4. 04過去のセッションから決定事項やコンテキストを検索

MCP 対応

magentsはMCPサーバーとして動作し、対応するエージェントホストにツールを登録します。MCPクライアントはセッションの検出、会話記録の読み取り、チャットの引き継ぎやメッセージ送信、セッションの起動を行えます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"abnegate-magents": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/abnegate/magents:0.14.2"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/abnegate/magents:0.14.2

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

パッケージ
ocighcr.io/abnegate/magents:0.14.2

ツール

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

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

詳細

Claude、Codex、Grok、Cursor 間で共有される magents セッションバス

HOL Trust

Claude Code、Codex、Copilot、Cursor、Gemini、AGY、Grok、OpenCode は、すでに トランスクリプトをディスクに保存しています。magents は、それらのセッションを操作する共有 API です。MCP サーバーと小さな CLI を組み合わせることで、あなたが状況を説明し直さなくても、あるエージェントが別のエージェントの続きから作業できます。 また、あなたがその場にいないときに 特定の進行中のチャット にメッセージを送り、あるいは独立したタスク用に永続化される新しいチャットを開始できます。

履歴を二重に保存するものでも、結果を待たずに複数のエージェントへ依頼する仕組みでもありません。既存の チャットが引き続き標準の作業単位です。新しいチャットは、独立したセッションと作業ディレクトリを使うことで効果が得られる作業に適しています。

インストール · プラグイン · できること · クイックスタート · ツール · CLI · リリース

利用する理由

すでに複数のコーディングエージェントを使っているはずです。問題は「モデルがもっと必要」なことではなく、 別のウィンドウにコンテキストが閉じ込められていることです。

問題magents ができること
タスクの途中でホストを切り替えた進行中のセッションを読み取り、ここで 続けます
エージェント A が行き詰まり、その解決策をエージェント B が知っているあなたが伝言役にならずに、進行中のチャットへ内容を送ります
サブタスクを単独で実行できるプロンプトから返信までを含む、ヘッドレスで永続化されるセッションを開始します

できること

1. 新しいスレッドを作らずに引き継ぐ
災害復旧ブランチについて Claude で作業していました。今は Grok を使っています。Grok に何をしていたか尋ねると、進行中のセッションを読み取り、続きから作業します。コピー&ペーストは不要です。「新しいチャットにコンテキストを貼る」必要もありません。

2. あなたが伝言役にならずに送信する
3 つのエージェントが実行中です。Claude が行き詰まり、Codex が解決策を知っています。Claude はその Codex スレッドに内容を送り、作業を続けます。送信元が、あなたなら再構築しなければならない失敗したクエリ、ファイル、制約をすでに把握している場合に特に便利です。

3. 独立した作業を開始する
タスクを単独で進められる場合は、完全なプロンプトを指定し、ファイルが競合する可能性があれば分離された作業ディレクトリを用意したうえで、magents 経由で返信するよう依頼して、新しいヘッドレスの永続化セッションを開始します。開始されたエージェントは、ホスト標準の承認ポリシーを維持します。セッションを開始しても、承認を回避できるようにはなりません。

インストール

Homebrew(macOS / Linux)
brew install abnegate/tap/magents
magents install --all
APT(Debian / Ubuntu)
curl -fsSL https://abnegate.github.io/apt-repo/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/abnegate.gpg
echo "deb [signed-by=/usr/share/keyrings/abnegate.gpg] https://abnegate.github.io/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/abnegate.list
sudo apt update && sudo apt install magents
magents install --all
バイナリ

リリースから入手できます。

curl -LSsf -o magents \
  "https://github.com/abnegate/magents/releases/latest/download/magents-$(uname -m | sed 's/arm64/aarch64/')-$(uname -s | tr 'A-Z' 'a-z' | sed 's/darwin/apple-darwin/;s/linux/unknown-linux-musl/')"
chmod +x magents
./magents install --all

アセット:magents-x86_64-unknown-linux-musl、magents-aarch64-unknown-linux-musl、 magents-aarch64-apple-darwin、magents-x86_64-apple-darwin。

コンテナー
docker pull ghcr.io/abnegate/magents:latest
docker run --rm --user "$(id -u):$(id -g)" \
  -v "$HOME:$HOME" -e HOME \
  ghcr.io/abnegate/magents list --live
Cargo
cargo install magents --locked
magents install --all
ソースから
cargo install --path .
magents install --all

プラグイン

ホストプラグインには、magents スキルと magents mcp を実行する MCP エントリーが含まれています。まず CLI をインストールし(brew install abnegate/tap/magents)、続いて plugins/ 内の該当するフォルダーを読み込みます。

ホストパス
Claude Codeplugins/claude
Codexplugins/codex
Cursorplugins/cursor
Gemini CLIリポジトリのルート(gemini-extension.json)
AGY CLI / Antigravityplugins/agy

Gemini CLI では、このリポジトリから直接エクステンションをインストールできます。

gemini extensions install https://github.com/abnegate/magents

AGY CLI では、plugins/agy(マニフェスト、MCP、スキル)からプラグインをインストールできます。

agy plugin install https://github.com/abnegate/magents/plugins/agy

詳細とマーケットプレイスに関する情報: plugins/README.md。

クイックスタート

magents install --all を実行すると、インストール済みの各ホストに stdio MCP サーバーが登録されます。必要なバイナリが利用できないホストはスキップされます。

  • Grok(grok mcp add magents -- magents mcp)
  • Claude Code(claude mcp add --scope user magents -- magents mcp)
  • Codex(codex mcp add magents -- magents mcp)
  • Cursor(~/.cursor/mcp.json)
  • OpenCode($XDG_CONFIG_HOME/opencode/opencode.json、デフォルトは ~/.config/opencode)
  • Gemini CLI(gemini mcp add -s user magents magents mcp)
  • GitHub Copilot CLI(copilot mcp add magents -- magents mcp)
  • AGY CLI(agy mcp add magents magents mcp)

また、対応ホストのスキルディレクトリ(~/.grok/skills/{magents,learn}、~/.claude/skills/{magents,learn}、~/.cursor/skills/{magents,learn}、および OpenCode/Gemini/AGY/Copilot の同等の場所)に magents と learn のスキルを書き込みます。/learn は Grok だけでなく、すべてのローカルエージェントのセッションを読み取ります。

Grok と Codex のみ、ホストからバイナリを手動で指定します。

[mcp_servers.magents]
command = "/path/to/magents"
args = ["mcp"]

Cline の場合は、MCP Servers → Configure MCP Servers を開き、cline_mcp_settings.json に以下を追加します。

{
  "mcpServers": {
    "magents": {
      "command": "magents",
      "args": ["mcp"]
    }
  }
}

ツールを表示するには、エージェントのセッションを再起動するか、/mcps を更新してください。

お試しください。

magents list --live
magents digest grok:latest
magents handoff grok:latest --reason "continuing in grok"

ツール

ツール目的
list_sessions実行中および最近のセッション。cwd/branch で絞り込み
get_sessionID、タイトル、実行中の名前、PID、または agent:ref で検索
read_transcriptコンパクトな読み取り専用の引き継ぎ情報(最後のリクエスト、最後のアクション、最近のやり取り)
search_transcriptsこれらのトランスクリプト全体の全文検索
search_memoriesClaude/Codex/Grok のメモリ Markdown をフレーズ検索
create_memoryClaude/Codex/Grok のファーストパーティメモリにメモを書き込む
spawn_session独立した作業用に、新しいヘッドレスの永続セッションを開始
send_message既存のチャットにユーザーのターンを送信
handoffこのセッションを簡潔にまとめ、別の実行中チャットに注入
inbox / ack / await_reply / replyセッション間の返信用メールボックス
session_digest最後のリクエスト/アクション/cwd/branch/抜粋したやり取りの概要
files_touched別のセッションが編集したパス
stop_sessionmagents が監督する起動済みセッションまたは再開セッションを停止
read_memoryClaude/Codex/Grok のメモリ Markdown ファイルを 1 つ読み取る
get_note / put_note作業ディレクトリ用の Magents 管理の共有スクラッチ領域
whoamiこの接続を検出し、環境変数、ソケット、または一意の cwd からセッションを特定
learn_collect/learn 用にすべてのローカルエージェントの全履歴から簡潔な記録を収集するか、実行内容を推定
learn_state/learn の状態、決定事項、ゴミ箱を読み取るか更新

参照にはプレフィックスを付けられます:claude:disaster recovery、grok:latest、codex:<uuid>、cursor:latest、opencode:<id>、gemini:latest、agy:<id>、copilot:<id>。

CLI

magents list --live
magents list --agent grok --query edge
magents get 'claude:disaster recovery'
magents read grok:latest -n 20
magents digest grok:latest
magents search "dedicated databases" --agent claude
magents spawn codex --prompt-file /path/to/task.md --cwd /path/to/isolated-worktree
magents send grok:latest "handoff: the DR runbook is in docs/RUNBOOK.md"
magents handoff grok:latest --reason "continuing in grok"
magents whoami
magents learn estimate
magents learn collect
magents learn plan
magents learn collect --since-last
magents learn state

安定した機械可読の標準出力を得るには、任意のコマンドに --output json を指定してください。

パイプ経由の標準入力がある状態で引数なしの magents を実行すると、MCP サーバーが起動します。

magents spawn はデフォルトで標準入力からタスク全体を読み取ります(--prompt-file も使用できます)。プロンプトテキストがプロセス引数になることはありません。

セッション間のやり取り

list_sessions/read_transcript/search_transcripts/search_memories が引き継ぎを担います。create_memory は別のハーネス(Claude、Codex、Grok)のファーストパーティメモリに書き込みます。

作業を行う場所に応じて、書き込み方法を選択してください。

  • spawn_session - 新しいヘッドレスの永続セッションを開始し、独立して作業します。タスクの完了、検証、magents 経由の返信、編集が競合する可能性がある場合の隔離された cwd に対応します。成功とは起動が受け付けられたこと(accepted: true、status: "starting")を意味し、タスクが完了したことを意味するものではありません。
  • send_message - 既存のセッションに送信します。メールボックスへの記録は常に行われ、ホストが対応している場合は実行中のユーザーターンも注入されます。
  • handoff - このセッションの内容を簡潔にまとめて既存の実行中セッションに渡し、同じ作業を続行できるようにします。
配信ルート(既存のチャット)

send_message は常にメールボックスにメッセージを追加し、その後、ネイティブのライブ経路を優先し、利用できない場合は監視下でヘッドレス再開を開始します。

サーフェス配信ルート
Claude DesktopUDS ユーザーターン(/tmp/cc-socks/<pid>.sock)、次に tmux または監視下での claude -p --verbose --resume <id>
Claude CLI利用可能な場合は UDS、次に tmux または監視下での再開
Grok監視下での grok --cwd <cwd> --resume <id> --output-format streaming-json --prompt-file /dev/stdin
Codex Desktop / VS Code~/.codex/ipc/ipc.sock 上の長さ付き JSON-RPC、次に監視下での codex exec ... resume
Codex CLI監視下での codex exec --json -C <cwd> resume <id> -
Cursor監視下での cursor-agent -p --output-format stream-json --resume <id> --workspace <cwd>
OpenCodeセッションの cwd で起動する(PWD を設定)監視下での opencode run --format json --session <id>
Gemini CLI監視下での gemini --resume <id> --output-format stream-json
AGY CLI / Antigravity監視下での agy --input-format stream-json --output-format stream-json --conversation <id>
GitHub Copilot CLI監視下での copilot --resume=<id> --output-format json

監視下のルートでは、ユーザーターンを stdin 経由で渡し、応答にトランスクリプトのテキスト、トークン、生のホスト出力は公開しません。Spawn は承認の回避オプション(--dangerously-skip-permissions、--yolo、--full-auto など)を追加しません。

セッションの検出元:Claude は ~/.claude と ~/.claude-*(および Desktop の Claude / Claude-* セッションディレクトリ)、Grok は ~/.grok/active_sessions.json、Codex は sqlite + rollout JSONL、Cursor は agent-transcripts、OpenCode は SQLite(opencode.db とチャンネルデータベース、v1 の session テーブルと v2 の session_v2 / session_message テーブル)、Gemini はジャーナル、AGY CLI は conversations / brain と Antigravity デスクトップの conversation_summaries、Copilot は session-state です。Claude セッションには、名前付きホーム(~/.claude-work の場合は work)に由来するとき、profile フィールドが含まれます。再開とライブ注入では、そのホームの CLAUDE_CONFIG_DIR を使用します。

テスト

cargo test --locked --all-targets
cargo llvm-cov --locked --all-targets --ignore-filename-regex 'src/main.rs|/rustlib/' --fail-under-lines 98

CI では、フォーマット、clippy(-D warnings)、全テストスイート、および行カバレッジ 98% のゲートを実行します。

要件

  • Rust 1.97+
  • macOS または Linux(Claude の UDS 注入は Unix のみ)

ライセンス

MIT

コメント

MCP は初めてですか?

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

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