Prepare the server locally
Run this once before adding it to Claude Code.
git clone https://github.com/GreyC/jules-api-mcp
cd jules-api-mcp
npm install
npm run buildRegister it in Claude Code
claude mcp add -e "JULES_API_KEY=${JULES_API_KEY}" jules-api -- node /path/to/jules-api-mcp/dist/index.jsReplace any placeholder paths in the command with the real path on your machine.
JULES_API_KEYMake your agent remember this setup
jules-api's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- Manage Jules AI coding agent sessions from any MCP-compatible client
- Create new coding sessions with specific prompts and automation modes
- Approve execution plans and provide feedback mid-session
- Retrieve session activity timelines and latest messages
- Fetch PR URLs directly from completed autonomous coding sessions
Tools 8
list_sessionsList all Jules sessionsget_sessionGet session details and current statecreate_sessionCreate a new Jules sessionapprove_planApprove Jules's plan to proceed with executionsend_messageSend feedback or instructions to Juleslist_activitiesFull activity timeline for a sessionget_last_messageJules's latest outbound messageget_pr_urlGet the PR URL from a completed sessionEnvironment Variables
JULES_API_KEYrequiredAPI key for accessing Jules servicesTry it
Original README from GreyC/jules-api-mcp
jules-api-mcp
An MCP server for Jules — Google's AI coding agent. Manage Jules sessions from any MCP-compatible client: Claude, Gemini CLI, Cursor, Zed, VS Code, and more.
Tools
| Tool | Description |
|---|---|
list_sessions |
List all Jules sessions |
get_session |
Get session details and current state |
create_session |
Create a new Jules session |
approve_plan |
Approve Jules's plan to proceed with execution |
send_message |
Send feedback or instructions to Jules |
list_activities |
Full activity timeline for a session |
get_last_message |
Jules's latest outbound message |
get_pr_url |
Get the PR URL from a completed session |
Requirements
- Node.js 18+
- A Jules API key (
JULES_API_KEY)
Installation
From source
git clone https://github.com/GreyC/jules-api-mcp
cd jules-api-mcp
npm install
npm run build
Configuration
Add to your MCP client config (e.g. ~/.claude/claude_desktop_config.json or ~/.gemini/settings.json):
{
"mcpServers": {
"jules": {
"command": "node",
"args": ["/path/to/jules-api-mcp/dist/index.js"],
"env": {
"JULES_API_KEY": "<your-key>"
}
}
}
}
Usage Examples
List all sessions:
list_sessions()
Create a session with auto PR:
create_session(
repo="owner/repo",
prompt="Refactor the login function in auth.py to use async/await",
automation_mode="AUTO_CREATE_PR"
)
Approve a plan:
approve_plan(session_id="<ID>")
Send feedback:
send_message(session_id="<ID>", message="Looks good, please create the PR.")
Session States
| State | Meaning |
|---|---|
IN_PROGRESS |
Jules is actively working |
AWAITING_PLAN_APPROVAL |
Jules generated a plan, waiting for approval |
AWAITING_USER_FEEDBACK |
Jules has a question mid-execution |
COMPLETED |
Jules finished |
FAILED |
Unrecoverable error |
Related
- jules-skill — Agent skill with workflow guidance, decision heuristics, and prompt templates for autonomous Jules management
License
MIT