Gemini Image MCP Server

Generación de imágenes usando la API de Google Gemini.

Documentación

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

Gemini Image MCP Server

Este es un servidor MCP (Model Context Protocol) que utiliza la API de Gemini de Google para generar imágenes y guardarlas en un directorio especificado. Además de indicaciones de texto, opcionalmente puede proporcionar imágenes de entrada para guiar el proceso de generación de imágenes. Las imágenes generadas se comprimen automáticamente para reducir el tamaño del archivo.


Características

  • Generación de imágenes a partir de indicaciones de texto
  • (Opcional) Generación de imágenes utilizando imágenes de referencia de entrada
  • Compresión automática de imágenes generadas (JPEG, PNG)
  • Asignación de nombres de archivo únicos para evitar conflictos de nombres
  • Opera como un servidor MCP, aceptando llamadas de herramientas a través de entrada/salida estándar

Requisitos previos

  • Node.js (v18 o superior recomendado)
  • Proyecto de Google Cloud con la API de Gemini habilitada
  • Clave de API de Gemini

Configuración

Ejemplo de configuración del 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
    }
  }
}
  • Reemplace YOUR_GEMINI_API_KEY con su clave de API de Gemini real.

    • También puede usar ${env:GEMINI_API_KEY} para recuperar la clave de las variables de entorno (función de Roo Code).

Herramienta: generate_image

Este servidor MCP proporciona una herramienta llamada generate_image.

Parámetros de entrada

Nombre del parámetroDescripciónValor predeterminado
prompt(cadena, obligatorio) Indicación de texto para la generación de imágenes. Si se proporcionan imágenes de entrada, incluya instrucciones sobre cómo incorporarlas en la imagen generada. Se recomienda inglés.Ninguno
output_directory(cadena, opcional) Ruta del directorio donde se guardará la imagen generada.output/images
file_name(cadena, opcional) Nombre del archivo de imagen guardado (sin extensión).generated_image
input_image_paths(cadena[], opcional) Lista de rutas de archivo para las imágenes de referencia de entrada.[] (matriz vacía)
use_enhanced_prompt(booleano, opcional) Si se deben usar indicaciones mejoradas para ayudar a las instrucciones de IA.true
target_image_max_size(número, opcional) Tamaño máximo (en píxeles) para el borde más largo después del redimensionamiento. Se conserva la relación de aspecto.512
force_conversion_type(cadena, opcional) Opcionalmente, forzar la conversión a un formato específico ('jpeg', 'webp', 'png'). Si no se especifica, se procesará el formato original, con PNG como predeterminado para imágenes que no sean JPEG.Ninguno
skip_compression_and_resizing(booleano, opcional) Si se debe omitir la compresión y el redimensionamiento de las imágenes generadas. Si true, force_conversion_type y target_image_max_size se ignorarán.false
jpeg_quality(número, opcional) Calidad JPEG (0-100). Los valores más bajos resultan en una mayor compresión.80
webp_quality(número, opcional) Calidad WebP (0-100). Los valores más bajos resultan en una mayor compresión.80
png_compression_level(número, opcional) Nivel de compresión PNG (0-9). Los valores más altos resultan en una mayor compresión.9
optipng_optimization_level(número, opcional) Nivel de optimización OptiPNG (0-7). Los valores más altos resultan en una mayor compresión.2

Salida

En caso de éxito, el servidor devuelve la ruta de guardado de la imagen generada y un mensaje que detalla el proceso, incluidos los tamaños de archivo original y comprimido. Ejemplo:

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

Si ocurre un error, se devolverá un mensaje de error.


Notas

  • El tipo MIME y la relación de aspecto de las imágenes generadas dependen de la configuración predeterminada de la API de Gemini.
  • Maneje su clave de API con cuidado.
  • Este servidor utiliza el modelo gemini-2.0-flash-preview-image-generation. Google puede descontinuar este modelo en el futuro.

Licencia

MIT