Skip to main content
Glama
AaAndrew233

ChatGPT Codex Bridge

by AaAndrew233

ChatGPT Codex Bridge

简体中文 | Security | Contributing

ローカルファーストのMCPブリッジ。ChatGPTが登録済みのCodexプロジェクトを検査し、Codexセッション履歴を読み取り、確認済みのタスクをローカルのCodex CLIにディスパッチできるようにします。

[!IMPORTANT] これは独立したコミュニティプロジェクトです。OpenAIの公式製品ではなく、OpenAIとは提携しておらず、OpenAIによる推奨も受けていません。ChatGPT、Codex、OpenAIはそれぞれの権利所有者の商標です。

機能

  • ホームディレクトリ全体へのアクセスを許可することなく、Codex Desktopに登録済みのプロジェクトを検出します。

  • 分析と計画をCodexの読み取り専用サンドボックス内で実行します。

  • ワークスペースへの書き込み前に、短時間有効な使い捨て確認トークンを要求します。

  • カーソルページネーションと編集(redaction)付きで、表示可能なCodexセッションを一覧表示・読み取りします。

  • 数ギガバイトの履歴をメモリに読み込むことなく、境界付きのプロジェクト履歴コンテキストを構築します。

  • ローカルのCodexアプリサーバープロトコルを通じて、永続的なCodex Desktopセッションを作成・継続します。

  • ChatGPTが提供するコンテキストを、シークレット検出付きの信頼できない参照テキストとしてCodexに渡します。

  • バックグラウンドジョブを使用するため、長時間実行されるCodexタスクがMCPトンネルリクエストを開いたままにしません。

このブリッジは任意のシェルツールを公開せず、パブリックポートで待ち受けることもありません。リモートアクセスは公式のOpenAI Secure MCP Tunnel clientによって提供されます。

アーキテクチャ

flowchart LR
    A[ChatGPT] -->|MCP connector| B[OpenAI Secure MCP Tunnel]
    B -->|outbound tunnel| C[tunnel-client on your machine]
    C -->|stdio MCP| D[ChatGPT Codex Bridge]
    D -->|sandboxed commands| E[Codex CLI]
    D -->|read-only indexes| F[Codex projects and sessions]
    D -. optional local IPC .-> G[Codex Desktop sidebar refresh]

オプションのサイドバー更新パスは、非公開でサポート対象外のCodex Desktop拡張機能に依存しており、このリポジトリには含まれていません。コアブリッジはこれなしで動作します。新しく作成された永続セッションは、サイドバーに表示される前にCodex Desktopの再起動が必要な場合があります。

要件

  • Python 3.11+ を搭載したmacOSまたはLinux

  • 動作するcodex CLIのインストールとサインイン

  • 自動プロジェクト検出とセッション履歴機能のためのCodex Desktop

  • ドキュメント記載のTunnelインストールパスのためのHomebrew

  • Secure MCP TunnelsへのOpenAI組織アクセス

このプロジェクトは現在macOSでテストされています。オプションのDesktop通知パスがUnixソケットを使用するため、Windowsはサポートされていません。

クイックスタート

git clone https://github.com/AaAndrew233/chatgpt-codex-bridge.git
cd chatgpt-codex-bridge
./scripts/bootstrap.sh

bootstrap.shはローカルの仮想環境を作成し、レビュー済みの依存関係ロックをインストールし、追跡対象外のconfig.json.mcp.jsonファイルを生成します。既存の設定を上書きすることはありません。

config.jsonを開き、認証ソースを1つ選択します:

{
  "codex_command": "codex",
  "model": null,
  "codex_project_catalog": "~/.codex/.codex-global-state.json",
  "allowed_roots": []
}
  • modelnullのままにして、現在のCodex設定を継承します。

  • allowed_rootsを空のままにして、Codex Desktopに登録されているプロジェクトのみを使用します。

  • 自動検出が利用できない場合にのみ、狭いプロジェクトディレクトリをallowed_rootsに追加します。

  • /やホームディレクトリを許可しないでください。ブリッジは両方を拒否します。

ローカルチェックを実行します:

./scripts/check_public_release.py
.venv/bin/python -m unittest discover -s tests -v

Secure MCP Tunnel経由で接続

公式クライアントをインストールします:

brew install openai/tools/tunnel-client
tunnel-client --version
tunnel-client help quickstart

ランタイムキーをこのリポジトリの外のファイルに保存し、その権限を制限します:

chmod 600 /ABSOLUTE/PATH/TO/runtime-key

管理対象のバックグラウンドランタイムを作成します。すべてのプレースホルダー値を置き換えてください:

tunnel-client runtimes connect \
  --alias codex-bridge \
  --profile codex-bridge \
  --tunnel-id '<YOUR_TUNNEL_ID>' \
  --runtime-api-key 'file:/ABSOLUTE/PATH/TO/runtime-key' \
  --mcp-command '/ABSOLUTE/PATH/TO/chatgpt-codex-bridge/scripts/run_server.sh'

