Gemini Image Generator

Genera imágenes de alta calidad a partir de indicaciones de texto utilizando el modelo Gemini de Google.

Documentación

MseeP Badge smithery badge

Gemini Image Generator Server MCP server

Servidor MCP de Gemini Image Generator

Genera imágenes de alta calidad a partir de indicaciones de texto utilizando el modelo Gemini de Google a través del protocolo MCP.

Resumen

Este servidor MCP permite a cualquier asistente de IA generar imágenes utilizando el modelo Gemini de Google. El servidor se encarga de la ingeniería de indicaciones, la conversión de texto a imagen, la generación de nombres de archivo y el almacenamiento local de imágenes, lo que facilita la creación y gestión de imágenes generadas por IA a través de cualquier cliente MCP.

Características

  • Generación de texto a imagen usando Gemini 2.0 Flash
  • Transformación de imagen a imagen basada en indicaciones de texto
  • Soporte para imágenes basadas en archivos y codificadas en base64
  • Generación automática e inteligente de nombres de archivo basada en indicaciones
  • Traducción automática de indicaciones que no están en inglés
  • Almacenamiento local de imágenes con ruta de salida configurable
  • Exclusión estricta de texto en las imágenes generadas
  • Salida de imágenes de alta resolución
  • Acceso directo tanto a los datos de la imagen como a la ruta del archivo

Herramientas MCP disponibles

El servidor proporciona las siguientes herramientas MCP para asistentes de IA:

1. generate_image_from_text

Crea una nueva imagen a partir de una descripción de indicación de texto.

generate_image_from_text(prompt: str) -> Tuple[bytes, str]

Parámetros:

  • prompt: Descripción de texto de la imagen que deseas generar

Devuelve:

  • Una tupla que contiene:
    • Datos de imagen sin procesar (bytes)
    • Ruta al archivo de imagen guardado (str)

Este formato de retorno dual permite a los asistentes de IA trabajar directamente con los datos de la imagen o hacer referencia a la ruta del archivo guardado.

Ejemplos:

  • "Genera una imagen de una puesta de sol sobre montañas"
  • "Crea un cerdo volador fotorrealista en una ciudad de ciencia ficción"

Ejemplo de salida

Esta imagen se generó usando la indicación:

"Hi, can you create a 3d rendered image of a pig with wings and a top hat flying over a happy futuristic scifi city with lots of greenery?"

Flying pig over sci-fi city

Un cerdo renderizado en 3D con alas y un sombrero de copa volando sobre una ciudad futurista de ciencia ficción llena de vegetación

Problemas conocidos

Al usar este servidor MCP con Claude Desktop Host:

  1. Problemas de rendimiento: Usar transform_image_from_encoded puede tardar significativamente más en procesarse en comparación con otros métodos. Esto se debe a la sobrecarga de transferir grandes cantidades de datos de imagen codificados en base64 a través del protocolo MCP.

  2. Problemas de resolución de rutas: Puede haber problemas para resolver correctamente las rutas de las imágenes al usar Claude Desktop Host. La aplicación host podría no interpretar adecuadamente las rutas de archivo devueltas, lo que dificulta el acceso a las imágenes generadas.

Para una mejor experiencia, considera usar clientes MCP alternativos o el método transform_image_from_file cuando sea posible.

2. transform_image_from_encoded

Transforma una imagen existente basándose en una indicación de texto utilizando datos de imagen codificados en base64.

transform_image_from_encoded(encoded_image: str, prompt: str) -> Tuple[bytes, str]

Parámetros:

  • encoded_image: Datos de imagen codificados en base64 con cabecera de formato (deben estar en el formato: "data:image/[formato];base64,[datos]")
  • prompt: Descripción de texto de cómo deseas transformar la imagen

Devuelve:

  • Una tupla que contiene:
    • Datos de imagen transformada sin procesar (bytes)
    • Ruta al archivo de imagen transformada guardado (str)

Ejemplo:

  • "Añade nieve a este paisaje"
  • "Cambia el fondo a una playa"

3. transform_image_from_file

Transforma un archivo de imagen existente basándose en una indicación de texto.

transform_image_from_file(image_file_path: str, prompt: str) -> Tuple[bytes, str]

Parámetros:

  • image_file_path: Ruta al archivo de imagen que se va a transformar
  • prompt: Descripción de texto de cómo deseas transformar la imagen

Devuelve:

  • Una tupla que contiene:
    • Datos de imagen transformada sin procesar (bytes)
    • Ruta al archivo de imagen transformada guardado (str)

Ejemplos:

  • "Añade una llama junto a la persona en esta imagen"
  • "Haz que esta escena diurna parezca nocturna"

Ejemplo de transformación

Usando la imagen del cerdo volador creada anteriormente, aplicamos una transformación con la siguiente indicación:

"Add a cute baby whale flying alongside the pig"

