Jules MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool targets a distinct resource-action pair: sessions (create/get/list/delete/send/approve), activities (list/get), and sources (list/get). No two tools overlap in purpose, and descriptions clearly indicate which resource each operates on.
Naming Consistency5/5All tool names follow the consistent jules_<verb>_<noun> pattern in snake_case, with verbs like get, list, create, delete, send, and approve. This makes the API highly predictable and easy to navigate.
Tool Count5/5With 10 tools, the server is well-scoped for its purpose of managing AI coding sessions. Each tool has a clear, non-redundant role, covering session lifecycle, activity monitoring, and source context without unnecessary bloat.
Completeness4/5The session lifecycle is well covered: create, read, list, delete, message, and plan approval. Activity and source listing/retrieval support monitoring and context. The only notable gap is a dedicated cancel/stop session tool, though sending a message could serve that purpose.
Average 4.2/5 across 10 of 10 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 4 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds meaningful context about the activity types, return format, and pagination behavior, which goes beyond annotations and helps set expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a brief main statement, a bulleted list of activity types, an Args section, Returns line, and examples. It is not overly verbose, though the Args section duplicates schema information, slightly reducing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with four parameters and no output schema, the description covers the essential aspects: what activities are tracked, the return value shape, pagination via pageToken, and example usage. It doesn't address error cases or auth, but is sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides comprehensive descriptions for all four parameters (sessionId, pageSize, pageToken, response_format), so schema coverage is 100%. The description's Args section essentially repeats the schema without adding new semantics, maintaining the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'List all activities for a Jules coding session', which clearly identifies the verb (list) and resource (activities for a session). The bulleted list of activity types adds specificity about what is included. It does not explicitly contrast with sibling tools like jules_get_activity, but the plural 'all activities' makes the scope evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The examples 'Monitor session progress: provide sessionId' and 'Get full history: paginate through all activities' give practical guidance on when to use this tool. While it doesn't explicitly mention alternatives, the context of monitoring and history retrieval is clear, and the pagination hint is useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already provide destructiveHint and idempotentHint, but the description augments this with 'This action cannot be undone,' which emphasizes irreversibility. It also forecasts the return value ('Confirmation of deletion'), adding behavioral insight beyond the structured metadata. No contradiction exists between the description and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the purpose statement, then organized into Args/Returns/Note sections. Each line has a purpose, and the irreversibility note is placed at the end for emphasis without wasting words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter delete operation with full annotations, the description covers the essential aspects: what it does, what it takes, what it returns, and its irreversibility. It doesn't explore edge cases or side effects, but the openWorldHint annotation suggests unspecified external effects, and the description's simplicity matches the tool's low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% description coverage for the sessionId parameter with the same wording ('The session ID to delete'). The description's Args section repeats this without adding detail about ID format, acquisition, or constraints beyond the schema, so it meets the baseline but provides no extra semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Delete a coding session,' using a specific verb and resource that clearly distinguishes it from sibling tools like jules_get_session and jules_create_session. The irreversibility note reinforces that this is the deletion action, eliminating ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool's use case (when you need to permanently delete a session) but does not explicitly state when to use it versus alternatives. There is no mention of conditions such as 'use this instead of archiving' or 'do not use if session is still needed,' so the guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds meaningful behavioral context beyond the annotations: the consequence ('After approval, Jules will execute the planned steps') and the required precondition (session state check). The annotations already indicate readOnlyHint=false and idempotentHint=true, but the description enriches understanding of the tool's effect without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Args, Returns, Note) and no redundant fluff. It is appropriately sized for the tool's simplicity, though slight trimming of repetition in the parameter line could make it even more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool, the description covers the purpose, return value, and a critical precondition. It does not elaborate on error behaviors (e.g., what happens if the session is not awaiting approval), but the provided information is sufficient for a straightforward approval action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full coverage for the single parameter (sessionId), including a description. The description's mention of 'session ID with pending plan' adds no substantive meaning beyond the schema. With 100% schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Approve a pending plan in a Jules session.' It is distinct from sibling tools like jules_get_session or jules_send_message, which handle different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear condition for use ('Only needed when the session was created with requirePlanApproval=true') and a prerequisite ('Check session state is AWAITING_PLAN_APPROVAL before calling'). However, it does not explicitly mention what to use instead when those conditions are not met, so it lacks the explicit 'when-not' guidance for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds meaningful context beyond this by detailing the return contents (state, progress, source context, PR outputs) and explaining the effect of the response_format parameter. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear one-sentence purpose, followed by well-structured Args, Returns, and Examples sections. Every sentence earns its place, with no waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with only two well-documented parameters and no output schema, the description adequately explains what the tool returns, how to call it, and shows an example. It is complete enough for an agent to select and invoke the tool correctly without additional information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters already fully described, including an enum for response_format. The description's parameter list largely duplicates the schema, adding only an example value, so it does not provide additional semantic meaning beyond what the schema already gives.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Get' and clearly identifies the resource as 'details of a specific coding session', which distinguishes it from sibling tools like list_sessions and get_activity. The verb+resource combination makes the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a specific session ID is known and details are needed, but it does not explicitly state when not to use this tool or contrast it with alternatives such as jules_list_sessions for listing all sessions. Guidance is present but only implied, not directly articulated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful context about pagination behavior (pageToken, nextPageToken) and return fields (ID, title, state, timestamps), going beyond the basic annotations. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a clear purpose statement, an Args block, a Returns block, and examples. It is concise with no fluff, though the Args block somewhat duplicates the schema. The examples and return details earn their place, making it an efficient reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list operation with no output schema, the description adequately covers the return shape (fields and nextPageToken) and pagination. It does not discuss error cases or rate limits, but these are not essential given the simple read-only nature and strong annotations. The description is sufficiently complete for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already fully documented. The description reinforces this with an Args block and adds concrete usage examples (e.g., 'no params needed' and 'use pageToken from previous response'). These examples clarify practical usage beyond the schema's dry descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'List all coding sessions for the authenticated user,' which clearly identifies the action (list) and resource (coding sessions) with scope. This distinguishes it from siblings like get_session (singular) and list_activities/list_sources (different resource types).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides examples for default usage and pagination, but it does not explicitly state when to use this tool versus alternatives such as jules_get_session or jules_list_activities. There are no exclusions or comparison to sibling tools, leaving selection guidance implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate this is a write operation (readOnlyHint=false), and the description adds behavioral context: it creates a new session and returns ID/state/URL. It also explains how requirePlanApproval and automationMode alter execution. This goes beyond the minimal hints, though it doesn't detail failure modes or source validation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args, Returns, and Examples sections, making it scannable. It repeats some schema details but not excessively. The purpose sentence is front-loaded. It earns a solid 4, slightly loses a point for redundancy with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All six parameters are described, including nested objects, and it explains the return value (ID, state, URL) which is essential given there is no output schema. Examples clarify usage patterns. This is complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the description does not need to compensate for missing schema docs. It largely restates the schema parameter descriptions with minor additions like example source values and format clarification. This meets the baseline but adds little beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Create a new coding session with Jules AI coding agent,' which is a specific verb+resource statement that clearly distinguishes this from sibling tools like get/list/delete. The conceptual sentence about sessions further clarifies the tool's unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about what a session represents and includes examples of typical use. However, it does not explicitly state when not to use it or point to alternatives (e.g., 'for existing sessions, use jules_get_session'), so it falls short of full exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds additional behavioral context by detailing what the tool returns (full activity details, artifacts like code changes, bash output, media files, event types, timestamps) and by explaining the response_format parameter's effect. This goes beyond simple annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, retrieval details, args, returns, examples). It is somewhat repetitive of schema information but remains reasonably concise. Every sentence earns its place, though it could be slightly trimmed without losing insight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters, 100% schema coverage, and no output schema, the description is complete: it fully explains the input parameters, enumerates the return contents (event type, artifacts, timestamps), and provides actionable examples. The agent has sufficient context to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds practical meaning beyond the schema by illustrating parameter usage with examples (e.g., using activityId to retrieve planGenerated or changeSet artifacts), which helps the agent understand how to select appropriate values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get details of a specific activity in a Jules session.' It uses a specific verb ('Get details') and resource ('activity'), and distinguishes itself from sibling tools like jules_list_activities, which lists activities rather than retrieving detailed info for a single one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by noting required parameters (sessionId, activityId) and provides concrete examples (e.g., 'Get plan details: activity with planGenerated', 'Get code diff: activity with changeSet artifact'). However, it does not explicitly name alternatives or state when not to use this tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a write operation (readOnlyHint=false) and not idempotent or destructive. The description adds valuable context beyond annotations: it requires an active session, describes the return value ('Confirmation that the message was sent'), and gives concrete examples of appropriate messages. This helps the agent understand behavioral expectations without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a one-line summary, a short 'Use this to' clarification, a simple Args list, a Returns line, and examples. Every section earns its place without unnecessary verbosity. The front-loaded purpose statement makes it easy for an agent to quickly identify the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (two string parameters, no output schema), and the description covers purpose, parameters, return value, and examples, making it sufficient for invocation. It does not detail error conditions, but the annotations and schema cover the core safety and type constraints. Given the low complexity, this level of completeness is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both sessionId and prompt already described in the schema. The description repeats the parameter descriptions but adds value through concrete examples ('Please also add integration tests', 'Use TypeScript instead of JavaScript') that illustrate the kind of content to include in the prompt. These examples enhance understanding beyond the schema's simple field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear and specific verb-resource pair: 'Send a message to an active Jules session.' It clearly distinguishes this tool from siblings (create/get/delete/list sessions, approve plan) by focusing on the action of sending a message while a session is active. The elaboration about feedback, questions, and instructions further clarifies its specific role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use this to provide feedback, answer questions, or give additional instructions while Jules is working on a task.' This provides clear context and purpose, though it does not name alternative tools or explicitly state when not to use it. The sibling list implicitly offers alternatives, but that is outside the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful behavioral context by specifying exactly what information will be returned (owner, visibility, default branch, all branches) and the output format options. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with an intro, Args section, Returns section, and Example. Every sentence adds useful information without redundancy. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given only two parameters, no output schema, and read-only annotations, the description is complete. It explains parameters, return structure, and provides an example. No critical information needed for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description adds extra value by providing a concrete example of sourceId format ('github-owner-repo'), explaining the response_format enum in plain language, and clearly listing the returned fields for both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Gets details of a specific repository source' with a specific verb and resource. It distinguishes itself from siblings like jules_list_sources by focusing on a single, specific source and enumerating the detailed information returned (owner, name, visibility, branches).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it is for retrieving full details of a specific connected GitHub repository. However, it does not explicitly state when not to use it or name an alternative tool for listing all sources. The sibling list implies such a tool exists, but the description could have been more explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description adds meaningful behavioral context: sources are GitHub repos connected via the web interface, returns include owner/repo, public/private status, and branches, and supports pagination and filtering. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with intro, Args, Returns, and Examples. Every section serves a purpose without repetition or fluff. It front-loads the core purpose and provides just enough detail to operate the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description explains return values (owner/repo, public/private, branches) and covers all four parameters, including defaults and allowed values. It is fully self-contained for a list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds concrete examples for the filter expression ('name=sources/github-myorg-myrepo') and clarifies that no params are needed for listing all sources. This goes beyond the schema's bare descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action and resource: 'List all repository sources connected to Jules.' It explains what sources are (GitHub repositories) and distinguishes itself from siblings like jules_get_source by focusing on listing all rather than retrieving a single source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context and examples for when to use the tool: listing all repos with no params or filtering by name. It does not explicitly mention alternatives like jules_get_source, but the examples imply the correct usage for broad listing vs filtered lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/analisaperlengkapan/mcp-jules'
If you have feedback or need assistance with the MCP directory API, please join our Discord server