Skip to main content
Glama

BoundedRelay

BoundedRelayを使用すると、Claude Codeは適切にスコープされたタスクを、MCP経由でローカルにインストールされたCodex CLIに引き渡せます。呼び出しはジョブハンドルとともに即座に返ります。その後Claudeは、ワーカーが何をしているかを表示したり、次の実際の更新を効率的に待機したり、結果を取得したり、ジョブをキャンセルしたりできます。

Claude Code  ── local MCP/stdio ──>  BoundedRelay  ── codex exec --json ──>  Codex
                                             │
                                             ├─ policy and resource limits
                                             ├─ deterministic SDD routing
                                             ├─ content-addressed dual review
                                             ├─ sanitized live activity
                                             └─ isolated proposal clone

サポートされているv0.1トポロジーは意図的に一方向です:Claude Code → BoundedRelay → Codex。BoundedRelayはCodexからClaudeへの復路を提供せず、ワーカーが生成した変更をソースリポジトリに適用することはありません。

[!IMPORTANT] BoundedRelayは独立したコミュニティプロジェクトです。AnthropicまたはOpenAIとは 提携しておらず、その承認を受けておらず、保守もされていません。Claude、 Claude Code、Codex、OpenAIは、それぞれの所有者の商標です。

バージョン0.1.0はローカル開発リリースです。npmパッケージはまだ公開されておらず、v0.1にはリモートサービス、デーモン、データベース、永続ジョブストア、監査台帳はありません。

なぜBoundedRelayなのか

  • 凍結ではなく可視化: 安全なアクティビティラベル、イベントカウンター、経過時間、最終更新からの経過時間、キューの位置、リビジョン対応ポーリング。

  • デフォルトで読み取り専用: 分析は常にCodexのread-onlyサンドボックスを要求します。

  • 制限された権限: サーバーがワークスペースルート、モデルオーバーライド、環境転送、タイムアウト、並行性、出力、パッチ制限を所有します。

  • 変更前のレビュー: プロポーザルモードは使い捨てクローンで動作し、結果のパッチを検証し、それをソースワークツリーに適用することはありません。

  • 適応型の作業分割: オプションのSDDルーターは、まず最適なバージョン付きタスク種別/レーンの適合を選択し、適合が同点の場合にのみプリファレンスとニュートラルなシェアを使用し、それぞれ最大1つのライターを持つ依存関係セーフなウェーブを出力します。

  • チェックポイント付き実行: オプションのSpec Kitパックは、検証済みルートをexecution.jsonに変換し、正確な依存関係ウェーブを一度に1つ実行し、各ライターチェックポイントがアクティブベースラインを直接親とする1つの非マージコミットであることを要求します。

  • 独立した厳格なレビュー: Claudeホストのエビデンスは、分離された読み取り専用クローンでの新しいスキーマ制約付きCodexレビューの前に凍結され、両方の承認が1つの現在のコンテンツアドレス指定シールと一致する必要があります。

  • 偽の進捗なし: BoundedRelayは観測されたライフサイクルアクティビティを報告します。完了率やETAをでっち上げることはありません。

  • 明確な公開サーフェス: 機能検出、ワークスペース検査、ルーティング、レビュー、送信、ステータス、結果、キャンセル、履歴のための焦点を絞ったMCPツール。

Codexが作業している間にClaudeが表示できるもの

codex_worker_statusは次のようなサニタイズされたスナップショットを返します:

{
  "status": "running",
  "revision": 14,
  "progress": {
    "phase": "working",
    "activity": "running_command",
    "activityLabel": "Codex is running a sandboxed command",
    "eventCount": 8,
    "commandCount": 2,
    "messageCount": 0,
    "lastEventType": "item.started",
    "updatedAt": "2026-08-27T18:30:00.000Z",
    "elapsedMs": 12420,
    "sinceLastUpdateMs": 180
  }
}

ステータスサーフェスは、固定されたサーバー所有のアクティビティ語彙を公開します。チェーン・オブ・ソート、コマンドテキスト、ツール引数、イベントからのリポジトリファイルパス、または任意のCodexイベントペイロードは公開しません。

Related MCP server: Claude Code Bridge

これはどこに位置づけられるか

一般的なClaude CodeからCodexへの委任には、まずOpenAI公式のopenai/codex-plugin-ccを評価してください。Codexサブプロセスを囲むローカルMCPポリシー境界が具体的に必要な場合は、BoundedRelayを使用してください。

ニーズ

まずはこちら

ベンダーサポートのClaude CodeプラグインUXと組み込みのレビューフロー

openai/codex-plugin-cc

サーバー所有のワークスペース、環境、モデル、リソースポリシーを備えたローカルstdioツール

BoundedRelay

