Skip to main content
Glama
atomtanstudio

chatgpt-image-bridge-mcp

ChatGPT Image Bridge

ChatGPT Image Bridge は、テキストのみのエージェントにポータブルな画像ワークフローを提供します。

  1. ユーザーのサインイン済み Codex および ChatGPT アカウントでラスター画像を生成または編集します。

  2. 呼び出し元が project_root を指定した場合、<project>/assets/generated/ に直接保存します。

  3. 別の OpenAI ビジョンターンを通じて、画像の検査、比較、文字起こし、または批評を行います。

  4. ビジョンの結果をプレーンテキストとして返し、任意のプライマリモデルが利用できるようにします。

このリポジトリは Agent Plugins 1.0 パッケージです。実際のツール境界は標準の MCP であるため、Factory、DeepSeek Harness、Codex、Cursor、VS Code、その他の個別ホストに依存しません。

[!IMPORTANT] これは独立した実験的なブリッジです。ローカルにインストールされた Codex app-server インターフェースと組み込みの imagegen スキルを使用しますが、これらは安定した公開プロバイダー API ではありません。Codex のアップデートによりアダプターの更新が必要になる場合があります。このプロジェクトは OpenAI とは提携しておらず、承認も受けていません。

公開するもの

  • imagegen_status: ローカルの Codex ログイン、画像権限、ビジョンモデルを検証します。

  • generate_image: 画像を生成し、オプションでアクティブなプロジェクトに保存します。

  • generate_image_edit: 1〜4 つのローカル参照またはデータ URL 参照を編集します。

  • get_image_job: ホストの通常の MCP タイムアウトを超えて存続する生成を回復します。

  • analyze_image: 生成されたジョブ、ローカル画像パス、またはデータ URL を、モデルが読み取り可能な視覚的証拠に変換します。

成功したジョブは常に、プラグインデータディレクトリに正規のコピーを保持します。絶対パスの project_root を指定すると、さらに一意の名前で上書きしないコピーが assets/generated/ に書き込まれます。

Related MCP server: vision-router-mcp

要件

  • Python 3.11 以降を搭載した macOS、Linux、または Windows。

  • ポータブルプラグインランチャー用に PATH 上の uv。

  • ローカルにインストールされた Codex 実行可能ファイル。macOS の ChatGPT バンドルは自動検出されます。それ以外の場合は、codex を PATH に配置するか、CODEX_BIN を設定します。

  • 画像生成と画像入力を宣伝するモデルを備えた、Codex にサインインした ChatGPT アカウント。

このブリッジは、Codex 子プロセスから API キー環境変数を意図的に削除します。ユーザーのローカルな ChatGPT/Codex ログインを使用するように設計されており、API キーを黙って消費することはありません。

各インストールは、受信者の自身のローカル Codex ログインとアカウント権限を使用します。プラグインは、発行者のログイン、サブスクリプション、Cookie、またはトークンをバンドルまたは転送することはありません。

ローカルで実行

uv sync
uv run chatgpt-image-bridge-mcp --stdio

MCP Inspector の場合:

uv run mcp dev src/chatgpt_image_bridge_mcp/server.py

localhost のみの Streamable HTTP エンドポイントの場合:

uv run chatgpt-image-bridge-mcp --http --port 8788

エンドポイントは http://127.0.0.1:8788/mcp です。HTTP モードには、このアルファリリースではポータブルな認証がなく、ループバックバインディングのみを受け入れます。通常のインストールには stdio を使用してください。将来の認証付きネットワーク展開は、別途明示的にレビューされる機能である必要があります。

Agent Plugin としてインストール

ポータブルパッケージのエントリポイントは次のとおりです:

  • plugin.json

  • mcp.json

  • skills/chatgpt-image-workflow/SKILL.md

任意の Agent Plugins 1.0 クライアントでリポジトリディレクトリを読み込みます。クライアントは PLUGIN_ROOT と書き込み可能な PLUGIN_DATA を提供します。mcp.json は uv を使用して stdio 経由でサーバーを起動します。

Agent Plugins はパッケージを標準化しますが、普遍的なインストールコマンドは標準化しません。クライアントが配布 UX に収束するまで、Git が最も信頼できる情報源であり続けます。

別の組み込み画像ツールを公開するホストは、MCP を参照する前にそのツールを名前で選択できます。組み込みツールがサブスクリプションで制限されている場合は、このプラグインの generate_image ツールまたはそのサーバーネームスペースを明示的に選択してください。クライアントノート を参照してください。

OpenAI/Codex 互換パッケージのビルド

OpenAI の現在のプラグインディレクトリは、別の .codex-plugin/plugin.json パッケージ形状を使用します。2 番目のサーバー実装を維持するのではなく、同じソースから自己完結型の互換アーティファクトを生成します:

python3 scripts/build_openai_plugin.py

結果は dist/openai/chatgpt-image-bridge-mcp/ です。これには、同じサーバーとワークフロースキルに加えて、OpenAI の .codex-plugin/plugin.json と .mcp.json マニフェストが含まれます。これを生成出力として維持することで、クロスベンダーパッケージと OpenAI 固有のインストールアーティファクト間の動作のずれを防ぎます。

