Skip to main content
Glama

Agent Bridge MCP

agent-bridge-mcp は、MCP ホストがローカルのコーディングエージェント CLI と Manus API の間でタスクを委任するための、制御された一つの方法を提供するローカル Model Context Protocol (MCP) サーバーです。これは、環境全体へのファイルシステムアクセスを持つエージェントオーケストレーターではありません。通常のインストールでは設定が必要であり、プロジェクトルートは許可リストに登録され、デフォルトの実行モードは読み取り専用であり、呼び出し元が選択した権限は設定された上限を超えることはできません。

v0.3.0-rc.8 で実装されているもの

バックエンド

トランスポート

ネイティブ再開

ファイルシステム制御

ブリッジが使用する認証

Codex

ローカル codex CLI; ホスト型モデルプロバイダー

はい

read-only、workspace-write、または full-access

Codex CLI ログイン

Claude

ローカル claude (Claude Code) CLI; ホスト型モデルプロバイダー

はい

選択されたサンドボックスから派生した Claude 権限モード

Claude CLI ログイン/OAuth またはキーチェーン; Claude Desktop/Cowork ログインは使用されません

Manus

HTTPS 経由の Manus API v2

はい、Manus タスク ID による

なし。Manus はリモートであり、ローカルファイルを検査または編集できません。

資格情報ファイルまたは MANUS_API_KEY

Gemini

ローカル gemini CLI; ホスト型モデルプロバイダー

いいえ

読み取り専用を強制できません; そのモードを拒否します

Gemini CLI 自身の認証

Gemini と Manus はデフォルトで無効です。Manus は、その資格情報とアカウント機能の承認が設定された後、意図的に有効化する必要があります。リモートプロンプト送信もデフォルトで別途無効であり、エージェント/ルート/データクラスの許可リスト、allow_remote_egress=true、data_classification、および毎回の呼び出しで消費される正確なスコープの remote_egress 承認が必要です。すべての直接リモート呼び出しには、呼び出し元が提供するゼロがプロバイダーコストがゼロであることを証明できないため、個別の paid_or_unknown_cost 承認も必要です。両方のカテゴリは常に新しい一回限りのレコードです。再利用可能なレコードは、プロバイダー起動前に拒否されます。オプションの policy.cumulativeRemoteCost ブレーカーは、起動前にすべてのセッションにわたって承認された最大額を米ドルの整数セント単位でアトミックに予約します。不明、ゼロ、端数セント、上限超過、破損/欠落台帳、および同時過剰予約のケースは、プロバイダー呼び出しの前に失敗します。永続化された予約は、成功、エラー、タイムアウト、キャンセル、またはプロセスクラッシュ後に補充されることはありません。ブリッジは、受け入れられたリクエストが請求されなかったことを証明できないためです。予約は意図的に承認消費に先行するため、後でローカルの失敗がプロバイダーを呼び出さずに予算を保守的に消費する可能性があります。これは承認コストの会計であり、プロバイダー請求書の照合ではありません。突然の OS/電源喪失時の耐久性は、依然としてホストファイルシステムに依存します。list_agents は、到達可能性/認証/機能と協調準備状態を報告します。これはヘルスプローブであり、有料タスクが完了できることや、リモートエージェントが要求されたワークスペースにアクセスできることを証明するものではありません。

Manus タスク参照は、プロバイダーの22文字の英数字タスクID契約と一致する場合にのみ受け入れられます。task.create の後、RC6 は制限付きの15秒の可視性猶予を許可します。task.listMessages の 404 は、分類される前に task.detail と照合されます。詳細で確認されたタスクでメッセージが引き続き利用できない場合は、unknown として報告され、再開可能です。猶予期間中に両方のサーフェスに存在しないタスクのみが not_found になり、再開できません。公開結果は SHA-256 リクエスト相関のみを公開し、生のプロバイダーリクエスト ID やネイティブタスク ID は公開しません。

