get_sourceLABSCO 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 — pip install jules-mcp, then supply credentials
USE CASES
Handing a coding task to Jules from your own agent
Pick the source, create the session with the prompt and a starting branch, then wait for it to finish in one call.
Keeping a human decision in the loop
Require plan approval on creation, read the plan, and approve only when it matches what you asked for.
Correcting a run that started down the wrong path
Send a follow-up message into the live session rather than killing it and re-prompting from scratch.
Reviewing what a session actually did
Pull the full activity list for the session and read the steps in order, instead of inferring it from the final diff.
12 tools
Listed in project docs. Your client may show a different list.
list_sourcesget_all_sourcescreate_sessionget_sessionlist_sessionsapprove_session_plansend_session_messagewait_for_session_completionget_activitylist_activitieslist_all_activitiesBEFORE YOU INSTALL
What to know first
Tools you get
12 tools named in the project's documentation.
Requires
- Python 3.13 or later, with pip install jules-mcp
- JULES_API_KEY in your environment
INSTALLATION
Connect your client
Add the block to your client, or run the command directly.
Server setup
Configuration file
{
"mcpServers": {
"jules-mcp": {
"command": "python",
"args": [
"-m",
"jules_mcp"
],
"env": {
"JULES_API_KEY": "<YOUR_JULES_API_KEY>"
}
}
}
}pip
pip install jules-mcp