Image Generation

Gere imagens a partir de texto usando a API do Stable Diffusion WebUI (ForgeUI/AUTOMATIC-1111).

Documentação

Servidor MCP image-gen

Um servidor MCP que fornece capacidades de geração de imagem a partir de texto usando a API do Stable Diffusion WebUI (ForgeUI/AUTOMATIC-1111).

Image Generation Server MCP server

Instalação

Pré-requisitos

  • Node.js
  • Acesso a uma instância do Stable Diffusion WebUI com API habilitada
  • O WebUI deve ter a flag --api habilitada ao iniciar

Configuração

  1. Clone o repositório:
git clone https://github.com/Ichigo3766/image-gen-mcp.git
cd image-gen-mcp
  1. Instale as dependências:
npm install
  1. Compile o servidor:
npm run build
  1. Adicione a configuração do servidor ao seu ambiente:
{
  "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
      }
    }
  }
}

Substitua as variáveis de ambiente pelos seus valores:

  • SD_WEBUI_URL: URL da sua instância do Stable Diffusion WebUI
  • SD_AUTH_USER: Nome de usuário para autenticação básica (se habilitada)
  • SD_AUTH_PASS: Senha para autenticação básica (se habilitada)
  • SD_OUTPUT_DIR: Diretório onde as imagens geradas serão salvas
  • SD_RESIZE_MODE: Modo de redimensionamento padrão (0 para multiplicador, 1 para dimensões)
  • SD_UPSCALE_MULTIPLIER: Multiplicador de redimensionamento padrão quando resize_mode é 0
  • SD_UPSCALE_WIDTH: Largura alvo padrão quando resize_mode é 1
  • SD_UPSCALE_HEIGHT: Altura alvo padrão quando resize_mode é 1
  • SD_UPSCALER_1: Modelo de redimensionamento primário padrão
  • SD_UPSCALER_2: Modelo de redimensionamento secundário padrão

Recursos

Ferramentas

  • generate_image - Gera imagens usando Stable Diffusion

    • Parâmetros:
      • prompt (obrigatório): Descrição textual da imagem desejada
      • negative_prompt: Elementos a excluir da imagem
      • steps: Número de etapas de amostragem (padrão: 4, intervalo: 1-150)
      • width: Largura da imagem (padrão: 1024, intervalo: 512-2048)
      • height: Altura da imagem (padrão: 1024, intervalo: 512-2048)
      • cfg_scale: Escala CFG (padrão: 1, intervalo: 1-30)
      • sampler_name: Algoritmo de amostragem (padrão: "Euler")
      • scheduler_name: Algoritmo de agendamento (padrão: "Simple")
      • seed: Semente aleatória (-1 para aleatório)
      • batch_size: Número de imagens a gerar (padrão: 1, máximo: 4)
      • restore_faces: Habilitar restauração facial
      • tiling: Gerar imagens ladrilháveis
      • output_path: Caminho de saída personalizado para a imagem gerada
  • get_sd_models - Obtém a lista de modelos Stable Diffusion disponíveis

    • Nenhum parâmetro necessário
    • Retorna uma matriz de nomes de modelos
  • set_sd_model - Define o modelo Stable Diffusion ativo

    • Parâmetros:
      • model_name (obrigatório): Nome do modelo a ser definido como ativo
  • get_sd_upscalers - Obtém a lista de modelos de redimensionamento disponíveis

    • Nenhum parâmetro necessário
    • Retorna uma matriz de nomes de redimensionadores
  • upscale_images - Redimensiona uma ou mais imagens usando Stable Diffusion

    • Parâmetros:
      • images (obrigatório): Matriz de caminhos de arquivos de imagem para redimensionar
      • resize_mode: 0 para modo multiplicador, 1 para modo dimensão (padrão: do ambiente)
      • upscaling_resize: Multiplicador de redimensionamento quando resize_mode=0 (padrão: do ambiente)
      • upscaling_resize_w: Largura alvo em pixels quando resize_mode=1 (padrão: do ambiente)
      • upscaling_resize_h: Altura alvo em pixels quando resize_mode=1 (padrão: do ambiente)
      • upscaler_1: Modelo de redimensionamento primário (padrão: do ambiente)
      • upscaler_2: Modelo de redimensionamento secundário (padrão: do ambiente)
      • output_path: Diretório de saída personalizado para imagens redimensionadas

Desenvolvimento

Para desenvolvimento com recompilação automática:

npm run watch

Tratamento de Erros

Problemas comuns e soluções:

  1. Certifique-se de que seu Stable Diffusion WebUI está rodando com a flag --api
  2. Verifique se a URL do WebUI está acessível a partir de onde você está executando o servidor MCP
  3. Se estiver usando autenticação, garanta que as credenciais estejam corretas
  4. Verifique se o diretório de saída existe e tem permissões de escrita
  5. Ao redimensionar, garanta que os arquivos de imagem de entrada existam e sejam legíveis

Licença

Este servidor MCP é licenciado sob a Licença MIT. Isso significa que você é livre para usar, modificar e distribuir o software, sujeito aos termos e condições da Licença MIT. Para mais detalhes, consulte o arquivo LICENSE no repositório do projeto.