Skip to main content
Glama

🧭 Visão Geral

O Google Jules é o agente autônomo de desenvolvimento de software do Google, projetado para rodar em nuvem, clonar repositórios, investigar problemas, formular planos em múltiplas etapas e abrir Pull Requests com testes validados.

O Gemini Antigravity é o ambiente avançado de pair programming da Google DeepMind focado em controle cirúrgico, raciocínio de alta ordem e orquestração.

Este projeto conecta ambos através do Model Context Protocol (MCP):

  • O Antigravity atua como o Arquiteto Líder, planejando a solução e supervisionando a execução.

  • O Jules AI atua como o Operário de Nuvem Assíncrono, executando tarefas longas de refatoração, migração de código e testes em segundo plano.

┌─────────────────────────────────┐
│        Gemini Antigravity       │ ◄─── Pair Programming, Estratégia,
│    (Orquestrador / Arquiteto)   │      Inspeção de Planos e Diffs
└────────────────┬────────────────┘
                 │ MCP (Model Context Protocol via Stdio)
┌────────────────▼────────────────┐
│        jules-ai-mcp Server      │ ◄─── Ferramentas, Types & Validação
└────────────────┬────────────────┘
                 │ Google Jules API / v1alpha
┌────────────────▼────────────────┐
│         Google Jules AI         │ ◄─── Nuvem, Branching, Execução de Testes,
│   (Agente Assíncrono de Código) │      Criação de Pull Request
└─────────────────────────────────┘

Related MCP server: subturn

🚀 Passo a Passo de Configuração

1. Pré-requisitos

  • Node.js: Versão 18 ou superior (node -v).

  • NPM: Versão 9 ou superior (npm -v).

  • Conta Google Jules: Acesso ao portal jules.google.

  • Chave de API do Jules: Obtenha em Settings > API Keys no console do Jules.

2. Clonar e Instalar Dependências

git clone https://github.com/Helfstein-one/jules-ai-mcp.git
cd jules-ai-mcp
npm install
npm run build

3. Configurar Variáveis de Ambiente

Crie seu arquivo .env a partir do modelo .env.example:

cp .env.example .env

Edite o .env com a sua chave:

JULES_API_KEY=sua_chave_jules_aqui
JULES_API_BASE_URL=https://jules.googleapis.com/v1alpha
JULES_MOCK_MODE=false
TIP

Caso queira rodar o servidor em modo de testes / demonstração local sem consumir créditos da API, basta manterJULES_MOCK_MODE=true.


🪐 Integração com o Gemini Antigravity

1. Registrar o MCP Server no Antigravity

Você pode habilitar o Jules MCP de forma global em sua máquina ou dentro do seu projeto:

Configuração Global (~/.gemini/config/mcp_config.json)

Abra ou crie o arquivo ~/.gemini/config/mcp_config.json e adicione o servidor:

{
  "mcpServers": {
    "jules-ai": {
      "command": "node",
      "args": ["/caminho/absoluto/para/jules-ai-mcp/dist/index.js"],
      "env": {
        "JULES_API_KEY": "sua_chave_jules_aqui",
        "JULES_MOCK_MODE": "false"
      }
    }
  }
}

2. Habilitar a Skill jules-orchestrator

O repositório já inclui uma Skill pronta em .agents/skills/jules-orchestrator/SKILL.md. Copie a pasta .agents/ para o repositório do seu projeto ou para ~/.gemini/config/skills/.

A Skill ensina o Antigravity a:

  1. Reconhecer quando uma tarefa deve ser delegada ao Jules.

  2. Formular prompts cirúrgicos para o Jules.

  3. Exigir aprovação manual do plano de execução antes de autorizar qualquer commit.

  4. Coletar o diff e o Pull Request gerados pelo Jules e apresentar ao desenvolvedor.


🛠️ Referência das Tools MCP

Tool MCP

Parâmetros Principais

Descrição

jules_create_task

repo, prompt, baseBranch, autoApprovePlan

Inicia uma nova tarefa autônoma no repositório GitHub.

jules_list_tasks

repo (opcional), limit

Lista tarefas ativas e recentes.

jules_get_task_status

taskId

Retorna o status detalhado, logs e etapas do plano.

jules_approve_plan

taskId, approved (boolean), feedback

Aprova ou rejeita o plano elaborado pelo Jules.

jules_send_feedback

taskId, message

Envia instruções de redirecionamento durante a execução.

jules_get_diff

taskId

Obtém o git diff unificado e o link do Pull Request gerado.

jules_cancel_task

taskId, reason

Cancela uma tarefa em andamento.


🧠 Estratégias e Melhores Práticas Operacionais

