imgx-mcp

Servidor MCP de generación y edición de imágenes con IA. Conversión de texto a imagen, edición basada en texto con refinamiento iterativo. Múltiples proveedores (Gemini + OpenAI).

Documentación

imgx-mcp

npm version npm downloads Cursor Directory License: MIT

Servidor MCP de generación y edición de imágenes con IA. Funciona con Claude Code, Gemini CLI, Cursor, Windsurf y cualquier herramienta compatible con MCP.

Genera imágenes a partir de texto, edita imágenes existentes con instrucciones de texto, itera sobre los resultados — todo desde tu entorno de codificación con IA.

Qué hace diferente a imgx-mcp

  • Sin ingeniería de prompts — Tu agente de IA mantiene el contexto de la conversación y construye automáticamente prompts optimizados. Di lo que necesitas; el agente maneja la estructura del prompt, la selección del modelo y las dimensiones específicas de cada plataforma
  • 24 técnicas de edición integradas — Atmósfera, composición, transferencia de estilo, manipulación de elementos y estilos de tendencia — empaquetadas como una Skill que tu agente aplica bajo demanda
  • Gestión de sesiones con deshacer/rehacer — Edita de forma iterativa, retrocede a cualquier punto, crea ramas o cambia entre sesiones paralelas — control de versiones para imágenes

Inicio rápido

Añádelo a la configuración MCP de tu herramienta (.mcp.json, settings.json, etc.):

{
  "mcpServers": {
    "imgx": {
      "command": "npx",
      "args": ["--package=imgx-mcp", "-y", "imgx-mcp"],
      "env": { "GEMINI_API_KEY": "your-key" }
    }
  }
}

Eso es todo. Tu agente de IA ya puede generar y editar imágenes.

Windows: Reemplaza "command": "npx" por "command": "cmd" y antepone "/c" al arreglo de args.

Skill (Claude Code)

Para usuarios de Claude Code, imgx-mcp incluye una skill image-generation — un prompt guiado que enseña a Claude a usar las herramientas MCP de forma eficaz. Con la skill instalada, escribe /image-generation para iniciar un flujo de trabajo guiado.

Instalar la skill

Copia el directorio de la skill desde el paquete npm o el repositorio de GitHub a tu proyecto:

# From npm (after npx has cached the package)
cp -r $(npm root -g)/imgx-mcp/skills .claude/skills

# Or from the GitHub repository
curl -sL https://raw.githubusercontent.com/somacoffeekyoto/imgx-mcp/main/skills/image-generation/SKILL.md \
  -o .claude/skills/image-generation/SKILL.md --create-dirs
curl -sL https://raw.githubusercontent.com/somacoffeekyoto/imgx-mcp/main/skills/image-generation/references/providers.md \
  -o .claude/skills/image-generation/references/providers.md --create-dirs

O coloca los archivos de la skill manualmente:

your-project/
  .mcp.json                              ← MCP server config (Quick start above)
  .claude/
    skills/
      image-generation/
        SKILL.md                         ← skill prompt
        references/
          providers.md                   ← provider reference

Los archivos de la skill están incluidos en el paquete npm bajo skills/ y en el repositorio de GitHub.

Skill personal (todos los proyectos): Colócala en ~/.claude/skills/image-generation/ en lugar de .claude/skills/.

Claude Desktop

Claude Desktop admite skills mediante carga ZIP:

  1. Descarga image-generation-skill.zip del repositorio (o encuéntralo en el paquete npm bajo dist/)
  2. En Claude Desktop: Settings > Profile > Customize > Skills > Add Skill
  3. Sube el ZIP

Actualiza la skill volviendo a descargar y volviendo a subir el ZIP después de nuevos lanzamientos.

Qué aporta la Skill

