Jules MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JULES_API_KEY | Yes | Your Jules API key. Create/copy it in Jules settings and keep it secret. Authenticates with the x-goog-api-key header. | |
| JULES_MCP_HOST | No | Host to bind when using streamable-http transport. Defaults to 127.0.0.1. | 127.0.0.1 |
| JULES_MCP_PATH | No | Path for the MCP endpoint when using streamable-http transport. Defaults to /mcp. | /mcp |
| JULES_MCP_PORT | No | Port to bind when using streamable-http transport. Defaults to 8000. | 8000 |
| JULES_MCP_TRANSPORT | No | Transport mode for the MCP server. Defaults to stdio. Can be 'stdio' or 'streamable-http'. | stdio |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| jules_list_sourcesB | List GitHub repositories/sources connected to the authenticated Jules account. |
| jules_get_sourceA | Get one Jules source, including repository metadata and available branches. |
| jules_list_sessionsB | List Jules coding sessions for the authenticated account. |
| jules_get_sessionA | Get a Jules session by ID or by resource name such as sessions/123. |
| jules_create_sessionA | Create a Jules coding session for a connected GitHub source.
|
| jules_send_messageB | Send feedback or additional instructions to an active Jules session. |
| jules_approve_planA | Approve the pending plan for a session created with plan approval required. |
| jules_list_activitiesA | List immutable activities/events for a Jules session.
|
| jules_get_activityC | Get one activity from a Jules session. |
| jules_session_snapshotC | Fetch the current session object and the latest page of activities together. |
| jules_wait_for_sessionA | Poll a Jules session until it stops actively running or until timeout. Returns when the session reaches COMPLETED, FAILED, PAUSED, AWAITING_PLAN_APPROVAL, or AWAITING_USER_FEEDBACK. This is useful after creating a task when the caller wants a bounded wait instead of manual polling. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools map clearly to distinct resource/action pairs (list/get sources, sessions, activities), and the workflow actions (create, send_message, approve_plan, wait) are unambiguous. The only mild overlap is jules_session_snapshot, which combines get_session and list_activities, and jules_wait_for_session, which could be approximated by polling activities.
Names consistently use a jules_ prefix with snake_case, mostly following an action_noun pattern (list_sources, get_session, create_session, approve_plan). jules_session_snapshot breaks the verb-first convention, and jules_wait_for_session inserts a preposition, but the overall style remains predictable.
Eleven tools is well within the ideal range and matches the server's scope of managing sources, sessions, activities, and approval/waiting workflows. Each tool addresses a distinct need without unnecessary bloat.
The surface covers listing/retrieving sources and sessions, creating sessions, sending feedback, approving plans, and inspecting activities, which is strong coverage for a coding-agent API. A minor gap is the lack of an explicit cancel/terminate session tool, though agents could work around it via send_message or waiting.