Google Jules MCP
Automatize o Google Jules, o assistente de codificação com IA, para tarefas como revisões de código, gerenciamento de repositórios e fluxos de desenvolvimento com IA.
Documentação
Google Jules MCP
Um servidor Model Context Protocol (MCP) para automatizar o Google Jules - o assistente de codificação com IA. Este MCP permite integração perfeita com o Jules para criação de tarefas, automação de revisão de código, gerenciamento de repositórios e fluxos de trabalho de desenvolvimento com IA.
Recursos
🎯 Gerenciamento de Tarefas
- Criar Tarefas: Crie tarefas Jules automaticamente com repositório e descrição
- Monitorar Progresso: Acompanhe o status das tarefas e receba atualizações em tempo real
- Aprovar Planos: Revise e aprove os planos de execução do Jules
- Retomar Tarefas: Retome tarefas pausadas ou interrompidas
- Operações em Lote: Crie múltiplas tarefas com eficiência
🔧 Operações de Código
- Análise de Código: Analise alterações de código e diffs
- Gerenciamento de Branches: Gerencie branches e configurações de repositórios
- Navegação de Código-fonte: Navegue e analise arquivos de código-fonte
- Automação de Revisão: Automatize fluxos de trabalho de revisão de código
💬 Comunicação Interativa
- Enviar Mensagens: Envie instruções e feedback para o Jules
- Histórico de Chat: Acompanhe o histórico de conversas com o Jules
- Extração de Contexto: Extraia contexto relevante das discussões de tarefas
📊 Gerenciamento de Projetos
- Listagem de Tarefas: Liste e filtre tarefas por status
- Acompanhamento de Progresso: Monitore o progresso do desenvolvimento em projetos
- Persistência de Dados: Armazenamento local de dados e histórico de tarefas
🔐 Gerenciamento de Sessão (NOVO!)
- Múltiplos Modos de Sessão: Nova, perfil do Chrome, cookies, persistente e Browserbase
- Autenticação Google: Login perfeito com sessões Google existentes
- Gerenciamento de Cookies: Extraia, salve e restaure cookies de autenticação
- Suporte a Navegador Remoto: Use Browserbase para implantações em nuvem
- Multiplataforma: Funciona localmente e em ambientes de nuvem
Ferramentas Disponíveis
| Ferramenta | Descrição |
|---|---|
| Gerenciamento de Tarefas | |
jules_create_task | Crie uma nova tarefa Jules com repositório e descrição |
jules_get_task | Obtenha informações detalhadas sobre uma tarefa específica |
jules_send_message | Envie mensagens/instruções para o Jules em tarefas ativas |
jules_approve_plan | Aprove os planos de execução do Jules |
jules_resume_task | Retome tarefas pausadas |
jules_list_tasks | Liste tarefas com opções de filtro |
jules_analyze_code | Analise alterações de código e estrutura do projeto |
jules_bulk_create_tasks | Crie múltiplas tarefas a partir de uma lista |
| Sessão e Autenticação | |
jules_get_cookies | Obtenha os cookies atuais do navegador para persistência de sessão |
jules_set_cookies | Defina cookies do navegador a partir de string/JSON para autenticação |
jules_session_info | Obtenha a configuração e o status atuais da sessão |
| Depuração | |
jules_screenshot | Tire capturas de tela de depuração |
Instalação
Pré-requisitos
- Node.js 18+
- TypeScript
- Acesso Git aos repositórios que você deseja gerenciar
Configuração
# Clone the repository
git clone https://github.com/samihalawa/google-jules-mcp.git
cd google-jules-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Test the installation
npm test
🔐 Gerenciamento de Sessão e Autenticação
Modos de Sessão
O MCP suporta 5 modos diferentes de gerenciamento de sessão:
| Modo | Descrição | Caso de Uso |
|---|---|---|
fresh | Nova sessão de navegador a cada vez | Testes, sem necessidade de autenticação |
chrome-profile | Use o perfil Chrome existente | Desenvolvimento local com login Google existente |
cookies | Salvar/carregar cookies em arquivo | Autenticação persistente sem perfil completo |
persistent | Salvar dados do navegador em diretório | Desenvolvimento local com persistência completa de sessão |
browserbase | Sessão de navegador remota | Implantações em nuvem, hospedagem Smithery |
Opções de Configuração
🌐 Browserbase (Recomendado para Smithery)
Perfeito para implantações remotas e hospedagem em nuvem:
SESSION_MODE=browserbase
BROWSERBASE_API_KEY=bb_live_g3i-b4WPFh__E3cErKE5rO-jWds # Your API key
BROWSERBASE_PROJECT_ID=d718e85f-be7b-497d-9123-b1bbf798f1bb # Your project ID
BROWSERBASE_SESSION_ID= # Optional: use existing session
🍪 Autenticação por Cookies (Melhor para Configuração Manual)
Extraia cookies do seu navegador e defina-os como variável de ambiente:
SESSION_MODE=cookies
GOOGLE_AUTH_COOKIES="session_id=abc123; domain=.google.com; auth_token=xyz789; domain=.google.com"
COOKIES_PATH=~/.jules-mcp/cookies.json # File to save/load cookies
🌍 Perfil Chrome (Desenvolvimento Local)
Use seu perfil Chrome existente:
SESSION_MODE=chrome-profile
CHROME_USER_DATA_DIR=/Users/yourname/Library/Application Support/Google/Chrome/Default
💾 Dados Persistentes do Navegador
Salve dados do navegador em um diretório específico:
SESSION_MODE=persistent
CHROME_USER_DATA_DIR=~/.jules-mcp/browser-data # Custom browser data directory
Como Obter Cookies de Autenticação do Google
- Faça login no Jules: Visite https://jules.google.com e faça login
- Abra as Ferramentas do Desenvolvedor: Pressione F12 ou Cmd+Option+I
- Vá para a aba Application/Storage
- Encontre Cookies: Procure por cookies
.google.com - Copie Cookies Importantes: Procure por cookies como:
session_idousessionidauth_tokenouauthuserSID,HSID,SSIDSAPISID,APISID
Formato para variável de ambiente:
GOOGLE_AUTH_COOKIES="cookie1=value1; domain=.google.com; cookie2=value2; domain=.google.com"
Configuração de Ambiente
Crie um arquivo .env ou defina variáveis de ambiente:
# Browser Configuration
HEADLESS=true # Run browser in headless mode
TIMEOUT=30000 # Browser timeout in milliseconds
DEBUG=false # Enable debug mode with screenshots
# Session Management
SESSION_MODE=browserbase # fresh | chrome-profile | cookies | persistent | browserbase
# Browserbase Configuration (for remote/cloud deployments)
BROWSERBASE_API_KEY=your_api_key
BROWSERBASE_PROJECT_ID=your_project_id
BROWSERBASE_SESSION_ID=optional_existing_session
# Cookie Authentication
GOOGLE_AUTH_COOKIES="session_id=abc; domain=.google.com"
COOKIES_PATH=~/.jules-mcp/cookies.json
# Chrome Profile (local development)
CHROME_USER_DATA_DIR=/path/to/chrome/profile
# Data Storage
JULES_DATA_PATH=~/.jules-mcp/data.json # Custom data storage path
Exemplos de Uso
1. Criar uma Nova Tarefa
// Create a task to fix a bug
{
"name": "jules_create_task",
"arguments": {
"description": "Fix the login authentication bug in the user dashboard. The issue occurs when users try to log in with special characters in their password.",
"repository": "mycompany/webapp",
"branch": "main"
}
}
2. Monitorar o Progresso da Tarefa
// Get task details and progress
{
"name": "jules_get_task",
"arguments": {
"taskId": "9103172019911831130"
}
}
3. Enviar Instruções para o Jules
// Send additional context or instructions
{
"name": "jules_send_message",
"arguments": {
"taskId": "9103172019911831130",
"message": "Please also add unit tests for the authentication fix and ensure backward compatibility."
}
}
4. Criação de Tarefas em Lote
// Create multiple tasks at once
{
"name": "jules_bulk_create_tasks",
"arguments": {
"tasks": [
{
"description": "Add dark mode support to the UI",
"repository": "mycompany/frontend",
"branch": "feature/dark-mode"
},
{
"description": "Optimize database queries for user search",
"repository": "mycompany/backend",
"branch": "performance/search"
}
]
}
}
5. Listar e Filtrar Tarefas
// List active tasks
{
"name": "jules_list_tasks",
"arguments": {
"status": "in_progress",
"limit": 10
}
}
6. Exemplos de Gerenciamento de Sessão
Verificar Status da Sessão
{
"name": "jules_session_info",
"arguments": {}
}
Obter Cookies Atuais (para backup)
{
"name": "jules_get_cookies",
"arguments": {
"format": "string" // or "json"
}
}
Definir Cookies de Autenticação
{
"name": "jules_set_cookies",
"arguments": {
"cookies": "session_id=abc123; domain=.google.com; auth_token=xyz789; domain=.google.com",
"format": "string"
}
}
Recursos MCP
O servidor fornece recursos úteis para contexto:
jules://schemas/task- Modelo completo de dados de tarefasjules://current/active-tasks- Lista em tempo real de tarefas ativasjules://templates/common-tasks- Exemplos de modelos para tarefas comuns de desenvolvimento
Modelos de Tarefas Comuns
O MCP inclui modelos para cenários comuns de desenvolvimento:
- Correção de Bug:
"Fix the [specific issue] in [filename]. The problem is [description]." - Adição de Recurso:
"Add [feature name] functionality to [location]. Requirements: [list requirements]." - Refatoração:
"Refactor [component/function] to improve [performance/readability/maintainability]." - Testes:
"Add comprehensive tests for [component/function] covering [test cases]." - Documentação:
"Update documentation for [component] to include [new features/changes]."
Integração com Claude Code
Integração Local
{
"mcpServers": {
"google-jules-mcp": {
"command": "node",
"args": ["path/to/google-jules-mcp/dist/index.js"],
"env": {
"HEADLESS": "true",
"SESSION_MODE": "cookies",
"GOOGLE_AUTH_COOKIES": "your_cookies_here",
"DEBUG": "false"
}
}
}
}
🌐 Implantação no Smithery
Implantar no Smithery.ai
O MCP está totalmente configurado para implantação no Smithery com gerenciamento abrangente de sessão:
- Faça fork/clone deste repositório
- Implante no Smithery: Visite smithery.ai e conecte seu repositório
- Configure o Gerenciamento de Sessão nas configurações do Smithery:
Opção A: Browserbase (Recomendado)
SESSION_MODE=browserbase
BROWSERBASE_API_KEY=bb_live_g3i-b4WPFh__E3cErKE5rO-jWds
BROWSERBASE_PROJECT_ID=d718e85f-be7b-497d-9123-b1bbf798f1bb
Opção B: Autenticação por Cookies
SESSION_MODE=cookies
GOOGLE_AUTH_COOKIES="session_id=abc123; domain=.google.com; auth_token=xyz789; domain=.google.com"
- Acesso Remoto: Use seu MCP implantado a partir de qualquer instância do Claude Code
Benefícios do Smithery + Browserbase
- ✅ Sem Navegador Local: Executa inteiramente na nuvem
- ✅ Sessões Persistentes: Mantenha a autenticação Google entre implantações
- ✅ Acesso Global: Use de qualquer lugar com conexão à internet
- ✅ Auto-escalonamento: Lida com múltiplas solicitações simultâneas
- ✅ Zero Configuração: Sem dependências locais ou configuração necessária
Solução de Problemas
Problemas Comuns
-
A Automação do Navegador Falha
- Certifique-se de ter acesso adequado a
jules.google.com - Verifique se você está logado na sua conta Google
- Tente executar com
HEADLESS=falsepara ver o que está acontecendo
- Certifique-se de ter acesso adequado a
-
A Criação de Tarefas Falha
- Verifique se os nomes dos repositórios estão corretos (formato
owner/repo-name) - Certifique-se de ter acesso aos repositórios especificados
- Verifique se as branches existem
- Verifique se os nomes dos repositórios estão corretos (formato
-
Erros de Permissão
- Certifique-se de ter acesso de escrita ao caminho de armazenamento de dados
- Verifique as permissões do repositório no GitHub
Modo de Depuração
Ative o modo de depuração para solução de problemas:
DEBUG=true HEADLESS=false npm start
Isso irá:
- Mostrar interações do navegador visualmente
- Tirar capturas de tela em erros
- Fornecer registro detalhado
Desenvolvimento
Estrutura do Projeto
google-jules-mcp/
├── src/
│ └── index.ts # Main MCP server implementation
├── docs/
│ └── referencerecordings/ # Browser automation references
├── scripts/
│ └── test-mcp.js # Testing script
├── dist/ # Compiled output
├── package.json
├── tsconfig.json
└── smithery.yaml # MCP deployment config
Contribuindo
- Faça fork do repositório
- Crie uma branch de recurso
- Faça suas alterações
- Adicione testes se aplicável
- Envie um pull request
Testes
# Run the test suite
npm test
# Build and test
npm run build && npm test
# Development mode with file watching
npm run dev
Arquitetura
O MCP segue padrões estabelecidos:
- Automação de Navegador: Usa Playwright para automação web confiável
- Persistência de Dados: Armazenamento JSON local para rastreamento de tarefas
- Tratamento de Erros: Tratamento abrangente de erros com mensagens significativas
- Gerenciamento de Recursos: Gerenciamento adequado do ciclo de vida do navegador
- Segurança: Sem armazenamento de credenciais, depende da sessão do navegador
Integração de Fluxo de Trabalho
Este MCP foi projetado para integrar-se a fluxos de trabalho de desenvolvimento:
- Rastreamento de Issues → Tarefas Jules: Converta issues do GitHub em tarefas Jules
- Revisão de Código → Automação: Automatize processos de revisão de código
- Integração CI/CD: Acione tarefas Jules a partir de pipelines de implantação
- Colaboração em Equipe: Compartilhe o gerenciamento de tarefas Jules entre equipes
Licença
Licença MIT - consulte o arquivo LICENSE para detalhes.
Agradecimentos
- Construído com o Model Context Protocol SDK
- Inspirado nos padrões de implementação do tusclasesparticulares-mcp
- Automação de navegador alimentada por Playwright
Nota: Este MCP requer acesso ao Google Jules. Certifique-se de ter permissões adequadas e acesso aos repositórios que deseja gerenciar.