Gemini Imagen 3.0

Genera imágenes de alta calidad utilizando el modelo Imagen 3.0 de Google a través de la API de Gemini.

Documentación

Gemini Imagen 3.0 MCP Server

License Node TypeScript

Una implementación profesional de servidor Model Context Protocol (MCP) que aprovecha el modelo Imagen 3.0 de Google a través de la API de Gemini para la generación de imágenes de alta calidad. Construido con TypeScript y diseñado para una integración perfecta con Claude Desktop y otros hosts compatibles con MCP.

🌟 Características

  • Aprovecha el modelo Imagen 3.0 de última generación de Google a través de la API de Gemini
  • Genera hasta 4 imágenes de alta calidad por solicitud
  • Gestión automática de archivos con nombres inteligentes
  • Generación de vista previa HTML con soporte del protocolo file://
  • Construido sobre el protocolo MCP para compatibilidad con agentes de IA
  • Implementación en TypeScript con manejo robusto de errores

🚀 Inicio rápido

Requisitos previos

  • Node.js 18 o superior
  • Clave de API de Google Gemini
  • Claude Desktop u otro host compatible con MCP

Instalación

  1. Clona el repositorio:
git clone https://github.com/yourusername/gemini-imagen-mcp-server.git
cd gemini-imagen-mcp-server
  1. Instala las dependencias:
npm install
  1. Compila el código TypeScript:
npm run build

⚙️ Configuración

  1. Configura Claude Desktop añadiendo a claude_desktop_config.json:
{
  "mcpServers": {
    "gemini-image-gen": {
      "command": "node",
      "args": ["./build/index.js"],
      "cwd": "<path-to-project-directory>",
      "env": {
        "GEMINI_API_KEY": "your-gemini-api-key"
      }
    }
  }
}
  1. Reemplaza los marcadores de posición:
    • <path-to-project-directory>: La ruta de tu proyecto
    • your-gemini-api-key: Tu clave de API de Gemini

🛠️ Herramientas disponibles

1. generate_images

Genera imágenes utilizando el modelo Imagen 3.0 de Google.

Parámetros:

  • prompt (obligatorio): Descripción de texto de la imagen a generar
  • numberOfImages (opcional): Número de imágenes (1-4, predeterminado: 1)

Gestión de archivos:

  • Las imágenes se guardan automáticamente en G:\image-gen3-google-mcp-server\images
  • Los nombres de archivo siguen el patrón: {sanitized-prompt}-{timestamp}-{index}.png
  • Las marcas de tiempo garantizan nombres de archivo únicos
  • Los prompts se sanean para un uso seguro del sistema de archivos

Ejemplo:

Generate an image of a futuristic city at night

2. create_image_html

Crea etiquetas de vista previa HTML para las imágenes generadas.

Parámetros:

  • imagePaths (obligatorio): Array de rutas de archivos de imagen
  • width (opcional): Ancho de la imagen en píxeles (predeterminado: 512)
  • height (opcional): Alto de la imagen en píxeles (predeterminado: 512)

Devuelve etiquetas HTML con URLs absolutas file:// para visualización local.

Ejemplo:

Create HTML tags for the generated images with width=400

🔧 Desarrollo

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run tests (when available)
npm test

🤝 Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una Pull Request. Para cambios importantes:

  1. Haz un fork del repositorio
  2. Crea tu rama de características (git checkout -b feature/AmazingFeature)
  3. Haz commit de tus cambios (git commit -m 'Add some AmazingFeature')
  4. Haz push a la rama (git push origin feature/AmazingFeature)
  5. Abre una Pull Request

📝 Manejo de errores

El servidor implementa dos códigos de error principales:

  • tool_not_found (1): Cuando la herramienta solicitada no está disponible
  • execution_error (2): Cuando falla la generación de imágenes o la creación de HTML

📄 Licencia

Licencia MIT: consulta el archivo LICENSE para más detalles.

✨ Autor

Falah G. Salieh

🙏 Agradecimientos

  • API de Google Gemini y modelo Imagen 3.0
  • Model Context Protocol (MCP) de Anthropic
  • Equipo de Claude Desktop por la implementación del host MCP

📌 Etiquetas

#MCP #Gemini #Imagen3 #AI #ImageGeneration #TypeScript #NodeJS #GoogleAI #ClaudeDesktop


Hecho con ❤️ por Falah G. Salieh