承認のプレビューまたは権限の消費の前に、ブリッジはローカルのみの Manus 事前チェックを実行します。設定された空でない資格情報が存在し、アカウントデフォルトの機能が承認され、モデルがサポートされている Manus プロファイルのいずれかであり、最終化されたプロンプトが控えめな 4,500 UTF-8 バイトの上限に収まる必要があります。この事前チェックはプロバイダーリクエストを行いません。通常の継続は、永続化された状態が stopped であるプロバイダータスクにのみ新しいメッセージを送信します。waiting タスクは、専用の待機アクションパスを使用する必要があります。永続化された timed_out、aborted、error、または unknown の結果の場合、reconcile_manus_task はリモート出力の同意、データ分類、および現在のセッションリビジョンを必要とし、ユーザーメッセージを送信せずに GET のみのプロバイダーポーリングを実行します。ローカルの調整タイムアウトは、タスクを未解決として記録し、プロバイダー停止リクエストを送信しません。調整が stopped に達すると、通常の継続が再び利用可能になります。

これらの永続的な呼び出しごとの出力/コスト承認は、Manus などのブリッジ管理の直接リモート API を保護します。Codex、Claude、Gemini はローカル CLI プロセスですが、プロンプトとワークスペース由来のコンテンツをホスト型プロバイダーに送信できます。それらのアカウント、プロバイダー、および CLI ポリシーは外部の信頼境界です。list_agents は directRemoteApi と offMachineEgress を別々に報告するため、ローカル実行可能ファイルがローカルのみの処理と誤解されることはありません。

Windows では、直接実行可能ファイルはシェルなしで生成されます。標準の静的 npm 生成 .cmd シムは、単一の含まれる node_modules エントリポイントを指定する場合にのみ認識されます。そのエントリはブリッジ自身の Node 実行可能ファイルで起動されるため、プロンプト、モデル、ルート、および拡張引数が cmd.exe を通過することはありません。動的/カスタム .cmd ファイルとすべての .bat ランチャーは、UNSAFE_WINDOWS_BATCH_SHIM でフェイルクローズします。基になる .exe を設定するか、標準の静的 npm .cmd シムを使用してください。これにより、バッチメタ文字がブリッジルート、サンドボックス、および承認境界から逃れるのを防ぎます。

Related MCP server: Local-MCP-Bridge

インストールと設定

Node.js 20+ と、有効にする CLI が PATH 上にある必要があります。

ジョブに一致するパスを選択してください:

  • ソースから開発または検証する場合: 以下のコマンドとソース開発設定を使用してください。

  • インストール済みリリースを運用する場合: ビルド、テスト、パッケージ化 から始めて、不変の Windows インストール/カナリアシーケンスを含め、その後 クリエイター運用 に従ってください。クライアントをソース dist やバージョン付きリリースディレクトリに直接向けないでください。

npm ci
npm run verify
New-Item -ItemType Directory -Force "$env:USERPROFILE\.agent-bridge" | Out-Null
Copy-Item config.example.json "$env:USERPROFILE\.agent-bridge\config.json"

上記のコマンドは、%USERPROFILE%\.agent-bridge\config.json にソース開発設定を作成します。テンプレートには意図的に空の allowedRoots 配列があり、それを1つ以上の既存の絶対プロジェクトディレクトリに置き換えるまで起動しません。不変のインストール済みリリースは、代わりに %USERPROFILE%\.codex\agent-bridge\config.json の共有設定を使用し、すべての Codex/Claude 登録は、安定したシムを起動しながら AGENT_BRIDGE_CONFIG をその共有ファイルに設定する必要があります。設定はそれ以外に --config <path> または AGENT_BRIDGE_CONFIG で選択できます。サーバーの隣にある config.json は、存在する場合にのみ使用されます。欠落、不正、またはルートのない設定は、無制限のディレクトリにフォールバックするのではなく拒否されます。ソース開発フォールバックとインストール済み共有設定が暗黙的に乖離しないようにしてください。

