MCP Gemini CLI

Un servidor MCP para la CLI de Gemini de Google, que permite a los asistentes de IA aprovechar las capacidades de Gemini.

Documentación

MCP Gemini CLI

Un envoltorio de servidor MCP simple para el CLI de Gemini de Google que permite a los asistentes de IA utilizar las capacidades de Gemini a través del Protocolo de Contexto de Modelos.

Qué hace

Este servidor expone tres herramientas que interactúan con el CLI de Gemini:

  • googleSearch: Pide a Gemini que realice una búsqueda en Google usando tu consulta
  • chat: Envía indicaciones directamente a Gemini para conversaciones generales
  • analyzeFile: Analiza archivos (imágenes, PDFs, texto) usando las capacidades multimodales de Gemini

Requisitos previos

  • Gemini CLI instalado y configurado (opcional con la bandera --allow-npx)

🚀 Inicio rápido con Claude Code

1. Agrega el servidor MCP

claude mcp add -s project gemini-cli -- npx mcp-gemini-cli --allow-npx

O configura tu cliente MCP con los ajustes que se muestran en la sección Opciones de instalación a continuación.

2. Pruébalo

Ejemplos de indicaciones:

  • Búsqueda: "Busca las últimas características de TypeScript 5.0 usando Google"
  • Chat: "Pide a Gemini que explique la diferencia entre async/await y promesas en JavaScript"
  • Análisis de archivos: "Pide a Gemini que analice la imagen en /path/to/screenshot.png"

🔧 Opciones de instalación

Usando npx con la bandera --allow-npx

{
  "mcpServers": {
    "mcp-gemini-cli": {
      "command": "npx",
      "args": ["mcp-gemini-cli", "--allow-npx"]
    }
  }
}

Desarrollo local

  1. Clona e instala:
git clone https://github.com/choplin/mcp-gemini-cli
cd mcp-gemini-cli
bun install
  1. Agrega a la configuración de Claude Desktop:
{
  "mcpServers": {
    "mcp-gemini-cli": {
      "command": "bun",
      "args": ["run", "/path/to/mcp-gemini-cli/index.ts"]
    }
  }
}

🛠️ Herramientas disponibles

1. googleSearch

Realiza una búsqueda en Google usando el CLI de Gemini.

Parámetros:

  • query (obligatorio): La consulta de búsqueda
  • limit (opcional): Número máximo de resultados
  • sandbox (opcional): Ejecutar en modo sandbox
  • yolo (opcional): Omitir confirmaciones
  • model (opcional): Modelo de Gemini a usar (predeterminado: "gemini-2.5-pro")

2. chat

Mantén una conversación con Gemini.

Parámetros:

  • prompt (obligatorio): La indicación de conversación
  • sandbox (opcional): Ejecutar en modo sandbox
  • yolo (opcional): Omitir confirmaciones
  • model (opcional): Modelo de Gemini a usar (predeterminado: "gemini-2.5-pro")

3. analyzeFile

Analiza archivos usando las capacidades multimodales de Gemini.

Tipos de archivo compatibles:

  • Imágenes: PNG, JPG, JPEG, GIF, WEBP, SVG, BMP
  • Texto: TXT, MD, TEXT
  • Documentos: PDF

Parámetros:

  • filePath (obligatorio): La ruta absoluta al archivo a analizar
  • prompt (opcional): Instrucciones adicionales para analizar el archivo
  • sandbox (opcional): Ejecutar en modo sandbox
  • yolo (opcional): Omitir confirmaciones
  • model (opcional): Modelo de Gemini a usar (predeterminado: "gemini-2.5-pro")

💡 Ejemplos de indicaciones

Prueba estas indicaciones para ver mcp-gemini-cli en acción:

  • Búsqueda: "Busca las últimas características de TypeScript 5.0 usando Google"
  • Chat: "Pide a Gemini que explique la diferencia entre async/await y promesas en JavaScript"
  • Análisis de archivos: "Pide a Gemini que describa qué hay en esta imagen: /Users/me/Desktop/screenshot.png"

🛠️ Ejemplo de uso

googleSearch

// Simple search
googleSearch({ query: "latest AI news" });

// Search with limit
googleSearch({
  query: "TypeScript best practices",
  limit: 5,
});

chat

// Simple chat
chat({ prompt: "Explain quantum computing in simple terms" });

// Using a different model
chat({
  prompt: "Write a haiku about programming",
  model: "gemini-2.5-flash",
});

analyzeFile

// Analyze an image
analyzeFile({ 
  filePath: "/path/to/image.png",
  prompt: "What objects are in this image?"
});

// Analyze a PDF
analyzeFile({
  filePath: "/path/to/document.pdf",
  prompt: "Summarize the key points in this document"
});

// General analysis without specific instructions
analyzeFile({ filePath: "/path/to/file.jpg" });

📝 Desarrollo

Nota: El desarrollo requiere el runtime Bun.

Ejecutar en modo de desarrollo

bun run dev

Ejecutar pruebas

bun test

Compilar para producción

# Development build
bun run build

# Production build (minified)
bun run build:prod

Linting y formato

# Lint code
bun run lint

# Format code
bun run format

🤝 Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de extracción.

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENSE para más detalles.

📋 Registro de cambios

[0.3.1] - 2025-07-03

Corregido

  • Se corrigió un problema de compatibilidad con Windows en el comando which

[0.3.0] - 2025-07-02

Cambios importantes

  • Nombres de herramientas: geminiChat → chat, geminiAnalyzeFile → analyzeFile
  • Nombre del paquete: @choplin/mcp-gemini-cli → mcp-gemini-cli

Nuevas características

  • Herramienta analyzeFile para imágenes (PNG/JPG/GIF/etc.), PDFs y archivos de texto

[0.2.0] - Anterior

  • Lanzamiento inicial con las herramientas googleSearch y geminiChat

🔗 Enlaces relacionados