リビジョン対応ロングポーリングによるサニタイズされたライブジョブ状態

BoundedRelay

モデル呼び出しなしの決定的な品質優先SDDルーティング

BoundedRelay

1つの現在のアーティファクトシールに結び付けられた厳格なホスト→Codexレビュー

BoundedRelay

使い捨てクローンからのリビジョン固定パッチ、ソースに自動適用されることはない

BoundedRelay

永続ジョブ、デーモン、リモートマルチユーザーサービス、または監査台帳

v0.1では提供されません

詳細な公式プラグイン比較と、より広範な非ランキングのエコシステム比較を参照してください。

前提条件

  • Node.js >=22.13.0とnpm;

  • PATHで利用可能なGit;

  • 現在のオペレーティングシステムユーザー向けにインストールおよび認証済みのCodex CLI;

  • ローカルstdio MCPサポートを備えたClaude Code;

  • 委任する各タスク用のGitリポジトリ。

BoundedRelayは、サポートされているcodex exec --json非対話型インターフェースを使用します。資格情報の入力も資格情報ストアもありません。保存されたCodex認証は通常のユーザー環境を通じて使用されます。直接のAPIトークン転送は別途オプトインです。

ソースからのクイックスタート

パッケージはまだnpmにありません。このリポジトリをクローンまたはダウンロードして、ローカルで実行してください。

1. ローカル環境のインストール、検証、検査

git clone https://github.com/mohammad19974/bounded-relay.git
cd bounded-relay
npm ci
npm run check
node dist/cli.js doctor

doctorは、モデル呼び出しを行わずに、Node関連の依存関係、Codexコマンドの互換性、Git、Codexのログイン状態をチェックします。

コンシューマーリポジトリをインストールまたは変更せずに、パッケージ化されたSpec KitとClaude Code統合を検査するには:

node dist/cli.js sdd validate
node dist/cli.js sdd path

バリデーターはパッケージ化されたファイルとJSONマニフェストをチェックします。Claude Codeを起動したり認定したりすることはありません。別途のホスト側検証手順については統合ガイドを参照してください。

2. ビルドしたワーカーをClaude Codeに登録する

シェルが絶対パスを記録するように、BoundedRelayディレクトリからこれを実行してください。ユーザースコープは、Claude Codeが他のプロジェクトを開くときにも同じインストールが利用できるため、推奨される個人用デフォルトです:

WORKER_ENTRY="$(pwd)/dist/cli.js"

claude mcp add \
  --transport stdio \
  --scope user \
  bounded-relay \
  -- node "$WORKER_ENTRY" serve

--scope userはオペレーティングシステムアカウントに個人固有であり、リポジトリにコミットされません。代わりに登録を1つのプロジェクトに限定するには、コマンドを実行する前にターゲットGitリポジトリに移動して--scope localを使用してください。ローカルスコープはコマンドが実行されたプロジェクトに属します。

次に確認します:

claude mcp list

Claude Code内で/mcpを実行します。bounded-relayが接続済みとして表示されるはずです。

3. 最初の読み取り専用委任を実行する

Gitリポジトリ内でClaude Codeを開いて、次のように依頼します:

Use bounded-relay to inspect this workspace and start a read-only architecture review.
Poll codex_worker_status with afterRevision so you show each new activity without spam.
When the job completes, retrieve the result and summarize only high-confidence findings.

Claudeはcodex_worker_workspace、codex_worker_analyze、codex_worker_status、codex_worker_resultを使用するはずです。

macOS、Linux、Windows PowerShell、プロジェクトスコープの設定、削除、アップグレード、および一般的なセットアップ障害については、完全なインストールと初回実行ガイドを参照してください。

MCPツール

ツール

目的

codex_worker_capabilities

互換性、ログイン準備状態、有効な制限、プロポーザルの利用可能性、警告を報告します。

codex_worker_workspace

ディレクトリ、そのGit境界、正確なリビジョン、クリーン状態、プロポーザル準備状態を解決します。

codex_worker_sdd_route

モデル呼び出しやファイルシステム書き込みなしで、制限されたタスクDAGを決定的にルーティングします。

codex_worker_sdd_review

ホストエビデンスを凍結し、正確なアーティファクトをシールした後、新しい構造化Codexレビューをキューに入れます。

codex_worker_analyze

制限された読み取り専用Codexジョブをキューに入れます。その出力は助言的であり、厳格なSDDゲートを満たすことはできません。

codex_worker_propose

分離されたパッチプロポーザルをキューに入れます。CCW_ENABLE_PROPOSALS=trueの場合にのみ登録されます。

codex_worker_status

サニタイズされたアクティビティを今すぐ読むか、afterRevisionより新しいリビジョンを待ちます。

codex_worker_result

