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 consultachat: Envia prompts diretamente ao Gemini para conversas geraisanalyzeFile: 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
- Clone e instale:
git clone https://github.com/choplin/mcp-gemini-cli
cd mcp-gemini-cli
bun install
- 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 pesquisalimit(opcional): Número máximo de resultadossandbox(opcional): Executar em modo sandboxyolo(opcional): Pular confirmaçõesmodel(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 conversasandbox(opcional): Executar em modo sandboxyolo(opcional): Pular confirmaçõesmodel(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 analisadoprompt(opcional): Instruções adicionais para analisar o arquivosandbox(opcional): Executar em modo sandboxyolo(opcional): Pular confirmaçõesmodel(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
analyzeFilepara imagens (PNG/JPG/GIF/etc), PDFs e arquivos de texto
[0.2.0] - Anterior
- Lançamento inicial com as ferramentas
googleSearchegeminiChat