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

FerramentaDescrição
Gerenciamento de Tarefas
jules_create_taskCrie uma nova tarefa Jules com repositório e descrição
jules_get_taskObtenha informações detalhadas sobre uma tarefa específica
jules_send_messageEnvie mensagens/instruções para o Jules em tarefas ativas
jules_approve_planAprove os planos de execução do Jules
jules_resume_taskRetome tarefas pausadas
jules_list_tasksListe tarefas com opções de filtro
jules_analyze_codeAnalise alterações de código e estrutura do projeto
jules_bulk_create_tasksCrie múltiplas tarefas a partir de uma lista
Sessão e Autenticação
jules_get_cookiesObtenha os cookies atuais do navegador para persistência de sessão
jules_set_cookiesDefina cookies do navegador a partir de string/JSON para autenticação
jules_session_infoObtenha a configuração e o status atuais da sessão
Depuração
jules_screenshotTire 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:

ModoDescriçãoCaso de Uso
freshNova sessão de navegador a cada vezTestes, sem necessidade de autenticação
chrome-profileUse o perfil Chrome existenteDesenvolvimento local com login Google existente
cookiesSalvar/carregar cookies em arquivoAutenticação persistente sem perfil completo
persistentSalvar dados do navegador em diretórioDesenvolvimento local com persistência completa de sessão
browserbaseSessão de navegador remotaImplantaçõ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

  1. Faça login no Jules: Visite https://jules.google.com e faça login
  2. Abra as Ferramentas do Desenvolvedor: Pressione F12 ou Cmd+Option+I
  3. Vá para a aba Application/Storage
  4. Encontre Cookies: Procure por cookies .google.com
  5. Copie Cookies Importantes: Procure por cookies como:
    • session_id ou sessionid
    • auth_token ou authuser
    • SID, HSID, SSID
    • SAPISID, 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 tarefas
  • jules://current/active-tasks - Lista em tempo real de tarefas ativas
  • jules://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:

  1. Faça fork/clone deste repositório
  2. Implante no Smithery: Visite smithery.ai e conecte seu repositório
  3. 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"
  1. 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

  1. 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=false para ver o que está acontecendo
  2. 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
  3. 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

  1. Faça fork do repositório
  2. Crie uma branch de recurso
  3. Faça suas alterações
  4. Adicione testes se aplicável
  5. 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:

  1. Rastreamento de Issues → Tarefas Jules: Converta issues do GitHub em tarefas Jules
  2. Revisão de Código → Automação: Automatize processos de revisão de código
  3. Integração CI/CD: Acione tarefas Jules a partir de pipelines de implantação
  4. Colaboração em Equipe: Compartilhe o gerenciamento de tarefas Jules entre equipes

Licença

Licença MIT - consulte o arquivo LICENSE para detalhes.

Agradecimentos


Nota: Este MCP requer acesso ao Google Jules. Certifique-se de ter permissões adequadas e acesso aos repositórios que deseja gerenciar.