終端結果または構造化レビューを読み取ります。プロポーザルのパッチテキストにはincludePatch=trueが必要です。

codex_worker_cancel

キュー済みまたは実行中のジョブをキャンセルします。繰り返しのキャンセルは安全です。

codex_worker_list

制限されたプロセスライフタイムのジョブ履歴を{ "jobs": [...] }として一覧表示します。

安定したv0.1プロトコル/設定名前空間はcodex_worker_*とCCW_*のままです。公開ブランドはBoundedRelayです。これらの明示的な名前空間を維持することで、契約が安定する前の不要な破壊的移行を回避できます。

すべてのアクティビティ状態、入力、出力、障害コードを含む完全なツールリファレンスを参照してください。

セーフティ契約

分析モード — デフォルト

  • 正規の許可されたGitリポジトリ内でCodexのread-onlyサンドボックスを要求します。

  • writePathsやexpectedRevisionなどのプロポーザル専用フィールドを拒否します。

  • Codexの最終分析と観測された使用量メタデータを返します。

適応型SDDルーティング — モデル不要

  • ファイルを読み取ったりモデルを呼び出したりせずに、制限されたタスクDAGを検証および正規化します。

  • まずハードなレーン適格性を使用し、次にバージョン付きタスク種別の適合を使用します。

  • 適格なプリファレンスは正確なベース適合の同点の場合にのみ適用し、その後ニュートラルな労力/タスク数シェアを参照します。50/50を強制することはありません。

  • ポリシーバージョン、レーン適合エビデンス、決定段階、理由、逸脱、安全なウェーブ、コンテンツフィンガープリントを返します。

  • 直接の書き込み権限を付与することはありません。各ウェーブには最大1つのライターがあります。

構造化SDDレビュー — 読み取り専用

  • Codexを開始する前に正規化されたClaudeホストエビデンスを凍結し、その結論をCodexプロンプトに含めないようにします。

  • 厳格モードではクリーンな完全リビジョンが必要で、正確なアーティファクトバイトをシールし、シールと一致することが証明された分離されたoriginなしクローンでCodexを読み取り専用で実行します。

  • Codex実行後にソースを再チェックし、両方の独立レビューが同じ現在の厳格シールを承認した場合にのみ合格とします。

  • ドラフトモードと一般的な分析は助言的であり、厳格なゲートを満たすことはできません。

プロポーザルモード — デフォルトで無効

  • サーバーがCCW_ENABLE_PROPOSALS=trueで起動した場合にのみ登録されます。

  • クリーンなソースツリー、正確な完全なGitオブジェクトID、明示的なリポジトリ相対書き込みパスが必要です。

  • 固定されたリビジョンでクリーンな使い捨てクローンを作成します。

  • そのクローン内でのみworkspace-writeを実行します。

  • 変更されたref、変更されたHEAD、スコープ外のファイル、保護されたパス、シンボリックリンクの変更、過大なパッチ、過剰な変更ファイル数を拒否します。

  • 検証済みのフルインデックスバイナリパッチとSHA-256ダイジェストを返し、その後クローンを削除します。

  • パッチをソースに適用したり、コミット、プッシュ、公開、デプロイしたりすることはありません。

読み取り専用モードが機能してからのみ有効にしてください:

claude mcp remove bounded-relay --scope user

claude mcp add \
  --env CCW_ENABLE_PROPOSALS=true \
  --transport stdio \
  --scope user \
  bounded-relay \
  -- node /absolute/path/to/bounded-relay/dist/cli.js serve

codex_worker_resultはデフォルトでパッチテキストを省略します。呼び出し元はincludePatch=trueを要求し、返されたダイジェストを検証し、コンテンツをレビューし、適用するかどうかを別途決定する必要があります。プロポーザルを有効にする前に完全なセキュリティモデルを参照してください。

アーキテクチャ

flowchart TB
    Human[Human developer] <--> Host["Claude Code<br/>host orchestrator<br/>user-selected Claude model"]
    Host --> Plan["Spec Kit plan, committed tasks manifest,<br/>reviews, and human gates"]
    Plan --> Route["Verified adaptive route<br/>exact pending-ID coverage"]
    Route --> Ledger["execution.json<br/>dependency-ordered waves"]

    subgraph Relay["BoundedRelay MCP policy boundary"]
        Router["Deterministic router"]
        Review["Codex read-only lane<br/>analysis or detached strict review"]
        Proposal["Codex proposal<br/>revision-pinned disposable clone"]
    end

    Route <--> Router
    Ledger -->|Codex read-only task| Review
    Ledger -->|Codex write task| Proposal
    Ledger -->|claude-host task| Host
    Proposal -->|patch bytes + digest;<br/>never integrated by BoundedRelay| Host
    Host -->|inspect and integrate one writer| Checkpoint["Tested Git tree + exactly one<br/>non-merge checkpoint commit"]
    Checkpoint -->|next exact wave| Ledger
    Checkpoint -->|freeze host findings| Host
    Host -->|fresh strict review request| Review
    Host -->|frozen host evidence| Dual["Same-seal dual-review<br/>verification"]
    Review -->|strict sealed Codex evidence| Dual
    Dual --> Converge["Fail-closed convergence audit<br/>no direct implementation"]
    Converge -->|no new work| Proof["Revalidated proof pack<br/>isolated recheck + atomic handoff"]
    Converge -->|new pending tasks| Restart["Abort stale chain<br/>fresh routed run"]
    Restart --> Plan
    Proof --> Human