ランタイムのデフォルトは、600秒のタイムアウトと read-only サンドボックスです。config.example.json は意図的に900秒のサンプルタイムアウトを使用しています。これはランタイムのデフォルトではありません。サンドボックスの優先順位は次のとおりです: 提供された場合はターンごとのリクエスト、それ以外の場合は defaults.sandbox。その要求された/デフォルトの権限は、agents.<id>.sandboxCeiling と policy.sandboxCeiling の両方によって制約され、最も制限的な結果が優先されます。workspace-write の上限は、別途要求された書き込みターンを許可しますが、それ自体が書き込みをデフォルトにするわけではありません。policy.sandboxCeiling は互換性のためにデフォルトで workspace-write であるため、レガシー設定は書き込みを要求できますが、full-access を要求することはできなくなります。フルアクセスには、設定で明示的に "sandboxCeiling": "full-access" と指定する必要があります。agents.<id>.sandboxCeiling は、1つのバックエンドの制限を下げることができます。サンプルの cumulativeRemoteCost.maxReservedCents は、現在の台帳に対する状態全体の生涯予約上限です。これを増やすことは明示的なオペレーターアクションであり、リセット MCP ツールは意図的にありません。最初の予約の後、初期化マーカーにより、台帳のみの削除はフェイルクローズします。台帳とマーカーの両方を削除できるローカル OS ユーザーは、この会計境界をリセットできるため、stateDir を共有/ワークスペースストレージの外に置き、その ACL を保護してください。ポリシーを省略すると、そのブレーカーは無効になります。ブリッジは許可されたルートと作業ディレクトリを正規化し、起動直前に再度正規化するため、ジャンクション/シンボリックリンクのエスケープは拒否されます。

MCPB パッケージは、AGENT_BRIDGE_BUNDLE_MODE=1 を設定し、AGENT_BRIDGE_ALLOWED_ROOT を提供することで、偽の隣接設定をインストールせずに同じバリデーターをオプトインできます。バンドルモードはデフォルトで読み取り専用権限、Codex と Claude が有効、Gemini、Manus、およびリモート出力が無効です。MCPB マニフェストは、AGENT_BRIDGE_STATE_DIR、バックエンドの AGENT_BRIDGE_ENABLE_* トグル、AGENT_BRIDGE_DEFAULT_SANDBOX、および AGENT_BRIDGE_SANDBOX_CEILING も提供できます。リモート出力を有効にするには、さらに Manus に加えて AGENT_BRIDGE_REMOTE_EGRESS=true と1つの AGENT_BRIDGE_REMOTE_DATA_CLASS が必要です。明示的な --config または AGENT_BRIDGE_CONFIG の選択は、常にバンドルモードよりも優先されます。

Manus 資格情報

PowerShell から提供されたセットアップスクリプトを実行します:

.\scripts\setup-manus.ps1

キーをユーザーのみの ACL で %USERPROFILE%\.agent-bridge\secrets\manus-api-key に書き込みます。agents.manus を有効にし、credentialFile をそのパスに設定し、Manus アカウントの有効なデフォルトスキルを確認した後にのみ acknowledgeAccountDefaultCapabilities=true と安定した非秘密の accountCapabilityProfile ラベルを設定してください。Agent Bridge は、作成時に空のメッセージごとの connectors、force_skills、およびタスク参照を送信し、継続時にコネクタをクリアしますが、Manus API v2 は、アカウントデフォルトのスキルが無効であることを証明するブリッジで強制可能なスイッチを提供しません。承認は、そのプロバイダー側の機能境界の受け入れを記録します。ローカルファイルシステムアクセスを許可したり、コネクタアクションを承認したりするものではありません。プロバイダーエンドポイント、リクエスト機能ポリシーバージョン、およびアカウントプロファイルラベルは、すべてのリモート承認エンベロープにバインドされるため、アカウント/機能のレビューが変更された場合は新しい承認が必要です。キーをソース管理や MCP マニフェストに置かないでください。Manus エンドポイントは HTTPS api.manus.ai (またはそのサブドメイン) に制限されています。開発用オーバーライドはループバック HTTP(S) のみを受け入れます。Manus は API 経由でタスクテキストを受け取り、ローカルファイルシステムアクセスはありません。関連するファイルの内容またはリモートからアクセス可能なアーティファクトを提供してください。

チャットに貼り付けられたキーは公開されます。ローテーションが推奨される修復策です。オペレーターがローテーションを明示的に辞退する場合、その決定を受け入れられた残余リスクとして記録し、キーを ACL で保護された資格情報ファイルにのみ保持し、資格情報の衛生状態自体を合格ではなく失敗または承認済みとして扱ってください。

MCP 操作

get_creator_status は、ローカルのみのクリエイター概要です。ランタイム/設定状態、設定された機能、承認済みコスト予約、およびセッション、承認、ワークボード状態の変更のない制限付きサンプルを、CLI を起動したりプロバイダーに連絡したりせずに集約します。その scanned、truncated、および unreadable フィールドは、無制限の合計ではなくサンプリングの証拠です。不完全な状態は注意を促します。バックエンドの健全性は、list_agents を通じて意図的に分離されています。

