MCP Gemini CLI

Um servidor MCP para o CLI do Gemini do Google, permitindo que assistentes de IA aproveitem as capacidades do Gemini.

Documentação

MCP Gemini CLI

Um simples wrapper de servidor MCP para o Gemini CLI do Google que permite que assistentes de IA usem as capacidades do Gemini através do Model Context Protocol.

O que ele faz

Este servidor expõe três ferramentas que interagem com o Gemini CLI:

  • googleSearch: Pede ao Gemini para realizar uma pesquisa no Google usando sua consulta
  • chat: Envia prompts diretamente ao Gemini para conversas gerais
  • analyzeFile: Analisa arquivos (imagens, PDFs, texto) usando as capacidades multimodais do Gemini

Pré-requisitos

  • Gemini CLI instalado e configurado (opcional com a flag --allow-npx)

🚀 Início Rápido com Claude Code

1. Adicione o servidor MCP

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

Ou configure seu cliente MCP com as configurações mostradas na seção Opções de Instalação abaixo.

2. Experimente

Exemplos de prompts:

  • Pesquisa: "Pesquise os recursos mais recentes do TypeScript 5.0 usando o Google"
  • Chat: "Peça ao Gemini para explicar a diferença entre async/await e promises em JavaScript"
  • Análise de Arquivo: "Peça ao Gemini para analisar a imagem em /path/to/screenshot.png"

🔧 Opções de Instalação

Usando npx com a flag --allow-npx

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

Desenvolvimento Local

  1. Clone e instale:
git clone https://github.com/choplin/mcp-gemini-cli
cd mcp-gemini-cli
bun install
  1. Adicione à configuração do Claude Desktop:
{
  "mcpServers": {
    "mcp-gemini-cli": {
      "command": "bun",
      "args": ["run", "/path/to/mcp-gemini-cli/index.ts"]
    }
  }
}

🛠️ Ferramentas Disponíveis

1. googleSearch

Realiza uma pesquisa no Google usando o Gemini CLI.

Parâmetros:

  • query (obrigatório): A consulta de pesquisa
  • limit (opcional): Número máximo de resultados
  • sandbox (opcional): Executar em modo sandbox
  • yolo (opcional): Pular confirmações
  • model (opcional): Modelo Gemini a usar (padrão: "gemini-2.5-pro")

2. chat

Tenha uma conversa com o Gemini.

Parâmetros:

  • prompt (obrigatório): O prompt da conversa
  • sandbox (opcional): Executar em modo sandbox
  • yolo (opcional): Pular confirmações
  • model (opcional): Modelo Gemini a usar (padrão: "gemini-2.5-pro")

3. analyzeFile

Analise arquivos usando as capacidades multimodais do Gemini.

Tipos de arquivo suportados:

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

Parâmetros:

  • filePath (obrigatório): O caminho absoluto para o arquivo a ser analisado
  • prompt (opcional): Instruções adicionais para analisar o arquivo
  • sandbox (opcional): Executar em modo sandbox
  • yolo (opcional): Pular confirmações
  • model (opcional): Modelo Gemini a usar (padrão: "gemini-2.5-pro")

💡 Exemplos de Prompts

Experimente estes prompts para ver o mcp-gemini-cli em ação:

  • Pesquisa: "Pesquise os recursos mais recentes do TypeScript 5.0 usando o Google"
  • Chat: "Peça ao Gemini para explicar a diferença entre async/await e promises em JavaScript"
  • Análise de Arquivo: "Peça ao Gemini para descrever o que há nesta imagem: /Users/me/Desktop/screenshot.png"

🛠️ Exemplo 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" });

📝 Desenvolvimento

Nota: O desenvolvimento requer o runtime Bun.

Executar em Modo de Desenvolvimento

bun run dev

Executar Testes

bun test

Compilar para Produção

# Development build
bun run build

# Production build (minified)
bun run build:prod

Linting e Formatação

# Lint code
bun run lint

# Format code
bun run format

🤝 Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

📄 Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

📋 Histórico de Alterações

[0.3.1] - 2025-07-03

Corrigido

  • Corrigido problema de compatibilidade com Windows no comando which

[0.3.0] - 2025-07-02

Mudanças de Quebra

  • Nomes das ferramentas: geminiChat → chat, geminiAnalyzeFile → analyzeFile
  • Nome do pacote: @choplin/mcp-gemini-cli → mcp-gemini-cli

Novos Recursos

  • Ferramenta analyzeFile para imagens (PNG/JPG/GIF/etc), PDFs e arquivos de texto

[0.2.0] - Anterior

  • Lançamento inicial com as ferramentas googleSearch e geminiChat

🔗 Links Relacionados