Google Jules MCP
Automatiza Google Jules, el asistente de codificación con IA, para tareas como revisiones de código, gestión de repositorios y flujos de trabajo de desarrollo impulsados por IA.
Documentación
Google Jules MCP
Un servidor de Model Context Protocol (MCP) para automatizar Google Jules, el asistente de codificación con IA. Este MCP permite una integración perfecta con Jules para la creación de tareas, automatización de revisiones de código, gestión de repositorios y flujos de trabajo de desarrollo impulsados por IA.
Características
🎯 Gestión de Tareas
- Crear Tareas: Crea automáticamente tareas de Jules con repositorio y descripción
- Monitorear Progreso: Rastrea el estado de las tareas y obtén actualizaciones en tiempo real
- Aprobar Planes: Revisa y aprueba los planes de ejecución de Jules
- Reanudar Tareas: Reanuda tareas pausadas o interrumpidas
- Operaciones Masivas: Crea múltiples tareas de manera eficiente
🔧 Operaciones de Código
- Análisis de Código: Analiza cambios de código y diferencias
- Gestión de Ramas: Maneja ramas y configuraciones de repositorios
- Navegación de Fuentes: Explora y analiza archivos fuente
- Automatización de Revisiones: Automatiza flujos de trabajo de revisión de código
💬 Comunicación Interactiva
- Enviar Mensajes: Envía instrucciones y comentarios a Jules
- Historial de Chat: Rastrea el historial de conversaciones con Jules
- Extracción de Contexto: Extrae contexto relevante de discusiones de tareas
📊 Gestión de Proyectos
- Listado de Tareas: Lista y filtra tareas por estado
- Seguimiento de Progreso: Monitorea el progreso del desarrollo en proyectos
- Persistencia de Datos: Almacenamiento local de datos de tareas e historial
🔐 Gestión de Sesiones (¡NUEVO!)
- Múltiples Modos de Sesión: Nuevo, perfil de Chrome, cookies, persistente y Browserbase
- Autenticación de Google: Inicio de sesión sin problemas con sesiones de Google existentes
- Gestión de Cookies: Extrae, guarda y restaura cookies de autenticación
- Soporte de Navegador Remoto: Usa Browserbase para despliegues en la nube
- Multiplataforma: Funciona localmente y en entornos de nube
Herramientas Disponibles
| Herramienta | Descripción |
|---|---|
| Gestión de Tareas | |
jules_create_task | Crea una nueva tarea de Jules con repositorio y descripción |
jules_get_task | Obtén información detallada sobre una tarea específica |
jules_send_message | Envía mensajes/instrucciones a Jules en tareas activas |
jules_approve_plan | Aprueba planes de ejecución de Jules |
jules_resume_task | Reanuda tareas pausadas |
jules_list_tasks | Lista tareas con opciones de filtrado |
jules_analyze_code | Analiza cambios de código y estructura del proyecto |
jules_bulk_create_tasks | Crea múltiples tareas desde una lista |
| Sesión y Autenticación | |
jules_get_cookies | Obtiene cookies actuales del navegador para persistencia de sesión |
jules_set_cookies | Establece cookies del navegador desde cadena/JSON para autenticación |
jules_session_info | Obtiene configuración y estado actual de la sesión |
| Depuración | |
jules_screenshot | Toma capturas de pantalla para depuración |
Instalación
Requisitos Previos
- Node.js 18+
- TypeScript
- Acceso Git a los repositorios que deseas gestionar
Configuración
# 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
🔐 Gestión de Sesiones y Autenticación
Modos de Sesión
El MCP soporta 5 modos diferentes de gestión de sesiones:
| Modo | Descripción | Caso de Uso |
|---|---|---|
fresh | Nueva sesión de navegador cada vez | Pruebas, sin necesidad de autenticación |
chrome-profile | Usar perfil de Chrome existente | Desarrollo local con inicio de sesión de Google existente |
cookies | Guardar/cargar cookies en archivo | Autenticación persistente sin perfil completo |
persistent | Guardar datos del navegador en directorio | Desarrollo local con persistencia completa de sesión |
browserbase | Sesión de navegador remota | Despliegues en la nube, alojamiento en Smithery |
Opciones de Configuración
🌐 Browserbase (Recomendado para Smithery)
Perfecto para despliegues remotos y alojamiento en la nube:
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
🍪 Autenticación con Cookies (Mejor para Configuración Manual)
Extrae cookies de tu navegador y establácelas como variable de entorno:
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 de Chrome (Desarrollo Local)
Usa tu perfil de Chrome existente:
SESSION_MODE=chrome-profile
CHROME_USER_DATA_DIR=/Users/yourname/Library/Application Support/Google/Chrome/Default
💾 Datos Persistentes del Navegador
Guarda datos del navegador en un directorio específico:
SESSION_MODE=persistent
CHROME_USER_DATA_DIR=~/.jules-mcp/browser-data # Custom browser data directory
Cómo Obtener Cookies de Autenticación de Google
- Inicia sesión en Jules: Visita https://jules.google.com e inicia sesión
- Abre las Herramientas de Desarrollo: Presiona F12 o Cmd+Option+I
- Ve a la pestaña Aplicación/Almacenamiento
- Encuentra Cookies: Busca cookies de
.google.com - Copia Cookies Importantes: Busca cookies como:
session_idosessionidauth_tokenoauthuserSID,HSID,SSIDSAPISID,APISID
Formato para variable de entorno:
GOOGLE_AUTH_COOKIES="cookie1=value1; domain=.google.com; cookie2=value2; domain=.google.com"
Configuración de Entorno
Crea un archivo .env o establece variables de entorno:
# 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
Ejemplos de Uso
1. Crear una Nueva Tarea
// 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. Monitorear el Progreso de una Tarea
// Get task details and progress
{
"name": "jules_get_task",
"arguments": {
"taskId": "9103172019911831130"
}
}
3. Enviar Instrucciones a 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. Creación Masiva de Tareas
// 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 y Filtrar Tareas
// List active tasks
{
"name": "jules_list_tasks",
"arguments": {
"status": "in_progress",
"limit": 10
}
}
6. Ejemplos de Gestión de Sesiones
Verificar Estado de la Sesión
{
"name": "jules_session_info",
"arguments": {}
}
Obtener Cookies Actuales (para respaldo)
{
"name": "jules_get_cookies",
"arguments": {
"format": "string" // or "json"
}
}
Establecer Cookies de Autenticación
{
"name": "jules_set_cookies",
"arguments": {
"cookies": "session_id=abc123; domain=.google.com; auth_token=xyz789; domain=.google.com",
"format": "string"
}
}
Recursos MCP
El servidor proporciona recursos útiles para contexto:
jules://schemas/task- Modelo completo de datos de tareasjules://current/active-tasks- Lista en vivo de tareas activasjules://templates/common-tasks- Ejemplos de plantillas para tareas de desarrollo comunes
Plantillas Comunes de Tareas
El MCP incluye plantillas para escenarios comunes de desarrollo:
- Corrección de Errores:
"Fix the [specific issue] in [filename]. The problem is [description]." - Adición de Funcionalidades:
"Add [feature name] functionality to [location]. Requirements: [list requirements]." - Refactorización:
"Refactor [component/function] to improve [performance/readability/maintainability]." - Pruebas:
"Add comprehensive tests for [component/function] covering [test cases]." - Documentación:
"Update documentation for [component] to include [new features/changes]."
Integración con Claude Code
Integración 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"
}
}
}
}
🌐 Despliegue en Smithery
Desplegar en Smithery.ai
El MCP está completamente configurado para el despliegue en Smithery con gestión integral de sesiones:
- Haz fork/clona este repositorio
- Despliega en Smithery: Visita smithery.ai y conecta tu repositorio
- Configura la Gestión de Sesiones en la configuración de Smithery:
Opción A: Browserbase (Recomendado)
SESSION_MODE=browserbase
BROWSERBASE_API_KEY=bb_live_g3i-b4WPFh__E3cErKE5rO-jWds
BROWSERBASE_PROJECT_ID=d718e85f-be7b-497d-9123-b1bbf798f1bb
Opción B: Autenticación con Cookies
SESSION_MODE=cookies
GOOGLE_AUTH_COOKIES="session_id=abc123; domain=.google.com; auth_token=xyz789; domain=.google.com"
- Acceso Remoto: Usa tu MCP desplegado desde cualquier instancia de Claude Code
Beneficios de Smithery + Browserbase
- ✅ Sin Navegador Local: Se ejecuta completamente en la nube
- ✅ Sesiones Persistentes: Mantiene la autenticación de Google entre despliegues
- ✅ Acceso Global: Úsalo desde cualquier lugar con conexión a internet
- ✅ Autoescalado: Maneja múltiples solicitudes concurrentes
- ✅ Configuración Cero: Sin dependencias ni configuración local
Solución de Problemas
Problemas Comunes
-
La Automatización del Navegador Falla
- Asegúrate de tener acceso adecuado a
jules.google.com - Verifica que hayas iniciado sesión en tu cuenta de Google
- Intenta ejecutar con
HEADLESS=falsepara ver qué está sucediendo
- Asegúrate de tener acceso adecuado a
-
La Creación de Tareas Falla
- Verifica que los nombres de los repositorios sean correctos (formato
owner/repo-name) - Asegúrate de tener acceso a los repositorios especificados
- Verifica que las ramas existan
- Verifica que los nombres de los repositorios sean correctos (formato
-
Errores de Permisos
- Asegúrate de tener acceso de escritura a la ruta de almacenamiento de datos
- Verifica los permisos del repositorio en GitHub
Modo de Depuración
Habilita el modo de depuración para solucionar problemas:
DEBUG=true HEADLESS=false npm start
Esto:
- Mostrará las interacciones del navegador visualmente
- Tomará capturas de pantalla en errores
- Proporcionará registro detallado
Desarrollo
Estructura del Proyecto
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
Contribuciones
- Haz fork del repositorio
- Crea una rama de funcionalidad
- Realiza tus cambios
- Agrega pruebas si corresponde
- Envía una solicitud de extracción
Pruebas
# Run the test suite
npm test
# Build and test
npm run build && npm test
# Development mode with file watching
npm run dev
Arquitectura
El MCP sigue patrones establecidos:
- Automatización del Navegador: Usa Playwright para automatización web confiable
- Persistencia de Datos: Almacenamiento JSON local para seguimiento de tareas
- Manejo de Errores: Manejo integral de errores con mensajes significativos
- Gestión de Recursos: Gestión adecuada del ciclo de vida del navegador
- Seguridad: Sin almacenamiento de credenciales, depende de la sesión del navegador
Integración de Flujos de Trabajo
Este MCP está diseñado para integrarse con flujos de trabajo de desarrollo:
- Seguimiento de Problemas → Tareas de Jules: Convierte problemas de GitHub en tareas de Jules
- Revisión de Código → Automatización: Automatiza procesos de revisión de código
- Integración CI/CD: Activa tareas de Jules desde pipelines de despliegue
- Colaboración en Equipo: Comparte la gestión de tareas de Jules entre equipos
Licencia
Licencia MIT - consulta el archivo LICENSE para más detalles.
Agradecimientos
- Construido con el Model Context Protocol SDK
- Inspirado en los patrones de implementación de tusclasesparticulares-mcp
- Automatización del navegador impulsada por Playwright
Nota: Este MCP requiere acceso a Google Jules. Asegúrate de tener los permisos adecuados y acceso a los repositorios que deseas gestionar.