Skip to main content
Glama
README.md
---
module_type: mcp-server
status: active
protocol: stdio
primary_capability: Task delegation to Google Jules
requires: JULES_API_KEY
works_with: GitHub repositories, Google Jules
last_verified: 2026-09-11
---

# Google Jules MCP Server (Go)
*Delegate complex, long-running coding tasks from local agents to the cloud-based Google Jules AI agent.*

[![CI](https://github.com/TheNovaNodes/google-jules-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/TheNovaNodes/google-jules-mcp/actions/workflows/ci.yml)
[![Go Version](https://img.shields.io/badge/Go-1.22%20--%201.25-00ADD8?logo=go)](https://golang.org)
[![Protocol: MCP](https://img.shields.io/badge/protocol-MCP%20JSON--RPC-green.svg)](https://modelcontextprotocol.io/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

šŸ“š **Documentation Suite:** [Architecture](ARCHITECTURE.md) • [Agent Directives](AGENTS.md) • [Contributing](CONTRIBUTING.md) • [Security Policy](SECURITY.md) • [Specification](docs/specs/jmc-tune-1-server-tuning.md) • [License](LICENSE)

## Status and last verified date
Status: Active  
Language: Go (Golang)  
Protocol: Model Context Protocol (stdio transport)  
Last verified: 2026-09-11  

## What it does / does not do
**What it does:**
- Exposes Google Jules v1alpha REST API as a high-performance Model Context Protocol (stdio) server.
- Lists connected GitHub repositories with their resolved default branches.
- Autonomously delegates tasks to Jules, creating remote sessions in Google Cloud VMs.
- Provides complete lifecycle observability: status checks, activity logs with unidiff patch previews, interactive message replies, and human plan approvals.
- Implements smart branch resolution (R1): resolves default branch automatically from source metadata without hardcoded fallbacks.
- Compact response formatting (R3): protects LLM context windows by truncating patch previews (<=300 chars) and prompt echoes (<=200 chars).

**What it does not do:**
- Does not run Jules locally (Jules runs inside Google Cloud VMs).
- Does not automatically approve or merge Jules's Pull Requests on GitHub.
- Does not maintain unmonitored background watcher loops (one-shot actions only).

## Quick start

### Option A: Install via `go install` (Recommended)
```bash
go install github.com/TheNovaNodes/google-jules-mcp/cmd/google-jules-mcp@latest
```

### Option B: Build from source
```bash
# 1. Clone repository
git clone https://github.com/TheNovaNodes/google-jules-mcp.git
cd google-jules-mcp

# 2. Configure environment
cp .env.example .env
# Edit .env and set your JULES_API_KEY

# 3. Build binary
make build
# or: go build -ldflags="-s -w" -o bin/google-jules-mcp ./cmd/google-jules-mcp

# 4. Run server (stdio)
./bin/google-jules-mcp
```

## Configuration and environment variables
- `JULES_API_KEY`: The API key for accessing Google Jules REST API (Required).
- `JULES_DISABLE_RETRY`: Set to `1` or `true` to disable exponential backoff retries (Optional, for deterministic testing).

## Complete MCP tool/API table with side effects
| Tool | Description | Side Effects |
|------|-------------|--------------|
| `list_jules_sources` | List all GitHub repositories and default branches connected to Jules | None (Read-only) |
| `delegate_task_to_jules` | Delegate a long-running coding/refactoring mission to Jules | **Creates remote cloud session** |
| `check_jules_status` | Check the current execution state and status of a Jules session | None (Read-only) |
| `get_jules_session` | Retrieve comprehensive details and metadata of a Jules session | None (Read-only) |
| `list_jules_activities` | List execution activity events, progress steps, and code patch previews | None (Read-only) |
| `send_jules_message` | Send an interactive message or instructions to a Jules session | **Sends message to remote session** |
| `approve_jules_plan` | Approve a proposed execution plan for a session paused in plan approval | **Releases human gate; starts execution** |
| `get_jules_patch` | Extract the latest Git unidiff patch produced by Jules for a session | None (Read-only) |

## Security model and trust boundaries
- **Authentication**: All upstream requests require a valid `JULES_API_KEY` sent via the `X-Goog-Api-Key` header.
- **Guardrails (R5)**: The server implements no background auto-approvers or watchers. `approve_jules_plan` is an explicit, one-shot action that logs a mandatory warning.
- **Git Safety**: The server never pushes directly, merges, or touches branches outside of what the Jules API executes remotely.

## Generic MCP-client example
Add to your Claude Desktop, Antigravity, Cursor, or OpenClaw MCP configuration:
```json
{
  "mcpServers": {
    "google-jules": {
      "command": "/absolute/path/to/google-jules-mcp/bin/google-jules-mcp",
      "args": [],
      "env": {
        "JULES_API_KEY": "YOUR_JULES_API_KEY"
      }
    }
  }
}
```

## Testing
```bash
make test
# or: go test -v -race ./...
```

## License
MIT

TDQS

A4/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct resource or action: accounts, sources, task delegation, session retrieval, session listing, activity timelines, plan approval, messaging, and diff extraction. There is minimal overlap, and any possible confusion between get_session, list_sessions, and list_activities is resolved by their distinct purposes.

Naming Consistency5/5

All tools follow the consistent 'jules_verb_noun' pattern with snake_case, making the naming predictable and easy to navigate. For example, list_accounts, delegate_task, get_session, and approve_plan all use the same verb-first convention.

Tool Count5/5

With 9 tools, the set is well-scoped for managing Google Jules sessions, covering account/source introspection, task delegation, monitoring, and interaction. The count is within the ideal 3-15 range and each tool earns its place.

Completeness4/5

The lifecycle covers delegation, monitoring (status, activities, diffs), approval, and follow-up messaging. A minor gap is the absence of a cancel/stop session operation, but the existing surface handles the primary workflows effectively.

Maintenance

ActivityMaintained
ResponsivenessWithin a week