サーバーは、シーケンシャルなブリッジ操作(list_agents、delegate_task、continue_session、handoff、list_sessions、get_session、ページング可能なget_turn_output)、パッシブなdiagnose_install、読み取り専用のget_budget_status、永続的な承認操作(request_approval、decide_approval、list_approvals)、preview_turn_approvalとpreview_recommendation_approvalによる正確なリモート計画、GET専用のreconcile_manus_task、狭いManus待機アクション操作(get_manus_waiting_action、preview_manus_confirmation、confirm_manus_action)、独立したcollect_recommendations、そして協調ワークボードの作成、実行、レビュー、検査、ライフサイクル、キャンセル、再試行、アイテム承認操作を公開します。セッションは互換性のある再開のために、バックエンドネイティブのIDを内部的に保持します。別のエージェントが引き継ぐ場合、またはネイティブの再開が利用できない/互換性がない場合、ブリッジは信頼できないコンテキストとして明示的にマークされた、境界付きでエスケープされたトランスクリプトを先頭に追加します。リモートプレビューは2つの異なるハッシュを返します。prompt_sha256は比較用の最終化された送信プロンプトを識別し、payload_sha256はモデル、サンドボックス、タイムアウト、継続/再開状態、セッションリビジョン、拡張ポリシー、プロバイダーエンドポイント、リクエスト能力ポリシーバージョン、非秘密のアカウント能力プロファイルを含む完全な承認エンベロープを識別します。承認レコードはエンベロープハッシュを使用する必要があります。継続またはハンドオフ時にプレビューのsession_revisionを返して、同時トランスクリプト変更が新しいプレビューを必要とするようにします。インラインのエージェント出力は切り詰められます。返されたoutput_refまたはget_turn_outputを使用して、完全な永続化出力を境界付きページで取得します。

Manus待機アクション

Manusタスクはwaiting状態で一時停止できます。Agent BridgeはネイティブのタスクID、イベントID、既知のイベントタイプのみを永続化します。プロバイダーの説明と動的スキーマは、シークレット、個人データ、または新しい権限を含む可能性があるため、意図的に破棄されます。公開ツールはネイティブのタスクIDを決して返しません。Manusは多くの確認タイプを文書化し、さらに追加する可能性がありますが、このリリースでは4つの固定された決定のみが許可されています:

Manusイベント

許可されるブリッジ決定

追加の承認

needConnectMyBrowser

browser_skip

browser_or_connectors

gmailSendAction, outlookSendMailsAction

email_save_draft

browser_or_connectors

videoGenerate

video_standard

正の境界付きコストを持つpaid_or_unknown_cost

apiHighCreditNotice

high_credit_reject

ゼロUSDに固定されたpaid_or_unknown_cost

すべての決定には、新しい一回限りのremote_egress承認、許可されたデータクラス/ルート、正確なプレビューダイジェスト、および変更されていないセッションリビジョンも必要です。確認プレビューは、プロバイダーエンドポイント、コネクタ/デフォルトスキルの能力ポリシーバージョン、非秘密のアカウントプロファイルをバインドする実行エンベロープを公開します。アダプターは、承認を消費するか予算を予約する前に、最新のライブプロバイダーアクションを再読み取りします。その再検証が成功した後にのみ、権限をコミットし、非冪等なtask.confirmAction POSTの直前に試行確認レコードを永続化し、応答がok=true、confirmed=trueを返し、同じタスクIDを返すことを要求します。受け入れられた確認は、ブリッジがポーリングを再開する前に永続化されます。不明なアクション、ユーザーの質問、ブラウザ選択、実際のメール送信、プレミアムビデオ、クレジット受け入れ、シークレット、デプロイ、ターミナルコマンド、カレンダー/マーケティングアクション、コネクタ認証、および永続的なglobal_allow/always_allow許可は、フェイルクローズします。この意図的に狭い契約は、Manusタスクライフサイクルおよびtask.confirmAction APIの上に位置します。

docs/CREATOR_OPERATIONS.mdから始めてください。そのコンパニオンである脅威マトリックス、ライブ受け入れチェックリスト、証拠規約、プライバシー境界、および例は、サポートされるクリエイターワークフローと、プロモーション前に必要な証拠を定義します。

協調ワークボード

