Skip to main content
Glama
chatgpt-image-bridge-mcp

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:编辑一个到四个本地或数据 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 模式在此 alpha 版本中没有可移植的身份验证,仅接受回环绑定。正常安装请使用 stdio。未来的带身份验证的网络部署应作为单独、经过明确审查的功能。

安装为 Agent Plugin

可移植包的入口点为:

  • plugin.json

  • mcp.json

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

在任何 Agent Plugins 1.0 客户端中加载仓库目录。客户端提供 PLUGIN_ROOT 和可写的 PLUGIN_DATA;mcp.json 通过 stdio 使用 uv 启动服务器。

Agent Plugins 标准化的是包本身,而非通用的安装命令。在客户端就分发体验达成一致之前,Git 仍然是最可靠的真相来源。

暴露单独内置图像工具的主机可能会在咨询 MCP 之前按名称选择该工具。如果内置工具受订阅限制,请明确选择此插件的 generate_image 工具或其服务器命名空间。参见客户端说明。

构建 OpenAI/Codex 兼容包

OpenAI 当前的插件目录使用单独的 .codex-plugin/plugin.json 包格式。从同一来源生成自包含的兼容性工件,而不是维护第二个服务器实现:

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。

  2. 使用视觉提示和活动项目的绝对根路径调用 generate_image。

  3. 在网站或应用程序中使用返回的 relative_saved_path。

  4. 如果任务需要视觉判断,使用返回的 job_id 调用 analyze_image。

  5. 继续将写入的分析用作视觉证据。不要仅仅因为主模型是纯文本的就用 SVG 或 CSS 替换栅格图像。

对于现有图像,使用恰好一个来源调用 analyze_image:job_id、image_paths 或 image_data_urls。

配置

变量

默认值

用途

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

account default

保留的文本/图像模型选择

CHATGPT_IMAGE_BRIDGE_MCP_VISION_MODEL

account default

支持视觉的 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

unset

可选的 OS 路径分隔符列表,限制可读图像和可写项目根

CHATGPT_IMAGE_BRIDGE_MCP_CODEX_ENV_ALLOWLIST

unset

可选逗号分隔的精确环境变量名,传递给 Codex;值可能到达模型工具

默认情况下,本地路径访问遵循 MCP 的可信 stdio 模型:调用方可以命名账户所有者可以读取的任何路径,而生成的项目副本仅限于 assets/generated/。对于共享或不太受信任的框架,请将 CHATGPT_IMAGE_BRIDGE_MCP_ALLOWED_ROOTS 设置为一个或多个已批准的项目目录。

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 构建和账户权限。

在发布之前,请从干净的检出运行上述命令,并在至少一个 MCP 主机中使用打包的插件验证一次真实生成和一次 analyze_image 后续操作。运行时兼容性可以独立于此仓库变化,因为 Codex app-server 桥接是实验性的。

许可证

MIT。参见 LICENSE。

Related MCP Connectors

Related MCP Servers