Skip to main content
Glama
atomtanstudio

chatgpt-image-bridge-mcp

ChatGPT Image Bridge

ChatGPT Image Bridge ofrece a los agentes solo de texto un flujo de trabajo de imágenes portátil:

  1. Generar o editar un ráster con la cuenta de Codex y ChatGPT con sesión iniciada del usuario.

  2. Guardarlo directamente en <proyecto>/assets/generated/ cuando el llamador proporcione project_root.

  3. Inspeccionarlo, compararlo, transcribirlo o criticarlo mediante un turno de visión de OpenAI por separado.

  4. Devolver los hallazgos de visión como texto plano que cualquier modelo principal pueda usar.

El repositorio es un paquete de Agent Plugins 1.0. Su límite de herramientas real es MCP estándar, por lo que no está vinculado a Factory, DeepSeek Harness, Codex, Cursor, VS Code ni a otro host individual.

[!IMPORTANTE] Este es un puente independiente y experimental. Utiliza la interfaz app-server de Codex instalada localmente y la habilidad integrada imagegen, que no son una API de proveedor pública estable. Una actualización de Codex puede requerir una actualización del adaptador. Este proyecto no está afiliado ni respaldado por OpenAI.

Qué expone

  • imagegen_status: verifica el inicio de sesión local de Codex, el derecho de imágenes y el modelo de visión.

  • generate_image: genera una imagen y opcionalmente la guarda en un proyecto activo.

  • generate_image_edit: edita de una a cuatro referencias locales o de URL de datos.

  • get_image_job: recupera una generación que sobrevive al tiempo de espera normal de MCP del host.

  • analyze_image: convierte un trabajo generado, una ruta de imagen local o una URL de datos en evidencia visual legible por el modelo.

Los trabajos exitosos siempre conservan una copia canónica en el directorio de datos del plugin. Proporcionar un project_root absoluto además escribe una copia con nombre único y sin sobrescritura en assets/generated/.

Related MCP server: openai-gpt-image-1-mcp

Requisitos

  • macOS, Linux o Windows con Python 3.11 o más reciente.

  • uv en PATH para el lanzador de plugin portátil.

  • Un ejecutable de Codex instalado localmente. El paquete de ChatGPT para macOS se detecta automáticamente; en otros casos, coloca codex en PATH o establece CODEX_BIN.

  • Una cuenta de ChatGPT con sesión iniciada en Codex con generación de imágenes y un modelo que anuncie entrada de imágenes.

El puente elimina deliberadamente las variables de entorno de clave de API del proceso hijo de Codex. Está diseñado para usar el inicio de sesión local de ChatGPT/Codex del usuario, no para gastar silenciosamente una clave de API.

Cada instalación utiliza el inicio de sesión local de Codex y el derecho de cuenta del destinatario. El plugin nunca incluye ni transfiere el inicio de sesión, la suscripción, las cookies o los tokens del publicador.

Ejecutar localmente

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

Para el MCP Inspector:

uv run mcp dev src/chatgpt_image_bridge_mcp/server.py

Para un endpoint HTTP Streamable solo en localhost:

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

El endpoint es http://127.0.0.1:8788/mcp. El modo HTTP no tiene autenticación portátil en esta versión alfa y solo acepta enlaces de loopback. Usa stdio para instalaciones normales. Un despliegue de red autenticado futuro debería ser una característica separada y revisada explícitamente.

Instalar como un Agent Plugin

Los puntos de entrada del paquete portátil son:

  • plugin.json

  • mcp.json

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

Carga el directorio del repositorio en cualquier cliente de Agent Plugins 1.0. El cliente proporciona PLUGIN_ROOT y un PLUGIN_DATA escribible; mcp.json lanza el servidor con uv sobre stdio.

Agent Plugins estandariza el paquete, no un comando de instalación universal. Hasta que los clientes converjan en la experiencia de distribución, Git sigue siendo la fuente de verdad más confiable.

Los hosts que exponen una herramienta de imágenes integrada separada pueden elegir esa herramienta por nombre antes de consultar MCP. Si la herramienta integrada está restringida por suscripción, selecciona explícitamente la herramienta generate_image de este plugin o su espacio de nombres de servidor. Consulta notas del cliente.

Construir el paquete de compatibilidad de OpenAI/Codex

El directorio de plugins actual de OpenAI usa una forma de paquete separada .codex-plugin/plugin.json. Genera un artefacto de compatibilidad autocontenido desde la misma fuente en lugar de mantener una segunda implementación del servidor:

python3 scripts/build_openai_plugin.py

El resultado es dist/openai/chatgpt-image-bridge-mcp/. Contiene el mismo servidor y habilidad de flujo de trabajo, más los manifiestos .codex-plugin/plugin.json y .mcp.json de OpenAI. Mantener esto como salida generada evita la deriva de comportamiento entre el paquete de múltiples proveedores y el artefacto de instalación específico de OpenAI.