ワークボードには、明示的なactive、paused、completed、canceled、archivedライフサイクル状態があります。アイテムは、種類、受け入れ基準、データ/ファイルシステム/ネットワーク/能力要件、不活性な型付きアーティファクト/証拠参照、およびワークフロー承認ゲートを宣言できます。ライフサイクル変更はライブリースを拒否します。再試行は試行や使用量を補充せずに結果をクリアします。

ワークボードは、stateDir/workboardsの下に依存関係を認識する作業アイテムを保持します。永続化されたボードは明示的なスキーマバージョンを使用し、ロード/保存時に再帰的に検証されます。元のバージョンなしのv0.3-dev形状は、読み取り時にメモリ内で移行され、次のロックされた保存で永続化されるため、ロック解除された移行レースを回避します。未知の将来のスキーマ、破損したレコード、および一貫性のないステータス/提出/レビューの組み合わせはフェイルクローズします。各アイテムには、試行/時間予算、所有権リース、分離されたブリッジセッション、提出、および独立したレビューがあります。実行とレビューのウォールタイム/ターン使用量は別々に計上されます。レビュー試行制限はmaxAttemptsから内部的に導出されます。失敗したレビューア呼び出しはそれを消費し、再試行のために提出を保持し、使い果たされるとアイテムをブロックします。token_budget_hintは参考用です。バックエンドのトークン会計は比較可能でも一貫して利用可能でもないためです。分離された準備済みアイテムはmaxParallelまで並行して実行できますが、すべてのワークボード実行とレビューは、ブリッジのデフォルトに関係なくread-onlyに強制されます。厳密な協調ターンは、構成されたextraArgsとextraEnvを抑制するため、これらの設定は読み取り専用フラグを上書きできません。レビューアはアイテムを提出したエージェントであってはなりません。受け入れられた提出のみが境界付きインテグレーターブリーフィングに含まれます。

現在のワークボードは、リモートアクセス可能でハッシュ検証されたアーティファクトバンドルではなく、ローカルのcwdとテキストを渡します。したがって、Manusはワークボードアイテムを実行したり独立してレビューしたりできず、ローカルコードの証拠に対して協調準備ができていないと報告されます。アーティファクト準備ワークフローが実装されるまで、明示的に承認された直接リモート委任を通じてのみ使用してください。推奨briefスコープは、ローカルファイルシステム能力を報告しないバックエンドに意図的に分離されています。CodexとClaudeはworkspaceスコープを使用する必要があり、Manusは提供されたブリーフのみをレビューできます。この境界は、バックエンドがAgent Bridgeを通じてローカルワークスペースを検査できないことのみを証明します。プロバイダー側の読み取り専用または副作用なしの動作を強制するものではありません。Manusのアカウントデフォルトスキルは、認識された外部能力のままです。コレクションはbriefSha256を記録するため、ワークスペースアクセスを意味することなくインラインアーティファクトを識別できます。

この開発リリースは、意図的に協調書き込み作業を許可しません。セッションごとのロックは、2つの別々のエージェントセッションが同じファイルを編集するのを防ぐことはできないため、安全な並列書き込みには、後のワークスペース所有権設計が必要です。

パッシブ診断

diagnose_installと--doctor --jsonは、ランタイム/構成ID、読み取り可能な場合の構成コンテンツハッシュ、ルートスコープ警告、状態サイズ/セッション数、サニタイズされたバックエンドステータス、および実行可能パスのドリフトヒントを報告します。これらは、選択されたローカルパス(ランタイムパス、状態パス、構成/解決された実行可能パス、スコープ警告によって名前付けられたルート)を意図的に公開します。生の構成バイト、エージェント環境値、資格情報値、生のプロバイダー/CLI詳細、プロンプト、トランスクリプトは省略します。ファイルシステムパスにシークレットを埋め込まないでください。ローカル認証結果がunknownの場合は、使用可能と見なされません。これらのコマンドは有効なバックエンドをプローブします。エージェントを起動または委任せずにパッシブな登録/プロセス/ACL証拠を得るには、scripts/inspect-install.ps1を使用してください。そのfallbackConfig.divergentRegistrationRisk=true結果は、ブリッジ登録がインストールされた共有構成とは異なる隣接/状態構成を読み取ることができることを意味し、カットオーバーブロッカーです。RC6はまた、Codex登録証拠における有効な単一引用符TOML文字列を認識します。

実験的なデーモン/プロキシランタイム