El servidor MCP le da a la IA la capacidad de generar y editar imágenes. La Skill añade el conocimiento de cómo usar esas herramientas correctamente — para que no necesites aprender sintaxis de prompts, especificaciones de modelos ni parámetros específicos del servicio.

  • Construcción automática de prompts — Di "Necesito una imagen de portada". La IA construye un prompt estructurado usando el marco Sujeto-Contexto-Estilo: qué mostrar, dónde colocarlo, cómo debe verse
  • 24 técnicas de edición — Ajuste de atmósfera, cambios de composición, manipulación de elementos, transferencia de estilo. "Hazlo más cálido" o "añade profundidad de campo" — la IA selecciona la instrucción correcta para el modelo
  • Selección inteligente de modelo — Comienza con el modelo gratuito. Sugiere actualizaciones de pago solo cuando tus necesidades superan las capacidades del nivel gratuito, y explica qué cambios implica
  • Dimensionado consciente de la plataforma — "OGP de Twitter" o "captura de App Store" — la IA elige la relación de aspecto y resolución correctas. Cubre redes sociales, OGP, tiendas de aplicaciones, impresión y plataformas de blogs
  • Plantillas de estilos de tendencia — Ghibli, figura de acción en caja, arcilla 3D, pixel art, chibi y más. Nombra el estilo y la IA aplica la estructura de prompt correcta
  • Consistencia multi-imagen — Los tokens de diseño y las plantillas de ADN de personajes mantienen la coherencia visual en presentaciones de diapositivas, series de redes sociales y activos de marca

Los modelos de generación de imágenes ya tienen estas capacidades. La Skill es lo que las hace accesibles sin conocimiento especializado.

Servidor MCP vs Skill

Servidor MCPSkill
Qué haceExpone herramientas de imagen a los agentes de IAPrompt guiado para usar las herramientas
Funciona conCualquier herramienta compatible con MCPClaude Code, Claude Desktop
InstalaciónAñadir a .mcp.jsonCopiar archivos de la skill al proyecto
Compartir en equipoConfirmar .mcp.json en el repositorioConfirmar .claude/skills/ en el repositorio

Recomendado: Configura el servidor MCP (Inicio rápido) + instala la skill si usas Claude Code.

Herramientas MCP

HerramientaDescripción
generate_imageGenera una imagen a partir de un prompt de texto
edit_imageEdita una imagen existente con instrucciones de texto
edit_lastEdita la última imagen generada/editada (no se necesita ruta de entrada)
undo_editDeshace la última edición, volviendo a la imagen anterior en la sesión
redo_editRehace una edición previamente deshecha
edit_historyMuestra todas las sesiones y su historial de ediciones con metadatos
switch_sessionCambia a una sesión de edición diferente
clear_historyLimpia el historial del proyecto (opcionalmente elimina los archivos de imagen)
set_output_dirCambia el directorio de salida predeterminado (opcionalmente mueve archivos existentes)
list_providersLista los proveedores y capacidades disponibles

El directorio .imgx/ almacena tanto el historial de ediciones como la salida de imágenes predeterminada. Su ubicación depende de la detección de la raíz del proyecto:

Raíz del proyectoUbicación de .imgx/Historial
Detectada<project-root>/.imgx/<project-root>/.imgx/output-history.json
No detectada~/Pictures/imgx/ (solo imágenes)~/.config/imgx/output-history.json (global)

Todos los clientes que resuelven a la misma raíz de proyecto comparten el mismo historial. Cada sesión tiene su propio subdirectorio. Las rutas de archivo se devuelven en la respuesta. La vista previa de la imagen en línea se incluye en las respuestas MCP (base64).

Edición iterativa

La herramienta edit_last usa la salida de la llamada anterior a generate_image o edit_image como entrada. Esto permite un flujo de trabajo conversacional:

"Generate a coffee shop interior" → generate_image
"Make the lighting warmer"        → edit_last
"Add a person reading a book"     → edit_last

No es necesario especificar rutas de archivo entre pasos.

Gestión de sesiones

Cada llamada a generate_image inicia una nueva sesión. Las llamadas posteriores a edit_last se añaden a la misma sesión, formando una cadena de ediciones. Cada sesión tiene su propio directorio de salida.

Deshacer / Rehacer — Retrocede y avanza por la cadena de ediciones:

generate → edit_last → edit_last → edit_last
                                    ↑ current
                       ← undo_edit
                       ↑ current
                            redo_edit →
                                    ↑ current

Después de deshacer, llamar a edit_last crea una rama desde la posición actual (las entradas abandonadas y sus archivos se eliminan del disco).

Nombrado de archivos — edit_last genera nombres de archivo secuenciales basados en el archivo de origen:

generate_image             → cover.png
edit_last                  → cover-1.png
edit_last                  → cover-2.png

generate_image (no output) → imgx-a1b2c3d4.png
edit_last                  → imgx-a1b2c3d4-1.png

Cambio de sesión — Usa edit_history para ver todas las sesiones y luego switch_session para reanudar una sesión anterior. La herramienta edit_last usará la posición actual en la sesión cambiada.

Directorio de salida — edit_last hereda el directorio de salida de la sesión. Si se llamó a generate_image con output_dir, todas las llamadas posteriores a edit_last en esa sesión producen salida en el mismo directorio. La ruta output_dir se registra como metadato de sesión en output-history.json. Esto solo afecta a dónde se guardan los archivos de imagen — el historial siempre permanece en .imgx/ (o en el directorio de configuración global).

Configuración de clave de API

Configura al menos un proveedor:

Gemini — obtén una clave de Google AI Studio (nivel gratuito disponible para gemini-2.5-flash-image):

imgx config set api-key YOUR_GEMINI_API_KEY --provider gemini

OpenAI — obtén una clave de OpenAI Platform:

imgx config set api-key YOUR_OPENAI_API_KEY --provider openai

Las claves se almacenan en ~/.config/imgx/config.json (Linux/macOS) o %APPDATA%\imgx\config.json (Windows). Alternativamente, pasa las claves a través de la sección env en tu configuración MCP, o define variables de entorno:

export GEMINI_API_KEY="your-api-key"
export OPENAI_API_KEY="your-api-key"

Incluye solo las claves de API de los proveedores que quieras usar. Se requiere al menos una.

Configuración MCP por herramienta

Claude Code

.mcp.json en la raíz de tu proyecto:

{
  "mcpServers": {
    "imgx": {
      "command": "npx",
      "args": ["--package=imgx-mcp", "-y", "imgx-mcp"],
      "env": { "GEMINI_API_KEY": "your-key", "OPENAI_API_KEY": "your-key" }
    }
  }
}

Gemini CLI

~/.gemini/settings.json:

{
  "mcpServers": {
    "imgx": {
      "command": "npx",
      "args": ["--package=imgx-mcp", "-y", "imgx-mcp"],
      "env": { "GEMINI_API_KEY": "your-key", "OPENAI_API_KEY": "your-key" }
    }
  }
}

Claude Desktop

claude_desktop_config.json:

macOS / Linux:

{
  "mcpServers": {
    "imgx": {
      "command": "npx",
      "args": ["--package=imgx-mcp", "-y", "imgx-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-key",
        "OPENAI_API_KEY": "your-key",
        "IMGX_PROJECT_ROOT": ""
      }
    }
  }
}

Windows:

{
  "mcpServers": {
    "imgx": {
      "command": "cmd",
      "args": ["/c", "npx", "--package=imgx-mcp", "-y", "imgx-mcp"],
      "env": {
        "GEMINI_API_KEY": "your-key",
        "OPENAI_API_KEY": "your-key",
        "IMGX_PROJECT_ROOT": ""
      }
    }
  }
}

IMGX_PROJECT_ROOT — Configúralo con la ruta de tu proyecto para guardar imágenes dentro del proyecto (p. ej. "C:\\Users\\you\\my-project"). Déjalo vacío para usar el valor global predeterminado (~/Pictures/imgx).

Ubicación del archivo de configuración: %APPDATA%\Claude\claude_desktop_config.json (Windows) o ~/Library/Application Support/Claude/claude_desktop_config.json (macOS). Después de editarlo, reinicia Claude Desktop.

Nota: Claude Desktop no admite la detección automática (raíces MCP / búsqueda de .imgxrc basada en CWD). Usa IMGX_PROJECT_ROOT en la configuración anterior (por cliente), o ejecuta imgx config set project-root /path/to/project (compartido entre todos los clientes).

Codex CLI

.codex/config.toml:

[mcp_servers.imgx]
command = "npx"
args = ["--package=imgx-mcp", "-y", "imgx-mcp"]
env = { GEMINI_API_KEY = "your-key", OPENAI_API_KEY = "your-key" }

Otras herramientas

El mismo patrón npx funciona con Cursor, Windsurf, Continue.dev, Cline, Zed y otras herramientas compatibles con MCP. En Windows, usa cmd /c npx en lugar de npx directamente.