El constructor copia solo una lista de permitidos de lanzamiento explícita y rechaza enlaces simbólicos, bytecode de Python o la ruta del checkout local. Esto hace que el artefacto de compatibilidad sea reproducible desde un checkout limpio de Git y evita que los archivos de desarrollador ignorados se filtren en un lanzamiento.

Configurar como MCP simple

Los clientes que admiten MCP pero no Agent Plugins pueden lanzar el mismo servidor directamente. Adapta la forma de configuración externa al host:

{
  "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"
  }
}

Flujo de trabajo de modelo previsto

Para generación:

  1. Llama a imagegen_status una vez.

  2. Llama a generate_image con el prompt visual y la raíz absoluta del proyecto activo.

  3. Usa el relative_saved_path devuelto en el sitio web o la aplicación.

  4. Si la tarea requiere juicio visual, llama a analyze_image con el job_id devuelto.

  5. Continúa usando el análisis escrito como evidencia visual. No reemplaces el ráster con SVG o CSS solo porque el modelo principal sea solo de texto.

Para una imagen existente, llama a analyze_image con exactamente una fuente: job_id, image_paths o image_data_urls.

Configuración

Variable

Predeterminado

Propósito

CODEX_BIN

auto-detectado

Ruta del ejecutable de Codex

CHATGPT_IMAGE_BRIDGE_MCP_DATA_DIR

PLUGIN_DATA o directorio de datos del usuario

Trabajos duraderos y activos canónicos

CHATGPT_IMAGE_BRIDGE_MCP_WORK_DIR

<data>/work

Directorio temporal para turnos de Codex

CHATGPT_IMAGE_BRIDGE_MCP_MODEL

predeterminado de la cuenta

Elección de modelo de texto/imagen reservado

CHATGPT_IMAGE_BRIDGE_MCP_VISION_MODEL

predeterminado de la cuenta

Modelo de Codex con capacidad de visión

CHATGPT_IMAGE_BRIDGE_MCP_IMAGE_TIMEOUT

1800

Segundos máximos de generación del proveedor

CHATGPT_IMAGE_BRIDGE_MCP_TOOL_WAIT

240

Segundos antes de devolver un trabajo en ejecución recuperable

CHATGPT_IMAGE_BRIDGE_MCP_VISION_TIMEOUT

240

Segundos máximos de análisis visual

CHATGPT_IMAGE_BRIDGE_MCP_MAX_IMAGE_BYTES

16777216

Límite de entrada/salida por imagen

CHATGPT_IMAGE_BRIDGE_MCP_MAX_PENDING_JOBS

8

Máximo de trabajos de generación en cola más en ejecución

CHATGPT_IMAGE_BRIDGE_MCP_JOB_RETENTION_SECONDS

2592000

Conserva metadatos de trabajo privados y activos canónicos; las copias de proyecto nunca se limpian

CHATGPT_IMAGE_BRIDGE_MCP_ALLOWED_ROOTS

sin establecer

Lista opcional separada por separador de ruta del sistema que restringe imágenes legibles y raíces de proyecto escribibles

CHATGPT_IMAGE_BRIDGE_MCP_CODEX_ENV_ALLOWLIST

sin establecer

Lista opcional separada por comas de nombres de entorno exactos pasados a Codex; los valores pueden llegar a las herramientas del modelo

Por defecto, el acceso a rutas locales sigue el modelo de stdio confiable de MCP: un llamador puede nombrar cualquier ruta que el propietario de la cuenta pueda leer, mientras que las copias de proyecto generadas se limitan a assets/generated/. Para entornos compartidos o menos confiables, establece CHATGPT_IMAGE_BRIDGE_MCP_ALLOWED_ROOTS a uno o más directorios de proyecto aprobados.

El hijo de Codex recibe un entorno operativo mínimo en lugar de heredar el entorno del proceso host. No agregues secretos a CHATGPT_IMAGE_BRIDGE_MCP_CODEX_ENV_ALLOWLIST.

Desarrollo

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

Las pruebas usan un runtime de cuenta falso y no hacen llamadas al proveedor ni solicitudes de imágenes pagadas. Se requiere una prueba de humo en vivo separada para demostrar una compilación de Codex y un derecho de cuenta específicos.

Antes de publicar un lanzamiento, ejecuta los comandos anteriores desde un checkout limpio y verifica una generación real más un seguimiento de analyze_image usando el plugin empaquetado en al menos un host MCP. La compatibilidad del runtime puede cambiar independientemente de este repositorio porque el puente app-server de Codex es experimental.

Licencia

MIT. Consulta LICENSE.

A
license - permissive license
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 Servers

View all related MCP servers

Related MCP Connectors

  • Generate images, GIFs, and PDFs from HTML, URLs, or templates — from your AI agent.

  • Generate images, video, and audio with Glif's media-generation agent

  • OCR, transcription, file extraction, and image generation for AI agents via 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/atomtanstudio/chatgpt-image-bridge-mcp'

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