OpenAI GPT Image

Genera y edita imágenes usando las APIs de GPT-4o y DALL-E de OpenAI con control avanzado de indicaciones.

Documentación

openai-gpt-image-mcp

MCP SDK OpenAI SDK License GitHub stars Build Status


Un servidor de herramientas del Protocolo de Contexto del Modelo (MCP) para las APIs de generación y edición de imágenes GPT-4o/gpt-image-1 de OpenAI.

  • Genera imágenes a partir de indicaciones de texto usando los modelos más recientes de OpenAI.
  • Edita imágenes (inpainting, outpainting, composición) con control avanzado de indicaciones.
  • Compatible con: Claude Desktop, Cursor, VSCode, Windsurf y cualquier cliente compatible con MCP.

✨ Características

  • create-image: Genera imágenes a partir de una indicación, con opciones avanzadas (tamaño, calidad, fondo, etc.).
  • edit-image: Edita o amplía imágenes usando una indicación y una máscara opcional, compatible con rutas de archivo y entrada base64.
  • Salida de archivo: Guarda las imágenes generadas directamente en disco, o recíbelas como base64.

🚀 Instalación

git clone https://github.com/SureScaleAI/openai-gpt-image-mcp.git
cd openai-gpt-image-mcp
yarn install
yarn build

🔑 Configuración

Añade a la configuración de Claude Desktop o VSCode (incluyendo Cursor/Windsurf):

{
  "mcpServers": {
    "openai-gpt-image-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js"],
      "env": { "OPENAI_API_KEY": "sk-..." }
    }
  }
}

También es compatible con implementaciones de Azure:

{
  "mcpServers": {
    "openai-gpt-image-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js"],
      "env": { 
        "AZURE_OPENAI_API_KEY": "sk-...",
        "AZURE_OPENAI_ENDPOINT": "my.endpoint.com",
        "OPENAI_API_VERSION": "2024-12-01-preview"
      }
    }
  }
}

También admite proporcionar archivos de entorno:

{
  "mcpServers": {
    "openai-gpt-image-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/dist/index.js", "--env-file", "./deployment/.env"]
    }
  }
}

⚡ Avanzado

  • Para create-image, establece n para generar hasta 10 imágenes a la vez.
  • Para edit-image, proporciona una imagen de máscara (ruta de archivo o base64) para controlar dónde se aplican las ediciones.
  • Proporciona un archivo de entorno con --env-file path/to/file/.env.
  • Consulta src/index.ts para todas las opciones.

🧑‍💻 Desarrollo

  • Código fuente TypeScript: src/index.ts
  • Compilación: yarn build
  • Ejecución: node dist/index.js

📝 Licencia

MIT


🩺 Solución de problemas

  • Asegúrate de que tu OPENAI_API_KEY sea válida y tenga acceso a la API de imágenes.
  • Debes tener una organización de OpenAI verificada. Después de la verificación, puede tardar entre 15 y 20 minutos en activarse el acceso a la API de imágenes.
  • Las rutas de archivo deben ser absolutas.
    • Unix/macOS/Linux: Comenzando con / (p. ej., /path/to/image.png)
    • Windows: Letra de unidad seguida de : (p. ej., C:/path/to/image.png o C:\path\to\image.png)
  • Para la salida de archivos, asegúrate de que el directorio tenga permisos de escritura.
  • Si ves errores sobre tipos de archivo, verifica las extensiones y formatos de tus imágenes.

⚠️ Limitaciones y manejo de archivos grandes

  • Límite de carga útil de 1 MB: Los clientes MCP (incluido Claude Desktop) tienen un límite estricto de 1 MB para las respuestas de las herramientas. Las imágenes grandes (especialmente de alta resolución o múltiples imágenes) pueden superar fácilmente este límite si se devuelven como base64.
  • Cambio automático a salida de archivo: Si el tamaño total de la imagen supera 1 MB, la herramienta guardará automáticamente las imágenes en disco y devolverá las rutas de archivo en lugar de base64. Esto garantiza la compatibilidad y evita errores como result exceeds maximum length of 1048576.
  • Ubicación de archivo predeterminada: Si no especificas una ruta de file_output, las imágenes se guardarán en /tmp (o en el directorio establecido por la variable de entorno MCP_HF_WORK_DIR) con un nombre de archivo único.
  • Variable de entorno:
    • MCP_HF_WORK_DIR: Establece esta variable para controlar dónde se guardan las imágenes grandes y las salidas de archivo. Ejemplo: export MCP_HF_WORK_DIR=/your/desired/dir
  • Mejores prácticas: Para imágenes grandes o de producción, utiliza siempre la salida de archivo y asegúrate de que tu cliente esté configurado para manejar rutas de archivo.

📚 Referencias


🙏 Créditos