1. Separação de Papéis: Antigravity vs Jules

  • Fique no Antigravity: Refatorações rápidas, alterações locais que afetam 1 a 3 arquivos, análise de arquitetura, depuração de erros em tempo real.

  • Delegue ao Jules: Criação de baterias de testes unitários em dezenas de arquivos, atualizações de dependências (ex: upgrade de versão do framework), migrações de esquemas de banco com scripts de retrocompatibilidade.

2. Gate Obrigatório de Aprovação de Plano (autoApprovePlan: false)

Sempre deixe autoApprovePlan: false em bases de produção:

  1. O Jules irá clonar o projeto e criar a árvore AST dos arquivos afetados.

  2. Ele formulará um plano em etapas (plan.steps).

  3. O Antigravity lê o plano e apresenta para você:

    • Quais arquivos serão tocados?

    • Há risco de quebrar contratos de API pública?

  4. Se necessário, envie ajustes com jules_approve_plan(approved=false, feedback="Não altere o arquivo X...").

3. Elimine o Polling Abusivo

Nunca mantenha loops de verificação contínua (while status != completed sleep 5). O Antigravity utiliza o comando /schedule ou notificações de background. Lance a tarefa e prossiga com seu trabalho local; quando o Jules estiver com o plano pronto, você será notificado.

4. Jules como MCP Client (Dois Sentidos)

Lembre-se que o Jules também suporta conexões MCP externas dentro das sessões dele (no portal jules.google em Settings > Service Connections):

  • Linear / Jira MCP: Permite ao Jules ler os critérios de aceitação diretamente das issues.

  • Supabase / Neon MCP: Permite ao Jules inspecionar migrações e esquemas de dados em ambientes sandbox.


💬 Exemplo de Conversação com o Antigravity

Você no chat do Antigravity:

"Antigravity, delegue para o Jules AI a tarefa de migrar nossos testes de autenticação de Jest para Vitest no repositório minha-empresa/api-core. Não aprove o plano automaticamente."

Antigravity com a Skill Jules:

  1. Invoca jules_create_task com as diretrizes e regras do projeto.

  2. Recebe o taskId e aguarda a geração do plano.

  3. Notifica você com o resumo das 4 etapas propostas pelo Jules.

  4. Você responde: "Aprove, mas garanta que o mock do Redis seja preservado."

  5. Antigravity invoca jules_approve_plan(approved=true, feedback="Preserve o mock do Redis...").

  6. Jules executa, roda os testes e abre o Pull Request no GitHub!


📄 Licença

Distribuído sob a licença MIT. Criado e mantido por @Helfstein-one.

Available Tools

7 tools
jules_approve_planA

Approves or rejects the execution plan formulated by Jules. Jules will not modify code until its plan is approved.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYesThe unique Jules Task ID
approvedYesTrue to approve the plan and begin code execution; False to reject and request changes.
feedbackNoFeedback notes or requested modifications if rejecting, or steering directives if approving.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does disclose one meaningful behavioral trait: Jules is blocked from modifying code until the plan is approved, which explains the consequence of inaction. It says nothing about permissions, reversibility of a rejection, or what happens to an already-running task.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and followed by the gating constraint. No filler, nothing redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter, two-required tool with no annotations and no output schema, the description covers purpose and the approval gate but omits the result of the call (e.g. task state transition after rejection) and any permission requirements. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema itself explains the approve/reject boolean and the optional feedback field. The description adds no syntax or format detail beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair (approves/rejects) and resource (the execution plan formulated by Jules), so the action is unambiguous. It does not, however, differentiate itself from near-neighbors like jules_send_feedback or jules_cancel_task, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence implies the usage window (after a plan exists, before code modification), which is genuinely useful. But it names no alternatives and gives no explicit when-not guidance, e.g. that steering without a full rejection should go through jules_send_feedback.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jules_cancel_taskC

Aborts and cancels an active Jules autonomous coding task.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoOptional reason for cancelling the task
taskIdYesThe unique Jules Task ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. The word 'active' hints at a state precondition, but nothing is said about whether cancellation is irreversible, what happens to in-progress work, whether a reason is surfaced to anyone, or whether special permissions are needed for a destructive-looking operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, which is appropriate for a two-parameter tool. Minor redundancy in 'Aborts and cancels,' which express essentially the same act.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description leaves key operational questions unanswered: state preconditions, irreversibility, and what the caller receives back. The fully documented schema covers inputs but not the behavior an agent needs to call this safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters (taskId and optional reason), so the schema already carries parameter meaning. The description adds no format, constraint, or example beyond it; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (cancel/abort) and resource (Jules autonomous coding task), so the operation is immediately identifiable. It does not, however, distinguish itself from sibling terminal-state tools such as jules_approve_plan or explain how cancellation relates to the other task-lifecycle operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no note about which task states are cancellable, and no mention of alternatives (e.g., sending feedback via jules_send_feedback instead of abandoning a task). The agent must infer all of this from the sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jules_create_taskB