Antes: Flying pig over sci-fi city

Después: Flying pig with baby whale

La imagen original del cerdo volador con una adorable ballena bebé añadida volando a su lado

Configuración

Requisitos previos

  • Python 3.11+
  • Clave de API de Google AI (Gemini)
  • Aplicación host MCP (Claude Desktop App, Cursor u otros clientes compatibles con MCP)

Obtener una clave de API de Gemini

  1. Visita la página de claves de API de Google AI Studio
  2. Inicia sesión con tu cuenta de Google
  3. Haz clic en "Crear clave de API"
  4. Copia tu nueva clave de API para usarla en la configuración
  5. Nota: La clave de API proporciona una cierta cuota de uso gratuito por mes. Puedes consultar tu uso en Google AI Studio

Instalación

Instalación mediante Smithery

Para instalar Gemini Image Generator MCP para Claude Desktop automáticamente mediante Smithery:

npx -y @smithery/cli install @qhdrl12/mcp-server-gemini-image-gen --client claude

Instalación manual

  1. Clona el repositorio:
git clone https://github.com/your-username/mcp-server-gemini-image-generator.git
cd mcp-server-gemini-image-generator
  1. Crea un entorno virtual e instala las dependencias:
# Using uv (recommended)
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e .

# Or using regular venv
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -e .
  1. Configura las variables de entorno (elige un método):

Método A: Usar archivo .env (opcional)

# Create .env file in the project root
cat > .env << 'EOF'
GEMINI_API_KEY=your-gemini-api-key-here
OUTPUT_IMAGE_PATH=/path/to/save/images
EOF

Método B: Configurar directamente en la configuración de Claude Desktop (recomendado)

  • Configura las variables de entorno directamente en claude_desktop_config.json (se muestra en la sección de configuración a continuación)

Configurar Claude Desktop

Añade lo siguiente a tu claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
    "mcpServers": {
        "gemini-image-generator": {
            "command": "uv",
            "args": [
                "--directory",
                "/absolute/path/to/mcp-server-gemini-image-generator",
                "run",
                "mcp-server-gemini-image-generator"
            ],
            "env": {
                "GEMINI_API_KEY": "your-actual-gemini-api-key-here",
                "OUTPUT_IMAGE_PATH": "/absolute/path/to/your/images/directory"
            }
        }
    }
}

Notas importantes de configuración:

  1. Reemplaza las rutas con tus rutas reales:

    • Cambia /absolute/path/to/mcp-server-gemini-image-generator a la ubicación real donde clonaste este repositorio
    • Cambia /absolute/path/to/your/images/directory a donde deseas que se guarden las imágenes generadas
  2. Variables de entorno:

    • Reemplaza your-actual-gemini-api-key-here con tu clave de API real de Gemini de Google AI Studio
    • Usa rutas absolutas para OUTPUT_IMAGE_PATH para asegurar que las imágenes se guarden correctamente
  3. Ejemplo con rutas reales:

{
    "mcpServers": {
        "gemini-image-generator": {
            "command": "uv",
            "args": [
                "--directory",
                "/Users/username/Projects/mcp-server-gemini-image-generator",
                "run",
                "mcp-server-gemini-image-generator"
            ],
            "env": {
                "GEMINI_API_KEY": "GEMINI_API_KEY",
                "OUTPUT_IMAGE_PATH": "OUTPUT_IMAGE_PATH"
            }
        }
    }
}

Uso

Una vez instalado y configurado, puedes pedirle a Claude que genere o transforme imágenes usando indicaciones como:

Generar nuevas imágenes

  • "Genera una imagen de una puesta de sol sobre montañas"
  • "Crea una ilustración de un paisaje urbano futurista"
  • "Haz una foto de un gato con gafas de sol"

Transformar imágenes existentes

  • "Transforma esta imagen añadiendo nieve a la escena"
  • "Edita esta foto para que parezca tomada de noche"
  • "Añade un dragón volando en el fondo de esta imagen"

Las imágenes generadas/transformadas se guardarán en tu ruta de salida configurada y se mostrarán en Claude. Con los tipos de retorno actualizados, los asistentes de IA también pueden trabajar directamente con los datos de la imagen sin necesidad de acceder a los archivos guardados.

Pruebas

Puedes probar la aplicación ejecutando el servidor de desarrollo FastMCP:

fastmcp dev server.py

Este comando inicia un servidor de desarrollo local y hace que el Inspector MCP esté disponible en http://localhost:5173/. El Inspector MCP proporciona una interfaz web conveniente donde puedes probar directamente la herramienta de generación de imágenes sin necesidad de usar Claude u otro cliente MCP. Puedes ingresar indicaciones de texto, ejecutar la herramienta y ver los resultados de inmediato, lo cual es útil para el desarrollo y la depuración.

Licencia

Licencia MIT