ビルダーは明示的なリリース許可リストのみをコピーし、シンボリックリンク、Python バイトコード、またはローカルチェックアウトパスを拒否します。これにより、互換アーティファクトがクリーンな Git チェックアウトから再現可能になり、無視された開発者ファイルがリリースに漏れるのを防ぎます。

プレーンな MCP として構成

MCP をサポートするが Agent Plugins をサポートしないクライアントは、同じサーバーを直接起動できます。外側の構成形状をホストに合わせて調整します:

{
  "command": "uv",
  "args": [
    "run",
    "--project",
    "/absolute/path/to/chatgpt-image-bridge-mcp",
    "--locked",
    "--no-dev",
    "chatgpt-image-bridge-mcp",
    "--stdio"
  ],
  "env": {
    "CHATGPT_IMAGE_BRIDGE_MCP_DATA_DIR": "/absolute/writable/path/chatgpt-image-bridge-mcp",
    "UV_PROJECT_ENVIRONMENT": "/absolute/writable/path/chatgpt-image-bridge-mcp/venv"
  }
}

意図したモデルワークフロー

生成の場合:

  1. imagegen_status を 1 回呼び出します。

  2. ビジュアルプロンプトとアクティブなプロジェクトの絶対ルートを指定して generate_image を呼び出します。

  3. 返された relative_saved_path をウェブサイトまたはアプリケーションで使用します。

  4. タスクに視覚的判断が必要な場合は、返された job_id を指定して analyze_image を呼び出します。

  5. 書き込まれた分析を視覚的証拠として使用し続けます。プライマリモデルがテキストのみであるという理由だけで、ラスターを SVG や CSS に置き換えないでください。

既存の画像の場合、job_id、image_paths、または image_data_urls のいずれか 1 つのソースを指定して analyze_image を呼び出します。

構成

変数

デフォルト

目的

CODEX_BIN

自動検出

Codex 実行可能ファイルパス

CHATGPT_IMAGE_BRIDGE_MCP_DATA_DIR

PLUGIN_DATA またはユーザーデータディレクトリ

永続的なジョブと正規のアセット

CHATGPT_IMAGE_BRIDGE_MCP_WORK_DIR

<data>/work

Codex ターン用のスクラッチディレクトリ

CHATGPT_IMAGE_BRIDGE_MCP_MODEL

アカウントデフォルト

予約済みのテキスト/画像モデル選択

CHATGPT_IMAGE_BRIDGE_MCP_VISION_MODEL

アカウントデフォルト

ビジョン対応の Codex モデル

CHATGPT_IMAGE_BRIDGE_MCP_IMAGE_TIMEOUT

1800

プロバイダー生成の最大秒数

CHATGPT_IMAGE_BRIDGE_MCP_TOOL_WAIT

240

回復可能な実行中ジョブを返すまでの秒数

CHATGPT_IMAGE_BRIDGE_MCP_VISION_TIMEOUT

240

視覚分析の最大秒数

CHATGPT_IMAGE_BRIDGE_MCP_MAX_IMAGE_BYTES

16777216

画像ごとの入出力制限

CHATGPT_IMAGE_BRIDGE_MCP_MAX_PENDING_JOBS

8

キューに入れられた実行中生成ジョブの最大数

CHATGPT_IMAGE_BRIDGE_MCP_JOB_RETENTION_SECONDS

2592000

プライベートジョブメタデータと正規のアセットを保持します。プロジェクトコピーは決してクリーンアップされません

CHATGPT_IMAGE_BRIDGE_MCP_ALLOWED_ROOTS

未設定

読み取り可能な画像と書き込み可能なプロジェクトルートを制限するオプションの OS パス区切りリスト

CHATGPT_IMAGE_BRIDGE_MCP_CODEX_ENV_ALLOWLIST

未設定

Codex に渡されるオプションのカンマ区切りの正確な環境名。値はモデルツールに到達する可能性があります

デフォルトでは、ローカルパスアクセスは MCP の信頼された stdio モデルに従います。呼び出し元はアカウント所有者が読み取れる任意のパスを指定できますが、生成されたプロジェクトコピーは assets/generated/ に制限されます。共有または信頼性の低いハーネスの場合は、CHATGPT_IMAGE_BRIDGE_MCP_ALLOWED_ROOTS を 1 つ以上の承認済みプロジェクトディレクトリに設定します。

Codex 子プロセスは、ホストプロセス環境を継承するのではなく、最小限の動作環境を受け取ります。CHATGPT_IMAGE_BRIDGE_MCP_CODEX_ENV_ALLOWLIST にシークレットを追加しないでください。

開発

uv sync
uv run ruff check src tests scripts
uv run pytest
uv build
python3 scripts/build_openai_plugin.py

テストは偽のアカウントランタイムを使用し、プロバイダー呼び出しや有料の画像リクエストを行いません。特定の Codex ビルドとアカウント権限を証明するには、別のライブスモークテストが必要です。

リリースを公開する前に、クリーンなチェックアウトから上記のコマンドを実行し、パッケージ化されたプラグインを使用して少なくとも 1 つの MCP ホストで 1 つの実際の生成と 1 つの analyze_image フォローアップを検証してください。Codex app-server ブリッジは実験的であるため、ランタイムの互換性はこのリポジトリとは独立して変更される可能性があります。

ライセンス

MIT。LICENSE を参照してください。

Related MCP Connectors

Related MCP Servers