Claude Codeは単一のホストオーケストレーターです。Opus、Sonnet、その他のClaudeモデルは、この図では別個のエージェントではなく、ユーザーが選択できるホストモデルです。BoundedRelayがClaudeを起動することはなく、それらのモデル選択を3モデルオーケストレーションシステムに変えることもありません。

Orchestratorとは、Claude Codeホストがコマンド、アーティファクト、ゲート、プロバイダー呼び出し、および承認された統合を調整することを意味します。これは、第三のモデルでも、モデルセレクターでも、自動マージャーでもありません。BoundedRelayはローカルのオーケストレーション境界であり、Codexワーカーコントロールプレーンです。これを対称的なClaude/Codexオーケストレーターと呼ぶと、その権限を誇張することになります。

Architectureとアーキテクチャ決定記録を参照してください。

計画、実行、レビュー:BoundedRelayなしの場合とありの場合

これはワークフローアーキテクチャの定性的な比較であり、ベンチマークではありません。実際の正確性、速度、トークン使用量、コストは、タスク、モデル、プロンプト、リポジトリ、アカウントに依存します。改善や削減は保証されません。例示された工数ポイントやプロバイダーシェアは、計画用メタデータの例示であり、測定された使用量、品質スコア、ベンチマーク結果ではありません。

Phase

この境界なしの一般的なワークフロー

BoundedRelayとオプションのAdaptive SDDパックを使用する場合

計画

単一のモデルが計画し、非公式に実装者を選び、変更可能なテキストから続行することがあります。

凍結されたホスト→Codexの計画レビューはルーティングの祖先として残ります。コミットされたtasks.mdマニフェストがルーティングされる前に、変更されていないspec.md/plan.mdと完全な厳格なエビデンスが再検証されます。

実行

並列または逐次の編集が異なる状態から開始され、散文的なスコープに依存することがあります。

ルーティングは、execution.jsonを作成する前に、保留中のすべての標準タスクIDを正確に1回カバーする必要があります。各ライターウェーブは、テスト済みツリーが検証された1つの直接子の非マージコミットを生成します。

レビュー

レビューアは異なるリビジョンを検査したり、実行内容の要約を信頼したりすることがあります。

High/Criticalの所見は承認をブロックします。チェーンされたレビューとプルーフパックはソース履歴を再検証し、コンバージェンスは新しい作業がないことを確認するか、新しいルーティング済み実行を要求するだけです。

統制されたパスは、その信頼境界において意図的に逐次的です:

flowchart LR
    S[Specify] --> P[Plan]
    P --> PR[Independent<br/>dual plan review]
    PR --> R[Quality-first<br/>task routing]
    R --> X[Verified execution.json]
    X --> W[Do-while waves<br/>one writer + checkpoint]
    W --> IR[Routing-base-to-HEAD<br/>dual implementation review]
    IR --> V[Fail-closed convergence audit<br/>no direct implementation]
    V -->|no new work| CR[Fresh no-delta<br/>dual review]
    V -->|new pending tasks| NR[Fresh routed run]
    CR --> E[Revalidated proof pack<br/>isolated recheck + atomic handoff]

オプションのSpec Kitワークフロー

このソースリポジトリは、自身の重要な変更に`.specify/

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Lets Codex delegate coding and repository work to an installed Claude Code CLI with permission-aware inspect/write access, model and effort selection, resumable and cloud-attached sessions, and durable synchronous or asynchronous jobs.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables MCP-compatible coding agents to execute the local Codex CLI as a coding agent, including code reviews, session resume/fork, and CLI diagnostics.
    9
    5 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables Claude Code to delegate coding tasks—investigation, review, long-running background jobs, and optional file edits—to a locally installed OpenAI Codex CLI, with the model and reasoning effort chosen per task and read-only execution by default. Follow-up requests reuse Codex's existing context, and write-enabled delegations can be confined to a managed git worktree so the user's own checkout stays untouched.
    9
    42 npm
    MIT