Image Generation

Genera imágenes a partir de texto usando la API de Stable Diffusion WebUI (ForgeUI/AUTOMATIC-1111).

Documentación

Servidor MCP de image-gen

Un servidor MCP que proporciona capacidades de generación de texto a imagen utilizando la API de Stable Diffusion WebUI (ForgeUI/AUTOMATIC-1111).

Image Generation Server MCP server

Instalación

Requisitos previos

  • Node.js
  • Acceso a una instancia de Stable Diffusion WebUI con la API habilitada
  • La WebUI debe tener la bandera --api habilitada al iniciar

Configuración

  1. Clona el repositorio:
git clone https://github.com/Ichigo3766/image-gen-mcp.git
cd image-gen-mcp
  1. Instala las dependencias:
npm install
  1. Compila el servidor:
npm run build
  1. Agrega la configuración del servidor a tu entorno:
{
  "mcpServers": {
    "image-gen": {
      "command": "node",
      "args": [
        "/path/to/image-gen-mcp/build/index.js"
      ],
      "env": {
        "SD_WEBUI_URL": "http://your-sd-webui-url:7860",
        "SD_AUTH_USER": "your-username",  // Optional: if authentication is enabled
        "SD_AUTH_PASS": "your-password",  // Optional: if authentication is enabled
        "SD_OUTPUT_DIR": "/path/to/output/directory",
        "SD_RESIZE_MODE": "0",           // Optional: upscaling mode (0=multiplier, 1=dimensions)
        "SD_UPSCALE_MULTIPLIER": "4",    // Optional: default upscale multiplier
        "SD_UPSCALE_WIDTH": "512",       // Optional: default upscale width
        "SD_UPSCALE_HEIGHT": "512",      // Optional: default upscale height
        "SD_UPSCALER_1": "R-ESRGAN 4x+", // Optional: default primary upscaler
        "SD_UPSCALER_2": "None"          // Optional: default secondary upscaler
      }
    }
  }
}

Reemplaza las variables de entorno con tus valores:

  • SD_WEBUI_URL: URL de tu instancia de Stable Diffusion WebUI
  • SD_AUTH_USER: Nombre de usuario para autenticación básica (si está habilitada)
  • SD_AUTH_PASS: Contraseña para autenticación básica (si está habilitada)
  • SD_OUTPUT_DIR: Directorio donde se guardarán las imágenes generadas
  • SD_RESIZE_MODE: Modo de escalado predeterminado (0 para multiplicador, 1 para dimensiones)
  • SD_UPSCALE_MULTIPLIER: Multiplicador de escalado predeterminado cuando resize_mode es 0
  • SD_UPSCALE_WIDTH: Ancho objetivo predeterminado cuando resize_mode es 1
  • SD_UPSCALE_HEIGHT: Alto objetivo predeterminado cuando resize_mode es 1
  • SD_UPSCALER_1: Modelo de escalado primario predeterminado
  • SD_UPSCALER_2: Modelo de escalado secundario predeterminado

Características

Herramientas

  • generate_image - Genera imágenes usando Stable Diffusion

    • Parámetros:
      • prompt (obligatorio): Descripción textual de la imagen deseada
      • negative_prompt: Elementos a excluir de la imagen
      • steps: Número de pasos de muestreo (predeterminado: 4, rango: 1-150)
      • width: Ancho de la imagen (predeterminado: 1024, rango: 512-2048)
      • height: Alto de la imagen (predeterminado: 1024, rango: 512-2048)
      • cfg_scale: Escala CFG (predeterminado: 1, rango: 1-30)
      • sampler_name: Algoritmo de muestreo (predeterminado: "Euler")
      • scheduler_name: Algoritmo de programación (predeterminado: "Simple")
      • seed: Semilla aleatoria (-1 para aleatoria)
      • batch_size: Número de imágenes a generar (predeterminado: 1, máximo: 4)
      • restore_faces: Habilitar restauración facial
      • tiling: Generar imágenes repetibles
      • output_path: Ruta de salida personalizada para la imagen generada
  • get_sd_models - Obtiene la lista de modelos de Stable Diffusion disponibles

    • No requiere parámetros
    • Devuelve un arreglo de nombres de modelos
  • set_sd_model - Establece el modelo activo de Stable Diffusion

    • Parámetros:
      • model_name (obligatorio): Nombre del modelo a establecer como activo
  • get_sd_upscalers - Obtiene la lista de modelos de escalado disponibles

    • No requiere parámetros
    • Devuelve un arreglo de nombres de escaladores
  • upscale_images - Escala una o más imágenes usando Stable Diffusion

    • Parámetros:
      • images (obligatorio): Arreglo de rutas de archivos de imagen a escalar
      • resize_mode: 0 para modo multiplicador, 1 para modo dimensiones (predeterminado: desde entorno)
      • upscaling_resize: Multiplicador de escalado cuando resize_mode=0 (predeterminado: desde entorno)
      • upscaling_resize_w: Ancho objetivo en píxeles cuando resize_mode=1 (predeterminado: desde entorno)
      • upscaling_resize_h: Alto objetivo en píxeles cuando resize_mode=1 (predeterminado: desde entorno)
      • upscaler_1: Modelo de escalado primario (predeterminado: desde entorno)
      • upscaler_2: Modelo de escalado secundario (predeterminado: desde entorno)
      • output_path: Directorio de salida personalizado para imágenes escaladas

Desarrollo

Para desarrollo con reconstrucción automática:

npm run watch

Manejo de errores

Problemas comunes y soluciones:

  1. Asegúrate de que tu Stable Diffusion WebUI esté ejecutándose con la bandera --api
  2. Verifica que la URL de la WebUI sea accesible desde donde ejecutas el servidor MCP
  3. Si usas autenticación, asegúrate de que las credenciales sean correctas
  4. Verifica que el directorio de salida exista y tenga permisos de escritura
  5. Al escalar, asegúrate de que los archivos de imagen de entrada existan y sean legibles

Licencia

Este servidor MCP está licenciado bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.