Proveedores

ProveedorModelosCapacidades
Geminigemini-2.5-flash-image (Nano Banana — nivel gratuito, predeterminado), gemini-3-pro-image-preview (Nano Banana Pro), gemini-3.1-flash-image-preview (Nano Banana 2)Generar, editar, relación de aspecto (hasta 14 proporciones), resolución (hasta 4K), imágenes de referencia, control de personas
OpenAIgpt-image-1, gpt-image-1.5 (más rápido, 20 % más barato), gpt-image-1-mini (económico)Generar, editar, relación de aspecto, salida múltiple, formato de salida (PNG/JPEG/WebP), transparencia de fondo

Arquitectura

imgx separa las preocupaciones independientes del modelo y dependientes del modelo:

MCP server (tool definitions, stdio transport)    CLI (argument parsing, output formatting)
 ↓                                                 ↓
Core (Capability enum, ImageProvider interface, provider registry, file I/O, history)
 ↓
Provider (model-specific API calls, capability declarations)

El servidor MCP y la CLI son dos puntos de entrada al mismo núcleo. Ambos llaman a las mismas funciones de proveedor.

Cada proveedor declara sus capacidades compatibles. Añadir un nuevo proveedor significa implementar la interfaz ImageProvider y registrarla — sin cambios en la capa MCP o CLI.

Sistema de capacidades

CapacidadDescripción
TEXT_TO_IMAGEGenerar imágenes a partir de prompts de texto
IMAGE_EDITINGEditar imágenes con instrucciones de texto
ASPECT_RATIOControlar la relación de aspecto de salida
RESOLUTION_CONTROLControlar la resolución de salida
MULTIPLE_OUTPUTSGenerar múltiples imágenes por solicitud
REFERENCE_IMAGESUsar imágenes de referencia como guía
PERSON_CONTROLControlar la generación de personas en la salida
OUTPUT_FORMATElegir formato de salida (PNG, JPEG, WebP)

CLI

imgx-mcp también funciona como herramienta independiente de línea de comandos.

Instalación

npm install -g imgx-mcp

Requiere Node.js 18+.

Uso

# Generate
imgx generate -p "A coffee cup on a wooden table, morning light" -o output.png

# Edit
imgx edit -i photo.png -p "Change the background to sunset" -o edited.png

# Iterative editing
imgx edit -i photo.png -p "Make the background darker"
imgx edit --last -p "Add warm lighting"
imgx edit --last -p "Crop to 16:9" -o final.png

# Undo / redo
imgx undo               # Revert to previous image in session
imgx redo               # Re-apply an undone edit

# History
imgx history            # Show all sessions and entries
imgx history switch <session-id>  # Switch to a different session
imgx history clear      # Clear project history (interactive)
imgx history clear --yes          # Clear without confirmation
imgx history clear --keep-files   # Clear history but keep image files
imgx history clear --all          # Clear ALL history across all projects

# Provider management
imgx providers          # List providers and capabilities
imgx capabilities       # Detailed capabilities of current provider

Opciones de CLI

FlagCortoDescripción
--prompt-pDescripción de imagen o instrucción de edición (obligatorio)
--output-oRuta del archivo de salida (auto-generada si se omite)
--input-iImagen de entrada para editar (solo comando edit)
--last-lUsar la última salida como entrada (solo comando edit)
--aspect-ratio-a1:1, 16:9, 9:16, 4:3, 3:4, 2:3, 3:2 + Gemini 3.x: 1:4, 1:8, 4:1, 4:5, 5:4, 8:1, 21:9
--resolution-r1K, 2K, 4K
--count-nNúmero de imágenes a generar
--format-fFormato de salida: png, jpeg, webp (solo OpenAI)
--background-bFondo: transparent, opaque, auto (solo OpenAI)
--quality-qCalidad: low, medium, high, auto (solo OpenAI)
--model-mNombre del modelo
--providerNombre del proveedor (predeterminado: gemini)
--output-dir-dDirectorio de salida

Configuración

