Gemini Image MCP Server
Generación de imágenes usando la API de Google Gemini.
Documentación
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_KEYcon 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).
- También puede usar
Herramienta: generate_image
Este servidor MCP proporciona una herramienta llamada generate_image.
Parámetros de entrada
| Nombre del parámetro | Descripción | Valor 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