Labsco
MCP SERVER

Start Google Jules coding sessions from your own agent, approve the plan, send follow-up messages, and block until the work finishes — all over MCP.

Code Generation, Scaffolding & Migration
Summary
Plan approval plus a blocking wait is what makes this usable from another agent.

Creating a session with plan approval required means your orchestrator sees what Jules intends to do before any of it happens, and the completion wait — with your own poll interval and timeout — turns a long run into one call instead of a polling loop you have to write. The tool set is session management, not code review: what Jules changed comes back through the activity stream, so read that before you trust the result.

What it is

A FastMCP server wrapping the official `jules-agent-sdk`, so an MCP client can drive Google Jules Agent sessions. It lists the sources Jules can work against, creates a session against one with a prompt and optional starting branch, approves the plan when you asked for plan approval, sends further messages into a running session, and inspects the activity stream a session produces.

What you get
  • The sources Jules can act on, listed one page at a time or auto-paginated, with AIP-160 filter syntax — `list_sources`, `get_all_sources`, `get_source`
  • A session created from a prompt and a source, optionally on a starting branch and optionally gated on plan approval — `create_session`, `get_session`, `list_sessions`
  • Plan approval and mid-flight instructions, so a run does not have to be right on the first prompt — `approve_session_plan`, `send_session_message`
  • A blocking wait with your own poll interval and timeout, instead of a manual polling loop — `wait_for_session_completion`
  • The activity stream a session produced, one page at a time or in full — `list_activities`, `list_all_activities`, `get_activity`
Requirements

A Jules API key in `JULES_API_KEY` — the SDK reads it from the environment automatically. Python 3.13+; install with `pip install -e .` from a clone or `uv sync`. The published package is `jules-mcp` 0.1.6. Run it over stdio with `uv run fastmcp run jules_mcp/jules_mcp.py:mcp`, or through the module entry point `python -m jules_mcp`; `MCP.json` and `fastmcp.json` in the repository are sample configurations whose paths you adjust for your checkout.

Setup effort

One command plus a key — uvx jules-mcp, then supply credentials