Creates a new autonomous coding task for Google Jules AI. Jules will checkout the repo, inspect files, formulate an execution plan, and prepare a PR.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesGitHub repository in "owner/repo" format (e.g., "Helfstein-one/my-app")
titleNoShort descriptive title for the task (optional)
promptYesDetailed instructions for Jules: the problem statement, requirements, architectural constraints, and test criteria.
baseBranchNoBase branch to branch off from (defaults to "main")
targetBranchNoBranch name for Jules to push changes to (optional, auto-generated if omitted)
autoApprovePlanNoWhether Jules should start coding immediately upon finishing planning, or wait for approval (default: false)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It usefully discloses the workflow Jules performs (checkout, inspect files, formulate a plan, prepare a PR), which is real behavioral context beyond the schema. However it omits that the operation is asynchronous, what identifier is returned, whether it requires GitHub authorization, and that a PR is only "prepared" rather than merged or that a plan-approval gate (per autoApprovePlan) is involved.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste, and the core action is front-loaded ahead of the workflow detail. Every clause earns its place by telling the agent what happens after invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter creation tool with no annotations and no output schema, the description covers the purpose and downstream workflow but says nothing about the return value (a task ID the agent will need for jules_get_task_status/jules_approve_plan) or the async nature of the call. It is adequate but leaves an operational gap an agent must discover empirically.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the six parameters are documented with examples and defaults (owner/repo format, baseBranch default "main", autoApprovePlan default false). The description adds no parameter-level detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb+resource ("Creates a new autonomous coding task") and a specific target system (Google Jules AI), which cleanly separates it from the read/manage siblings (list, get_status, approve_plan, cancel). It does not explicitly name an alternative tool or clarify its relationship to jules_approve_plan, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, when-not-to-use, or alternative guidance is given. The agent must infer that this is the initiating tool in the lifecycle, and there is no mention of prerequisites (e.g., a connected GitHub account or that a task must exist before jules_get_task_status or jules_approve_plan apply).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jules_get_diffA

Fetches the git diff and PR link produced by Jules once execution or milestone steps have started.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYesThe unique Jules Task ID

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It usefully discloses the timing constraint (only meaningful after execution/milestone steps begin), but says nothing about error behavior if the diff is not yet available, permission requirements, or whether the diff can be large/paginated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler, front-loading the resource fetched and appending the timing condition. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with no output schema, the description states the resource and the precondition, and it implicitly tells the agent what is returned (diff plus PR link). The missing piece is failure-mode behavior when the diff does not yet exist.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter exists and schema description coverage is 100%, so the schema already documents taskId fully. The description adds no format, source, or constraint details beyond it, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (fetches) and a specific resource (git diff and PR link) that no sibling provides, so an agent can distinguish it from jules_get_task_status or jules_list_tasks. It stops short of explicitly naming a sibling to contrast against, so it lands at 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'once execution or milestone steps have started' gives an implied precondition for when the tool is useful, which is real guidance. However, it never says what to do if called too early, nor does it point to alternatives such as jules_get_task_status for checking readiness.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jules_get_task_statusB

Fetches real-time status, logs, current step progress, and proposed plan for a specific Jules task.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYesThe unique Jules Task ID (e.g. "jules-task-demo-8492")

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It usefully enumerates the returned content (status, logs, progress, plan), implying a read-only, non-mutating call, but says nothing about log truncation, polling/rate limits, or freshness guarantees.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that enumerates the payload in order of importance with zero filler. Nothing could be removed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description does the right thing by naming what comes back (status, logs, progress, plan). It is nearly complete for a simple read tool, though it omits whether logs are paginated or how frequently status refreshes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter and schema coverage is 100%, with the schema documenting the taskId format and an example. The description adds nothing beyond the schema's own wording, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Fetches") and a rich, concrete resource set: real-time status, logs, step progress, and proposed plan for a Jules task. This clearly separates it from jules_list_tasks (enumerate) and jules_get_diff (diffs), though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says what is fetched but never when to reach for this over jules_list_tasks, jules_get_diff, or the plan/approval tools. "For a specific Jules task" implies you must already hold a taskId, but there is no stated precondition or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jules_list_tasksC

