Gemini Image MCP Server

Geração de imagens usando a API Gemini do Google.

Documentação

日本語版はこちら (Read in Japanese)

Gemini Image MCP Server

Este é um servidor MCP (Model Context Protocol) que utiliza a API Gemini do Google para gerar imagens e salvá-las em um diretório especificado. Além de prompts de texto, você pode opcionalmente fornecer imagens de entrada para orientar o processo de geração de imagens. As imagens geradas são automaticamente comprimidas para reduzir o tamanho do arquivo.


Recursos

  • Geração de imagens a partir de prompts de texto
  • (Opcional) Geração de imagens usando imagens de referência de entrada
  • Compressão automática de imagens geradas (JPEG, PNG)
  • Atribuição de nomes de arquivo únicos para evitar conflitos de nomes
  • Opera como um servidor MCP, aceitando chamadas de ferramentas via entrada/saída padrão

Pré-requisitos

  • Node.js (v18 ou superior recomendado)
  • Projeto Google Cloud com a API Gemini habilitada
  • Chave da API Gemini

Configuração

Exemplo de configuração do servidor MCP para Roo Code

{
  "mcpServers": {
    "gemini-image-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@creating-cat/gemini-image-mcp-server"
      ],
      "env": {
        "GEMINI_API_KEY": "YOUR_GEMINI_API_KEY"
      },
      "disabled": false,
      "timeout": 300
    }
  }
}
  • Substitua YOUR_GEMINI_API_KEY pela sua chave real da API Gemini.

    • Você também pode usar ${env:GEMINI_API_KEY} para recuperar a chave de variáveis de ambiente (recurso do Roo Code).

Ferramenta: generate_image

Este servidor MCP fornece uma ferramenta chamada generate_image.

Parâmetros de Entrada

Nome do ParâmetroDescriçãoValor Padrão
prompt(string, obrigatório) Prompt de texto para geração de imagem. Se imagens de entrada forem fornecidas, inclua instruções sobre como incorporá-las na imagem gerada. Recomenda-se inglês.Nenhum
output_directory(string, opcional) Caminho do diretório onde a imagem gerada será salva.output/images
file_name(string, opcional) Nome do arquivo de imagem salvo (sem extensão).generated_image
input_image_paths(string[], opcional) Lista de caminhos de arquivo para imagens de referência de entrada.[] (array vazio)
use_enhanced_prompt(boolean, opcional) Se deve usar prompts aprimorados para auxiliar instruções de IA.true
target_image_max_size(number, opcional) Tamanho máximo (em pixels) para a borda mais longa após o redimensionamento. A proporção é preservada.512
force_conversion_type(string, opcional) Opcionalmente, força a conversão para um formato específico ('jpeg', 'webp', 'png'). Se não especificado, o formato original será processado, com padrão PNG para imagens não-JPEG.Nenhum
skip_compression_and_resizing(boolean, opcional) Se deve pular a compressão e o redimensionamento das imagens geradas. Se true, force_conversion_type e target_image_max_size serão ignorados.false
jpeg_quality(number, opcional) Qualidade JPEG (0-100). Valores menores resultam em maior compressão.80
webp_quality(number, opcional) Qualidade WebP (0-100). Valores menores resultam em maior compressão.80
png_compression_level(number, opcional) Nível de compressão PNG (0-9). Valores maiores resultam em maior compressão.9
optipng_optimization_level(number, opcional) Nível de otimização OptiPNG (0-7). Valores maiores resultam em maior compressão.2

Saída

Em caso de sucesso, o servidor retorna o caminho de salvamento da imagem gerada e uma mensagem detalhando o processo, incluindo os tamanhos de arquivo original e comprimido. Exemplo:

{
  "content": [
    {
      "type": "text",
      "text": "Image successfully generated and compressed at output/images/my_cat.jpg.\nOriginal size: 1024.12KB, Final size: 150.45KB"
    }
  ]
}

Se ocorrer um erro, uma mensagem de erro será retornada.


Notas

  • O tipo MIME e a proporção das imagens geradas dependem das configurações padrão da API Gemini.
  • Manuseie sua chave de API com cuidado.
  • Este servidor usa o modelo gemini-2.0-flash-preview-image-generation. O Google pode descontinuar este modelo no futuro.

Licença

MIT