imgx config set api-key <key> --provider gemini   # Save Gemini API key
imgx config set api-key <key> --provider openai   # Save OpenAI API key
imgx config set model <name>      # Set default model
imgx config set output-dir <dir>  # Set default output directory
imgx config set aspect-ratio 16:9 # Set default aspect ratio
imgx config set resolution 2K     # Set default resolution
imgx config list                  # Show all settings
imgx config get api-key           # Show a specific setting (API key is masked)
imgx config path                  # Show config file location

Configuración del proyecto (.imgxrc)

Genera una plantilla con imgx init:

imgx init
# → creates .imgxrc in current directory

O créala manualmente:

{
  "defaults": {
    "model": "gemini-2.5-flash-image",
    "outputDir": "./assets/images",
    "aspectRatio": "16:9"
  }
}

La configuración del proyecto se comparte a través de Git. No pongas claves de API en .imgxrc.

Configuración de la raíz del proyecto (3 niveles)

MétodoAlcanceCómo configurar
Variable de entorno IMGX_PROJECT_ROOT en la configuración del clientePor cliente (mayor prioridad)Agregar a env en claude_desktop_config.json, .mcp.json, etc.
Detección automática (raíces MCP / búsqueda de .imgxrc)AutomáticoFunciona en agentes CLI (Claude Code, Gemini CLI). No disponible en Claude Desktop
imgx config set project-rootTodos los clientes de la máquinaAlmacenado en la configuración del usuario (~/.config/imgx/config.json o %APPDATA%\imgx\config.json)

Prioridad de detección: variable de entorno → raíces MCP → búsqueda ascendente de .imgxrc → configuración de usuario projectRoot.

El historial se guarda en <project-root>/.imgx/output-history.json (con alcance de proyecto, no compartido con otros proyectos). La salida de imágenes predeterminada va a <project-root>/.imgx/<session-id>/. Las rutas relativas en output y output_dir se resuelven contra la raíz del proyecto en lugar del directorio de trabajo del servidor MCP.

Resolución de configuración

  1. Banderas de CLI (--model, --output-dir, etc.)
  2. Variables de entorno (IMGX_MODEL, IMGX_OUTPUT_DIR, etc.)
  3. Configuración del proyecto (.imgxrc — buscado desde el directorio actual hacia arriba)
  4. Configuración del usuario (~/.config/imgx/config.json o %APPDATA%\imgx\config.json)
  5. Valores predeterminados del proveedor

Formato de salida

Todos los comandos CLI generan JSON:

{"success": true, "filePaths": ["./output.png"]}

Plugin de Claude Code

El plugin combina el servidor MCP + skill en un solo paso. Si prefieres no configurar .mcp.json y los archivos de skill manualmente:

/plugin marketplace add somacoffeekyoto/imgx-mcp
/plugin install imgx-mcp@somacoffeekyoto-imgx-mcp

Actualizar: /plugin → installed → imgx-mcp → update. Si la actualización no muestra cambios, desinstala y reinstala.

Desinstalar: /plugin uninstall imgx-mcp@somacoffeekyoto-imgx-mcp y luego /plugin marketplace remove somacoffeekyoto-imgx-mcp.

Desarrollo

git clone https://github.com/somacoffeekyoto/imgx-mcp.git
cd imgx-mcp
npm install
npm run bundle    # TypeScript compile + esbuild bundle

La compilación produce dos bundles:

  • dist/mcp.bundle.js — punto de entrada del servidor MCP
  • dist/cli.bundle.js — punto de entrada de CLI

Desinstalación

Servidor MCP

Elimina la entrada imgx del archivo de configuración MCP de tu herramienta.

Skill

Elimina el directorio image-generation/ de .claude/skills/ o ~/.claude/skills/.

CLI

npm uninstall -g imgx-mcp

npm uninstall elimina el paquete pero no borra la configuración ni los archivos generados. Elimínalos manualmente si es necesario:

Configuración global:

# Linux / macOS
rm -rf ~/.config/imgx/

# Windows (PowerShell)
Remove-Item -Recurse -Force "$env:APPDATA\imgx"

Historial e imágenes del proyecto: Cada proyecto puede tener un directorio .imgx/ que contiene el historial de ediciones y las imágenes generadas. Elimínalo de cada proyecto según sea necesario.

rm -rf <project-root>/.imgx/

Licencia

MIT — SOMA COFFEE KYOTO

Enlaces