Lists recent and active coding tasks handled by Google Jules AI.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoNoFilter tasks by repository ("owner/repo")
limitNoMaximum number of tasks to return (default: 10)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, yet it says nothing about pagination behavior, ordering (newest first?), auth requirements, or what constitutes 'active'. It only hints at scope with 'recent and active', leaving most behavior undisclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler and no redundancy. It is efficient, though its brevity edges toward under-specification rather than optimal conciseness given the missing usage and behavior context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with 2 optional params and no output schema, the description is minimal but serviceable. However, with no output schema and no annotations, it should say more about what a returned task contains and how results are ordered/limited.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both 'repo' and 'limit' (including its default of 10 and format "owner/repo") are fully documented in the schema. The description adds no parameter meaning beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a clear verb ('Lists') and resource ('coding tasks handled by Google Jules AI') with a scope qualifier ('recent and active'). It implicitly distinguishes itself from jules_get_task_status (single task) but never names or contrasts a sibling explicitly, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this list tool versus siblings like jules_get_task_status or how the repo/limit filters change the intent. Usage is only inferable from the tool name and the 'recent and active' phrasing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

jules_send_feedbackB

Sends a steering message, guidance, or mid-session instruction to an ongoing Jules coding session.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskIdYesThe unique Jules Task ID
messageYesThe message or additional context to send to Jules.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It does disclose the semantic effect of the call — the text steers/guides an in-progress agent — and implies an active-session precondition. But it says nothing about whether the message queues, interrupts, is persisted, is reversible, or what errors occur if the session has ended.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity means it leans entirely on other fields for completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with no annotations and no output schema, the description is thin: it omits what a successful send returns or confirms, whether the session must be in a particular state, and any failure modes. The two-parameter schema is documented, but the behavioral envelope an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both required parameters (taskId, message) and their descriptions are adequate. The tool description adds no format, length, or token-limit guidance for the message or the taskId shape, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (sends) and resource (steering message/guidance to a Jules coding session), which is a clear, distinct action versus siblings like jules_approve_plan or jules_get_diff. It does not explicitly name or contrast with any sibling, so differentiation is inferable rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'ongoing Jules coding session' implies the tool is only usable while a session is active, which is useful contextual guidance. However, there is no explicit when/when-not statement, no mention of prerequisites such as whether the session must be awaiting input, and no routing to alternatives like jules_approve_plan.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv1.0.0
    • First observedjules_approve_plan
    • First observedjules_cancel_task
    • First observedjules_create_task
    • First observedjules_get_diff
    • First observedjules_get_task_status
    • First observedjules_list_tasks
    • First observedjules_send_feedback

TDQS

A3.6/5.0

Scored across 7 tools

Disambiguation5/5

Each tool maps to a distinct action in the Jules task lifecycle: list, create, status, approve, feedback, diff, cancel. The read-style tools (get_task_status vs get_diff) are clearly distinguished by what they return, and approve_plan vs send_feedback are separated by their distinct purposes. No two tools can be reasonably confused.

Naming Consistency5/5

All names follow a strict 'jules_verb_noun' snake_case pattern, e.g. jules_list_tasks, jules_create_task, jules_cancel_task. The prefix is applied uniformly and verbs are unambiguous. There is no deviation in style.

Tool Count5/5

Seven tools is well-scoped for managing an autonomous coding-task lifecycle. Each tool earns its place with no redundancy or filler. This sits comfortably in the ideal range.

Completeness4/5

The set covers the full workflow: create, list, observe status, gate the plan via approval, steer mid-session, retrieve diffs/PR, and abort. Minor gaps remain, e.g. no explicit way to fetch or merge the final PR artifact once complete, but agents can work around this via get_diff.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    An autonomous AI development agent that enables full-stack coding, automated verification, RAG-powered code search, and quality assurance through MCP tools. Supports Gemini CLI, Claude Code CLI, with features like parallel verification, security scanning, and spec-driven development.
    5
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables any MCP client to launch and manage subagent sessions in installed coding agents like Codex, Claude Code, Grok, and OpenCode, using your existing logins and chosen models.
    179 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Exposes specialized agents as MCP tools so users can manage and triage Jira tasks, analyze repositories for health and conventions, generate commit/PR/DevOps patterns, assemble reports, produce slides and infographics, and run semantic search over a knowledge base. Everything is invokable directly from inside a coding session in Claude Code, Cursor, or Claude Desktop.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables Claude and Codex agents to delegate implementation, testing, research, or review tasks to each other through local MCP tools, while supporting persistent sessions, isolated editing workspaces, and reviewed integration. It also allows progress tracking, cancellation, model selection, and management handoff between providers.
    MIT