ソースには、境界付きフレームRPCコーデックとプロトコル/構成バインドされた相互HMACハンドシェイクに基づく実験的なローカルIPCデーモン/プロキシランタイムが含まれています。Windows名前付きパイプまたはUnixドメインソケットのみを使用し、TCPは使用しません。明示的なライフサイクル、排他的エンドポイントバインディング、厳格なハンドシェイク状態、リクエスト相関、接続/インフライト制限、切断時のハンドラーキャンセル、クリーンシャットダウンを実装します。インポートまたは構築しても何も開始されません。テストは使い捨てエンドポイントのみを使用します。MCPエントリポイントやリリースパッケージには配線されていないため、直接stdioが唯一のサポートされるランタイムパスです。

Unixでは、ランタイムはソケットにモード0600を適用します。Nodeのnet APIは、ユーザーのみのWindows名前付きパイプACLを構成または検証したり、ピアIDを公開したりできないため、Windowsセキュリティ証拠はそのギャップを正直に報告し、フェイルクローズの認証フックを提供します。Windows ACLプロビジョニング/検証レイヤーとMCPルーティングアダプターが実装およびレビューされるまで、実験的なデーモンをデプロイしないでください。

MCPホストに追加する前に、プロセス診断を使用してください:

node .\dist\agent-bridge.mjs --config "$env:USERPROFILE\.agent-bridge\config.json" --doctor

--doctorは、有効なバックエンドが使用できない場合、非ゼロで終了します。構成ソース、ルート、サンドボックス、バックエンドの健全性を報告します。機能的な委任タスクは実行しません。

データ、ロック、制限

ブリッジ状態はstateDir(デフォルト%USERPROFILE%\.agent-bridge)の下にあります:プレーンテキストのセッション、ワークボード、承認、累積予算予約、およびそれらのロックディレクトリ。セッションと予算の書き込みはアトミック置換書き込みです。予算の一時バイトは名前変更前にフラッシュされ、プラットフォームが許可する場合は親ディレクトリが同期されます。実行中のセッションはロックを保持します。別のターンはsessionLockWaitMsまで待機し、その後SESSION_BUSYで失敗します。累積直接リモート台帳は、別のトークン所有ロックを使用するため、異なるセッションがそれを過剰にサブスクライブすることはできません。通常のセッション/ワークボードロックとは異なり、支出ロックは自動的に再利用されません。一時停止した古い所有者が新しい予約を上書きする可能性があるためです。そのプロセスがクラッシュした場合、すべてのブリッジホストが停止され、オペレーターがstateDir\budget-locks\cumulative-remote-cost.lockのみを削除するまで、直接リモート起動はフェイルクローズします。

セッショントランスクリプトは、保存時にプレーンテキストJSONです。プロンプト、出力、エラーテール、パス、機密タスクコンテキストを含む可能性があります。stateDirを保護し、プロンプトにシークレットを入れず、get_sessionを保存されたトランスクリプトの開示として扱ってください。get_sessionは、ネイティブバックエンドIDとメタデータを意図的に削除し、各返されるフィールドを制限しますが、暗号化や編集ではありません。ブリッジは、エージェント間で境界付きのプレーンテキストコンテキスト要約を渡します。切り詰めにより以前のコンテキストが省略される可能性があるため、重要な決定は現在のプロンプトで繰り返す必要があります。

ビルド、テスト、パッケージ

npm run verify
node .\scripts\package.mjs

npm run package は最初にビルドを実行します。npm pack も prepack フックを通じてビルドを実行します。リリースコマンドはチェックアウト済みの Git コミットを必要とし、新しい .release-staging ディレクトリを作成し、agent-bridge-v<package-version>.mcpb を生成して、パッケージ化された server/agent-bridge.mjs、そのソースマップ、および Windows 運用スクリプトがコミット済みの候補入力とバイト単位で完全に一致することを検証します。バンドルには manifest.json、ランタイム、そのソースマップ、operations/、および release-metadata.json が含まれます。すべてのランタイムおよび運用ペイロードは、リリースメタデータ内で SHA-256 およびバイト数で固定されています。運用セットは意図的に限定されています。準備完了チェック、単一ロックの切り替え、イミュータブルリリースのロールバック、パッシブ検査、クライアント登録、およびそれらの共有セーフティモジュールです。既存の出力パスを拒否し、インストール済みの MCP サーバーを変更することはありません。稼働中のホスト上に開発パッケージをインストールしないでください。新しいイミュータブルディレクトリを使用し、実行中のタスクが完了するまで登録変更を延期してください。

