Labsco
samihalawa logo

Google Jules MCP

β˜… 14

from samihalawa

Automate Google Jules, the AI coding assistant, for tasks like code reviews, repository management, and AI-powered development workflows.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeAdvanced setup

Google Jules MCP

A Model Context Protocol (MCP) server for automating Google Jules - the AI coding assistant. This MCP enables seamless integration with Jules for task creation, code review automation, repository management, and AI-powered development workflows.

Features

🎯 Task Management

  • Create Tasks: Automatically create Jules tasks with repository and description
  • Monitor Progress: Track task status and get real-time updates
  • Approve Plans: Review and approve Jules execution plans
  • Resume Tasks: Resume paused or interrupted tasks
  • Bulk Operations: Create multiple tasks efficiently

πŸ”§ Code Operations

  • Code Analysis: Analyze code changes and diffs
  • Branch Management: Handle repository branches and configurations
  • Source Navigation: Browse and analyze source files
  • Review Automation: Automate code review workflows

πŸ’¬ Interactive Communication

  • Send Messages: Send instructions and feedback to Jules
  • Chat History: Track conversation history with Jules
  • Context Extraction: Extract relevant context from task discussions

πŸ“Š Project Management

  • Task Listing: List and filter tasks by status
  • Progress Tracking: Monitor development progress across projects
  • Data Persistence: Local storage of task data and history

πŸ” Session Management (NEW!)

  • Multiple Session Modes: Fresh, Chrome profile, cookies, persistent, and Browserbase
  • Google Authentication: Seamless login with existing Google sessions
  • Cookie Management: Extract, save, and restore authentication cookies
  • Remote Browser Support: Use Browserbase for cloud deployments
  • Cross-Platform: Works locally and in cloud environments

Available Tools

ToolDescription
Task Management
jules_create_taskCreate a new Jules task with repository and description
jules_get_taskGet detailed information about a specific task
jules_send_messageSend messages/instructions to Jules in active tasks
jules_approve_planApprove Jules execution plans
jules_resume_taskResume paused tasks
jules_list_tasksList tasks with filtering options
jules_analyze_codeAnalyze code changes and project structure
jules_bulk_create_tasksCreate multiple tasks from a list
Session & Authentication
jules_get_cookiesGet current browser cookies for session persistence
jules_set_cookiesSet browser cookies from string/JSON for authentication
jules_session_infoGet current session configuration and status
Debugging
jules_screenshotTake debugging screenshots

πŸ” Session Management & Authentication

Session Modes

The MCP supports 5 different session management modes:

ModeDescriptionUse Case
freshNew browser session each timeTesting, no authentication needed
chrome-profileUse existing Chrome profileLocal development with existing Google login
cookiesSave/load cookies to filePersistent authentication without full profile
persistentSave browser data to directoryLocal development with full session persistence
browserbaseRemote browser sessionCloud deployments, Smithery hosting

Configuration Options

🌐 Browserbase (Recommended for Smithery)

Perfect for remote deployments and cloud hosting:

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

πŸͺ Cookie Authentication (Best for Manual Setup)

Extract cookies from your browser and set them as environment variable:

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

🌍 Chrome Profile (Local Development)

Use your existing Chrome profile:

SESSION_MODE=chrome-profile
CHROME_USER_DATA_DIR=/Users/yourname/Library/Application Support/Google/Chrome/Default

πŸ’Ύ Persistent Browser Data

Save browser data to a specific directory:

SESSION_MODE=persistent
CHROME_USER_DATA_DIR=~/.jules-mcp/browser-data  # Custom browser data directory

How to Get Google Authentication Cookies

  1. Log in to Jules: Visit https://jules.google.com and log in
  2. Open Developer Tools: Press F12 or Cmd+Option+I
  3. Go to Application/Storage tab
  4. Find Cookies: Look for .google.com cookies
  5. Copy Important Cookies: Look for cookies like:
    • session_id or sessionid
    • auth_token or authuser
    • SID, HSID, SSID
    • SAPISID, APISID

Format for environment variable:

GOOGLE_AUTH_COOKIES="cookie1=value1; domain=.google.com; cookie2=value2; domain=.google.com"

Environment Configuration

Create a .env file or set environment variables:

# 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

MCP Resources

The server provides useful resources for context:

  • jules://schemas/task - Complete task data model
  • jules://current/active-tasks - Live list of active tasks
  • jules://templates/common-tasks - Template examples for common development tasks

Common Task Templates

The MCP includes templates for common development scenarios:

  • Bug Fix: "Fix the [specific issue] in [filename]. The problem is [description]."
  • Feature Add: "Add [feature name] functionality to [location]. Requirements: [list requirements]."
  • Refactor: "Refactor [component/function] to improve [performance/readability/maintainability]."
  • Testing: "Add comprehensive tests for [component/function] covering [test cases]."
  • Documentation: "Update documentation for [component] to include [new features/changes]."

Integration with Claude Code

Local Integration

{
  "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"
      }
    }
  }
}

Development

Project Structure

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

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

Testing

# Run the test suite
npm test

# Build and test
npm run build && npm test

# Development mode with file watching
npm run dev

Architecture

The MCP follows established patterns:

  • Browser Automation: Uses Playwright for reliable web automation
  • Data Persistence: Local JSON storage for task tracking
  • Error Handling: Comprehensive error handling with meaningful messages
  • Resource Management: Proper browser lifecycle management
  • Security: No credential storage, relies on browser session

Workflow Integration

This MCP is designed to integrate with development workflows:

  1. Issue Tracking β†’ Jules Tasks: Convert GitHub issues to Jules tasks
  2. Code Review β†’ Automation: Automate code review processes
  3. CI/CD Integration: Trigger Jules tasks from deployment pipelines
  4. Team Collaboration: Share Jules task management across teams

License

MIT License - see LICENSE file for details.

Acknowledgments


Note: This MCP requires access to Google Jules. Ensure you have appropriate permissions and access to the repositories you want to manage.