Gemini CLI
Integra-se com o CLI não oficial do Google Gemini, permitindo acesso a arquivos dentro de diretórios configurados.
Documentação
Gemini CLI MCP Server
Um servidor Model Context Protocol (MCP) que encapsula o Gemini CLI, permitindo que assistentes de IA como o Claude usem o Gemini para tarefas de pesquisa e análise.
Aviso: Esta é uma ferramenta não oficial, desenvolvida pela comunidade, que encapsula o Google Gemini CLI. Não é afiliada, endossada ou patrocinada pelo Google. Todas as marcas registradas, marcas de serviço e logotipos do Google e do Gemini são propriedade da Google LLC. Este projeto é licenciado sob a Licença MIT.
Importante: Esta ferramenta requer que o Gemini CLI esteja instalado e autenticado no seu sistema. Consulte a seção Pré-requisitos para detalhes.
Recursos
- gemini_prompt: Envie prompts para o Gemini e receba respostas
- gemini_research: Pesquise tópicos com contexto de arquivos opcional
- gemini_analyze_code: Analise arquivos de código para revisões, explicações, otimizações, segurança ou testes
- gemini_summarize: Resuma conteúdo de texto ou arquivos
Instalação
Início Rápido (Recomendado)
# Install from GitHub (latest)
uvx --from git+https://github.com/DiversioTeam/gemini-cli-mcp gemini-mcp
# Or from PyPI (when published)
uvx gemini-mcp
Instalação para Desenvolvimento
git clone https://github.com/DiversioTeam/gemini-cli-mcp
cd gemini-cli-mcp
uv sync
uv run gemini-mcp
Pré-requisitos
1. Python 3.10-3.13
Certifique-se de ter Python 3.10, 3.11, 3.12 ou 3.13 instalado. O projeto é testado em todas essas versões.
2. Instalação e Autenticação do Gemini CLI
Este servidor MCP requer que o Gemini CLI esteja instalado e autenticado:
- Instale o Gemini CLI: Siga as instruções oficiais de instalação para a sua plataforma
- Autentique: Execute
gemini auth logine siga as instruções - Verifique: Teste se funciona executando
gemini -p "Hello, world!"
Se você vir um erro de autenticação, certifique-se de ter concluído o processo de login.
3. Cliente Compatível com MCP
Você precisará de um cliente compatível com MCP, como:
- Claude Desktop
- Outros assistentes de IA compatíveis com MCP
Uso
Configuração Inicial
Antes de executar o servidor, verifique sua configuração:
# Check if everything is configured correctly
gemini-mcp setup
Isso verificará:
- Instalação do Gemini CLI
- Status de autenticação
- Configuração do ambiente
Se você vir erros de autenticação, execute:
gemini auth login
Executando o Servidor
# Method 1: Run from current directory (for development)
uv run gemini-mcp
# Method 2: Run using uvx from GitHub
uvx --from git+https://github.com/DiversioTeam/gemini-cli-mcp gemini-mcp
# Method 3: Run if installed globally
gemini-mcp
# With debug logging
LOG_LEVEL=DEBUG gemini-mcp
Configurando com o Claude Code (CLI)
Método 1: Usando a CLI (Recomendado)
# Install from GitHub (use -- separator for proper argument parsing)
claude mcp add gemini uvx -- --from git+https://github.com/DiversioTeam/gemini-cli-mcp.git gemini-mcp
# Or install from PyPI when published
claude mcp add gemini uvx -- gemini-mcp
Método 2: Configuração Manual
Adicione isso ao ~/.config/claude-code/mcp-settings.json:
{
"servers": {
"gemini": {
"command": "uvx",
"args": ["--from", "git+https://github.com/DiversioTeam/gemini-cli-mcp.git", "gemini-mcp"]
}
}
}
Configurando com o Claude Desktop
Adicione isso à configuração do seu Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"gemini": {
"command": "uvx",
"args": ["--from", "git+https://github.com/DiversioTeam/gemini-cli-mcp.git", "gemini-mcp"],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}
Ferramentas Disponíveis
gemini_prompt
Envie um prompt simples para o Gemini.
Parâmetros:
prompt(obrigatório): O prompt a ser enviadomodel(opcional): O modelo Gemini a ser usado (padrão: gemini-2.5-pro)context(opcional): Contexto adicional para anexar ao prompt
gemini_research
Pesquise um tópico com contexto de arquivos opcional.
Parâmetros:
topic(obrigatório): O tópico ou pergunta de pesquisafiles(opcional): Lista de caminhos de arquivos para incluir como contextomodel(opcional): O modelo Gemini a ser usado
gemini_analyze_code
Analise arquivos de código para diversos fins.
Parâmetros:
files(obrigatório): Lista de arquivos de código a serem analisadosanalysis_type(obrigatório): Tipo de análise - um de:review: Revisão de código para problemas e melhoriasexplain: Explicação detalhada do códigooptimize: Sugestões de desempenho e manutenibilidadesecurity: Análise de vulnerabilidades de segurançatest: Sugestões de casos de teste
specific_question(opcional): Pergunta específica adicionalmodel(opcional): O modelo Gemini a ser usado
gemini_summarize
Resuma conteúdo de texto ou arquivos.
Parâmetros:
content(opcional): Conteúdo de texto a ser resumidofiles(opcional): Arquivos a serem resumidos (alternativa ao conteúdo)summary_type(opcional): Tipo de resumo - um de:brief: Resumo de 2 a 3 frases (padrão)detailed: Resumo abrangentebullet_points: Formato de marcadoresexecutive: Resumo executivo para tomadores de decisão
model(opcional): O modelo Gemini a ser usado
Nota: content ou files deve ser fornecido.
Segurança
Este servidor MCP implementa várias medidas de segurança:
Controle de Acesso a Arquivos
- Acesso a arquivos em sandbox: Por padrão, o acesso a arquivos é restrito ao diretório de trabalho atual
- Validação de caminhos: Todos os caminhos de arquivo são validados para prevenir ataques de travessia de diretório
- Diretórios permitidos configuráveis: Você pode especificar diretórios permitidos via:
- Parâmetro do construtor:
GeminiMCPServer(allowed_directories=["/path/to/safe/dir"]) - Variável de ambiente:
GEMINI_MCP_ALLOWED_DIRS=/path1:/path2:/path3
- Parâmetro do construtor:
Sanitização de Entrada
- Todas as entradas do usuário são devidamente sanitizadas antes de serem passadas para a CLI
- A injeção de comandos é prevenida usando subprocess com listas de argumentos (nunca shell=True)
- Os caminhos de arquivo são resolvidos e validados antes do uso
Boas Práticas
- Sempre execute o servidor com as permissões mínimas necessárias
- Atualize regularmente tanto o servidor MCP quanto o Gemini CLI
- Monitore os logs para qualquer atividade suspeita
Desenvolvimento
Configurando o Ambiente de Desenvolvimento
-
Clone o repositório:
git clone https://github.com/DiversioTeam/gemini-cli-mcp.git cd gemini-cli-mcp -
Instale as dependências de desenvolvimento:
uv sync --all-extras --dev -
Instale os hooks de pre-commit:
uv run pre-commit install
Testes Locais com o Claude Code
Você pode adicionar o servidor para testes locais com a CLI do Claude Code:
# Method 1: Add from local directory (for development)
claude mcp add gemini-local -- uv run gemini-mcp
# Method 2: Add from PyPI (when published)
claude mcp add gemini uvx -- gemini-mcp
# Method 3: Add from GitHub (development version)
claude mcp add gemini uvx -- --from git+https://github.com/DiversioTeam/gemini-cli-mcp.git gemini-mcp
# Then you can test the functionality immediately
# Example: Send prompts, research topics, analyze code, etc.
Executando Testes
# Run all tests with coverage
uv run pytest
# Run specific test file
uv run pytest tests/test_tools.py
# Run with verbose output
uv run pytest -v
Qualidade do Código
# Run linting
uv run ruff check .
# Run formatting
uv run ruff format .
# Run type checking
uv run mypy src/
# Run security checks
uv run ruff check --select S .
Solução de Problemas
Diagnóstico Rápido
Execute a verificação de configuração para diagnosticar problemas comuns:
gemini-mcp setup
Problemas Comuns
-
"Gemini CLI não encontrado no PATH"
- Certifique-se de que o Gemini CLI está instalado:
which gemini - Adicione o Gemini ao seu PATH se necessário
- Siga o guia de instalação para a sua plataforma
- Certifique-se de que o Gemini CLI está instalado:
-
Erros de autenticação
- O servidor detectará se você não está autenticado
- Execute
gemini auth loginpara autenticar - Verifique se suas credenciais expiraram
- A mensagem de erro o orientará sobre o que fazer
-
Erros de acesso a arquivos
- Verifique se os arquivos estão dentro dos diretórios permitidos
- Use caminhos absolutos ou certifique-se de que os caminhos relativos estão corretos
- Defina
GEMINI_MCP_ALLOWED_DIRSpara diretórios personalizados
-
Erros de "Comando não encontrado"
- Execute
gemini-mcp setuppara verificar sua instalação - Certifique-se de ter instalado o pacote:
uv pip install -e .
- Execute
Registro de Depuração
Ative o registro de depuração para ver informações detalhadas:
LOG_LEVEL=DEBUG gemini-mcp
Contribuindo
Aceitamos contribuições! Por favor:
- Faça um fork do repositório
- Crie um branch de funcionalidade (
git checkout -b feature/amazing-feature) - Faça suas alterações e adicione testes
- Certifique-se de que todos os testes passem e as verificações de qualidade do código sejam bem-sucedidas
- Faça commit das suas alterações (
git commit -m 'Add amazing feature') - Envie para o branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para detalhes.
Agradecimentos
- Construído sobre o Model Context Protocol
- Integra-se com o Gemini CLI do Google (integração não oficial)
- Inspirado pelo ecossistema MCP e pela comunidade