MCPB はマニフェストスキーマ 0.3 とホスト提供の user_config を使用します。変更可能なプレースホルダー設定は埋め込みません。パッケージングコマンドは、バンドルとランタイムの両方の SHA-256 値を報告します。リリース前に公式の MCPB CLI で manifest.template.json を検証してください。Windows では、アクティブなポインターに触れずにアーティファクトをインストールおよび検査します。

.\scripts\install-release.ps1 -BundlePath .\agent-bridge-v0.3.0-rc.8.mcpb -ExpectedBundleSha256 <reported-bundle-sha256>
$candidate = "$env:USERPROFILE\.codex\agent-bridge\releases\<release-id>"
& "$candidate\operations\inspect-install.ps1"
node .\scripts\canary-release.mjs --release-path "$env:USERPROFILE\.codex\agent-bridge\releases\<release-id>" --install-root "$env:USERPROFILE\.codex\agent-bridge" --expected-version 0.3.0-rc.8 --expected-runtime-sha256 <reported-runtime-sha256> --evidence-dir "<durable-private-root>\installed-canary"
node .\scripts\canary-windows-shim.mjs --release-path "$env:USERPROFILE\.codex\agent-bridge\releases\<release-id>" --install-root "$env:USERPROFILE\.codex\agent-bridge" --expected-version 0.3.0-rc.8 --expected-runtime-sha256 <reported-runtime-sha256> --evidence-dir "<durable-private-root>\windows-shim-canary"

プロバイダー無効のインストール済みリリースカナリーは、絶対パスのイミュータブルランタイムを使い捨ての config/state/root で起動し、必要なすべての MCP ツールと診断 ID を検証し、安定したシム、共有設定、およびプロモーションマーカーが変更されていないことを証明します。Windows シムカナリーは、スペースを含むパス内の正規の npm .cmd の背後にあるローカルモック CLI を使用して、同じインストール済みランタイムを実行します。ランタイム ID、敵対的な argv の完全な保持、読み取り専用の委任、シェルインジェクションのセンチネルがないこと、およびプロバイダーを呼び出さずに安定したファイルが変更されていないことを検証します。新しい永続的なプライベート証跡ディレクトリは、安定したインストールルートの外側に作成してください。プロバイダー対応のリリーステストは、絶対パスの AGENT_BRIDGE_SERVER_PATH と、必須の AGENT_BRIDGE_INSTALL_ROOT、AGENT_BRIDGE_EXPECTED_VERSION、AGENT_BRIDGE_EXPECTED_RUNTIME_SHA256 を受け入れます。ランタイムがそのインストールの releases\<release-id>\server の直下にあることを検証します。ソースの dist、認証、またはクォータのスキップがリリース合格と誤認されないように AGENT_BRIDGE_LIVE_REQUIRED=1 を設定し、各構造化結果をサニタイズ済み JSON として保持します。

Manus ハーネスは、2 段階の永続的な使い捨てトランザクションです。node test/live-manus.mjs --evidence-dir <new-absolute-private-directory> でプレビューします。プレビューはローカルの ID/資格情報チェックのみを実行し、暗号ノンスと保留チケットを作成し、Manus API またはヘルスチェックの呼び出しは行いません。プレビューを確認してから、出力された正確なノンスバインドコマンドを実行します。実行は、ブリッジ起動、承認の引き出し、ヘルスプローブ、または有料作業の前にチケットをアトミックに消費します。リプレイは失敗します。環境の MANUS_API_KEY と MANUS_API_BASE_URL をクリアし、正確な出力と停止ステータスを要求し、予算の差分と消費された両方の承認を検証し、プライベートな config/state/work/result の証跡を削除せずに保持します。

無視された RC5/RC6/RC7 バンドルとその .release-staging ディレクトリは、履歴上のアーティファクトにすぎません。これらは RC8 の入力ではなく、現在の候補としてプロモートしてはなりません。