管理対象ランタイムが実行中で、正常で、準備完了であることを確認します:

tunnel-client runtimes status codex-bridge --json

次に、ChatGPTコネクタ設定でコネクタを作成または更新します。組織のロール、トンネルID、ランタイムキー、現在のコマンドについては、公式のTunnelオンボーディングガイドが信頼できる情報源です: openai/tunnel-client/docs/onboarding.md

長時間実行されるランタイムに管理者キーを使用しないでください。ランタイムキー、トンネルID、生成されたプロファイル、config.json.mcp.jsonをコミットしないでください。

ChatGPTでの最初のテスト

コネクタを有効にして新しいChatGPT会話を開始し、次のように尋ねます:

Call codex_status. Show only whether the bridge is healthy, the available tool names,
and the registered project names. Do not modify files.

次に、読み取り専用タスクをテストします:

Use codex_analyze on <PROJECT_PATH> to summarize the project structure and identify
the three highest-risk areas. Poll the job until it finishes and retrieve every output page.
Do not modify files.

書き込みの場合、ChatGPTは最初にcodex_prepare_applyを呼び出し、正確な計画を表示し、あなたの明示的な確認を得て、その後にのみ返されたトークンを使用してcodex_applyを呼び出す必要があります。

MCPツール

ツール

目的

書き込み確認

codex_status

ヘルス、機能、プロジェクト、ジョブ、互換性のスナップショット

なし

codex_list_projects

承認済みのCodexプロジェクトを一覧表示

なし

codex_prepare_project_context

境界付き・ページネーション付きのプロジェクト履歴コンテキストを構築

なし

codex_analyze

読み取り専用のCodexタスクを送信

なし

codex_plan

計画のみのCodexタスクを送信

なし

codex_prepare_apply

1つの正確な書き込みリクエスト用の短時間有効なトークンを発行

なし

codex_apply

ワークスペース書き込みのCodexタスクを送信

あり

codex_job_status

バックグラウンドジョブをポーリング

なし

codex_job_result

出力ページネーション付きで完了した結果を読み取り

なし

codex_cancel_job

キュー済みまたは実行中のジョブをキャンセル

なし

codex_list_sessions

ページネーション付きで表示可能なCodexセッションを一覧表示

なし

codex_read_session

編集(redaction)付きで表示可能なユーザーおよびアシスタントメッセージを読み取り

なし

codex_create_desktop_session

永続的なCodex Desktopセッションを作成

書き込みモードのみ

codex_continue_desktop_session

永続セッションを継続

書き込みモードのみ

codex_handoff_chat_context

明示的なChatGPTコンテキストでセッションを作成

書き込みモードのみ

セキュリティモデル

信頼境界は意図的に狭く設定されています:

  • プロジェクトアクセスは、検証済みのCodexプロジェクトルートまたは明示的な狭いルートに制限されます。

  • .ssh.aws.gnupg.kube.configLibraryなどの機密ディレクトリは、自動検出中に拒否されます。

  • Codexサブプロセスは最小限の環境を受け取り、明示的なサンドボックスモードで実行されます。

  • 書き込みトークンは期限切れになり、使い捨てであり、正確なプロジェクトとリクエストにバインドされます。

  • セッション出力はユーザー表示メッセージにフィルタリングされ、マシンから出る前に編集(redact)されます。

  • リクエスト、出力、スキャン、並行性、保持、タイムアウトの制限は境界付きです。

  • ChatGPTコンテキストは信頼できない入力として扱われ、ローカルポリシーを上書きできません。

ブリッジをチームに公開する前にdocs/security-model.mdをお読みください。脆弱性レポートはSECURITY.mdに従ってください。

運用上の制限

デフォルトの制限はconfig.example.jsonに文書化され、起動時に適用されます。重要なデフォルトには、2つの同時ジョブ、30分の完了ジョブ保持、120,000文字のリクエスト上限、ページネーション付き100,000文字のジョブ出力、プロジェクト履歴の境界付きストリーミングスキャンが含まれます。

scan_completeは、設定されたソーススキャンが完了したかどうかを示します。context_completeは、スキャンされたすべてのテキストが返されたコンテキスト予算に収まったかどうかを別途示します。スキャンの完了は、無制限のエクスポートと同じではありません。

開発

./scripts/bootstrap.sh
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python -m compileall -q \
  bridge_core.py conversation_catalog.py desktop_assignment.py \
  desktop_sessions.py project_context.py server.py

貢献ルールについてはCONTRIBUTING.mdを、モジュール境界についてはdocs/architecture.mdを参照してください。

ライセンス

Apache License 2.0。LICENSEを参照してください。

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only

  • A paid remote MCP for OpenAI Codex agent coordination MCP, built to return verdicts, receipts, usage

  • Give AI agents secure access to ZERNO project briefs, tasks, and context over remote MCP.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AaAndrew233/chatgpt-codex-bridge'

If you have feedback or need assistance with the MCP directory API, please join our Discord server