プロモーションと再起動済みクライアントの受け入れ後、オペレーター管理の証跡ルート内に 例 から厳密な記述子を作成し、npm run evidence:release -- --descriptor <absolute-descriptor.json> --output-dir <evidence-root>\<packet-id> --require-accepted を実行します。出力ディレクトリのベース名はパケット ID と一致する必要があります。エクスポーターは、インストール済みメタデータ、プロモーションマーカー、共有設定、バンドル内容、候補ハッシュ、および名前付き受け入れプロファイルを検証します。入力アーティファクトはその正規の証跡ルートからのみ受け入れ、機密/制限付きデータと上書きを拒否し、プライベート状態が名前変更された場合でもナラティブ/プロバイダー ID の JSON フィールドを編集し、Manus ネイティブの識別子について JSON キーと値をスキャンしてから、同期された evidence-report.json、evidence-report.md、および manifest.json を生成します。npm run evidence:verify -- --packet-dir <absolute-packet-directory> を実行して、欠落、余分、または変更されたファイルを検出します。マニフェストは整合性の相互チェックであり、悪意のあるローカルエディターに対する署名ではありません。証跡ルートの Windows ACL は別途保護してください。プロモーションは、最終的な受け入れ済みエクスポートが成功するまで暫定的です。ブロックされたプロモーション前パケットは、--require-accepted なしでエクスポートできます。これは証跡であり、受け入れではありません。

<candidate-release>\operations\configure-clients.ps1 で、Codex、Claude Code、および検出された Claude Desktop プロファイルの登録正規化をプレビューします。デフォルトではドライランであり、アクティブなターゲットプロセスまたは曖昧な登録を拒否し、変更されたファイル用の完全バイト単位の復元マニフェストをサポートします。通常のリリース切り替えには、スタンドアロンの -Apply モードを使用しないでください。リリース操作は、変更可能なソースチェックアウトではなく、候補のインストール済みイミュータブルディレクトリから実行してください。

リリース切り替えは、意図的なメンテナンスウィンドウ操作であり、無人ウォッチャーアクションではありません。Codex、Claude Code、Claude Desktop、およびその他の MCP ホストを完全に終了してから、<candidate-release>\operations\check-cutover-readiness.ps1 を実行します。Agent Bridge ノードと既知の Codex/Claude ホストファミリーおよびその子孫にわたって、空のサンプルが繰り返し必要です。実際の単一ロック登録およびリリーストランザクションには、<candidate-release>\operations\cutover-release.ps1 -ReleaseId <version+sha7> を使用します。ウォッチャーは準備完了を報告してもかまいませんが、変更コマンドを呼び出してはなりません。これは OS による起動バリアではなく、運用上の静止状態です。ウィンドウ中にホストが開かれた場合、トランザクションは検出可能な場所で中止および復元されます。

切り替え前に、scripts\rehearse-rollback.ps1 は、正確なハッシュの候補バンドルと以前のバンドルを新しい外部フィクスチャにインストールし、候補 → 以前 → 候補の切り替えを行い、フィクスチャの安定シムとプロバイダー無効の MCP カナリーを実行し、ハッシュ化された証跡マニフェストを保持できます。ライブインストールまたはクライアント登録パスは受け入れません。信頼された切り替えプリミティブは、それでもすべての MCP ホストが閉じていることを要求し、この使い捨ての証明は、切り替え後のライブロールバック訓練に代わるものではありません。

<trusted-release>\operations\switch-release.ps1 は、より低レベルのリリース/ロールバックプリミティブです。ターゲットのインストール済みランタイムを検証し、拒否するメンテナンスシムを使用し、ライブシムを有効にする前にリリースマーカーを書き込み、正確なロールバックバックアップを作成し、アクティブなプロセスではフェイルクローズします。その -ReleaseId ターゲットが古いインストール済みランタイムであっても、最新の検証済み運用スクリプトバイトを使用してください。protect-state.ps1 は、継承された状態ディレクトリの ACL を、現在のユーザー、SYSTEM、および Administrators への明示的なアクセスに置き換えます。-Force を使用する前に、そのターゲットを検査してください。

リリースおよびロールバック手順については HANDOFF.md を、セキュリティモデルについては SECURITY.md を参照してください。

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    A
    maintenance
    Enables coding agents to perform workspace-confined file operations, read-only Git inspection, and structured shell commands, while requiring out-of-band human approval for mutations and external executions and maintaining an audit trail.
    14
    3
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables Claude Code to offload bounded, read-heavy tasks to external agent CLIs (agy, opencode, copilot) with preflight validation, circuit breakers, and a local dashboard for monitoring delegation and subagent activity.
    49 npm
    1
    MIT