Pular para o conteúdo

Ferramentas MCP

O cc_server hospeda um único registro de ferramentas MCP (JSON-RPC 2.0), servido na porta principal do servidor (padrão 9030) em POST /mcp e GET /sse, com versão de protocolo 2024-11-05. Todos os clientes chegam ao mesmo registro: o desktop, a build web, clientes MCP externos e o runtime de agentes integrado. Servidores MCP externos podem ser conectados ao mesmo registro como uma camada dinâmica.

Medida Contagem
Ferramentas registradas pelo cc_server 110
De packages/cc_mcp 108
De packages/cc_mcp_client (descoberta de ferramentas) 2
Registradas no registro base (server_mcp_registry.dart) 63
Registradas após a inicialização, conforme seus serviços sobem (cc_server_runtime.dart) 47
Das 63 do registro base, condicionais a um repositório de grafo de código 5

As cinco ferramentas de grafo de código só são registradas quando o host passa um repositório de grafo de código para buildServerMcpRegistry. O cc_server sempre passa um, então todas as 110 estão ativas no binário distribuído.

O registro completo é anunciado em tools/list, sem restrição de descoberta. As edições de tickets são ferramentas tipadas.

Obrigatório em toda ferramenta que toca dados no escopo do espaço de trabalho. Um workspace_id ausente ou inválido retorna um erro explícito, e um valor que não corresponde ao espaço de trabalho da entidade alvo é rejeitado em vez de silenciosamente ignorado. Omita-o nas ferramentas genuinamente globais: list_workspaces e as seis ferramentas de notícias (list_feeds, list_articles, get_article, set_article_read, set_article_saved, refresh_feeds), que usam a lista de feeds por usuário do dono do servidor. As ferramentas de descoberta (search_tool_bm25, list_my_tools) o recebem opcionalmente para poderem classificar a chamabilidade pelo modo da conversa. Quando o servidor despacha um agente, o espaço de trabalho é forçado do lado do servidor, então o agente não consegue alcançar outro espaço de trabalho passando um id estranho.

Ambas vêm de cc_mcp_client, não de cc_mcp, e ambas consultam o guarda de modo para relatar o que é chamável no modo de conversa atual.

Ferramenta Descrição
search_tool_bm25 Pesquisa o catálogo de ferramentas por palavra-chave; retorna as ferramentas correspondentes, seus esquemas de argumentos e se cada uma é chamável agora
list_my_tools Lista as ferramentas chamáveis agora nesta conversa, filtradas pelo modo dela

Uma terceira ferramenta de descoberta, search_tools, existe apenas dentro do harness integrado e não faz parte deste registro MCP. Ela classifica a própria superfície de ferramentas da execução e, ao contrário de search_tool_bm25, carrega os esquemas do que encontra para que o agente possa chamar uma correspondência no turno seguinte. Agentes no harness devem preferi-la; clientes MCP têm search_tool_bm25.

Ferramenta Descrição
list_agents Lista os agentes registrados em um espaço de trabalho

Os agentes conversam entre si por espaços (duráveis, visíveis na lista de agentes). ask_agent é requisição/resposta com timeout obrigatório; delegate_task é protegida do lado do servidor por limite de profundidade, detecção de ciclos, envelope de orçamento e teto de autonomia.

Ferramenta Descrição
send_to_agent Envia uma mensagem de mão única a outro agente, endereçado por to_agent_id ou por to_agent_name exato
ask_agent Pergunta algo a outro agente e espera a resposta, ou expira
delegate_task Delega uma tarefa a outro agente como um ticket filho acompanhado
consult_agent Adiciona ao espaço o especialista que melhor corresponde por skills e o despacha com um briefing focado
todo_read Lê a lista de tarefas persistida desta conversa

Toda instalação e atualização passa por um portão de varredura fail-closed antes que qualquer conteúdo de skill chegue ao disco ou a um prompt de agente.

Ferramenta Descrição
list_skills Lista os slugs de skill disponíveis em um espaço de trabalho
create_skill Cria uma nova skill a partir de conteúdo markdown
install_skill Instala o diretório inteiro de uma skill a partir de um repositório do GitHub em um ref fixado
update_skill Atualiza uma skill do GitHub instalada para um novo ref, revarrendo e refixando
list_skill_updates Lista as skills com uma versão mais nova disponível
verify_skills Verifica as skills travadas contra os hashes de conteúdo no disco
pin_skill Gera o hash de uma skill existente no disco para skills-lock.json
Ferramenta Descrição
submit_plan O contrato de saída do modo plano: emite um PlanDocument tipado que abre no Plan Studio
create_playbook Salva um plano como um modelo nomeado e versionado, com placeholders {{param}} tipados
run_playbook Instancia um playbook com valores de parâmetros, produzindo um plano que o operador aprova
publish_artifact Publica uma lista ordenada de blocos tipados (markdown, tabela, gráfico, mermaid, código, JSON) renderizados nativamente no cliente
revise_artifact Substitui o conteúdo de um artefato publicado
list_artifacts Lista os artefatos do espaço de trabalho
get_artifact Lê um artefato
complete_goal Declara alcançada a meta durável ativa da conversa (iniciada com /goal ou /loop)
Ferramenta Descrição
list_workspaces Lista todos os espaços de trabalho com seus ids e nomes (global; sem workspace_id)
Ferramenta Descrição
list_repos Lista os repos registrados em um espaço de trabalho. Agentes que chamam recebem os caminhos de worktree copy-on-write isolados da conversa deles, nunca os checkouts originais
Ferramenta Descrição
list_spaces Lista os espaços de mensagens de um espaço de trabalho
get_messages Busca mensagens de um espaço
send_message Envia uma mensagem a um espaço como um agente remetente nomeado
get_space_notes Lê o documento de passagem compartilhado de um espaço
update_space_notes Substitui o documento de passagem compartilhado de um espaço
todo_write Substitui a lista de tarefas desta conversa em uma chamada (passe a lista completa)
Ferramenta Descrição
start_ai_review Inicia a revisão com IA de uma PR: calcula as áreas de revisão, distribui revisores especialistas no espaço da PR, escreve o passo a passo e finaliza
add_review_node Adiciona um achado de revisão estruturado (arquivo, linha, prioridade P0–P3) a um espaço de revisão
confirm_review_node Confirma o achado de um par; o autor não pode confirmar o próprio achado
resolve_review_node Marca um achado como corrigido depois de realmente fazer a mudança; publica um rastro no espaço de revisão
dismiss_review_node Descarta um achado que não se aplica; registra um fato de supressão para que os revisores parem de sinalizá-lo de novo
request_peer_review Pede a outro agente revisor uma segunda olhada em um achado
dispatch_reviewers Despacha agentes revisores correspondentes para um espaço de revisão, de forma concorrente
submit_reviewer_verdict Publica um veredito ship/hold/block por revisor, com confiança e uma explicação
finalize_review Calcula o consenso por nó e o veredito por PR e encerra a revisão
set_cohort_summary Define o resumo em linguagem simples de uma coorte de revisão
add_review_diagram Anexa a uma coorte um diagrama estruturado e verificado pelo grafo (sequence, entityRelation, stateMachine)
publish_review_to_github Publica a revisão finalizada no GitHub como comentários inline mais um corpo de resumo
Ferramenta Descrição
search_memory Pesquisa fatos e políticas (por palavra-chave, semântica ou híbrida — híbrida é o padrão)
propose_fact Armazena um fato curto em markdown em um domínio
supersede_fact Marca um fato como superado por outro
propose_policy Armazena uma regra normativa em um domínio (exige permissão de escrita nele)
supersede_policy Aposenta uma política — marca-a como inativa, mantendo-a para auditoria
list_policies Lista as políticas ativas, opcionalmente filtradas por domínio
list_memory_domains Lista os domínios de memória do espaço de trabalho com contagens de fatos e políticas
record_observation Registra uma observação bruta na memória de trabalho do agente
get_my_notes Lê o bloco de anotações da memória de trabalho do agente que chama
update_my_notes Atualiza o bloco de anotações da memória de trabalho do agente que chama
remember Adiciona uma nota à memória de trabalho quente do agente nesta sessão (limitada por TTL e por contagem)
consolidate_memory Executa uma passagem de consolidação (“sono”): descarta itens quentes expirados e transforma os duráveis em fatos de longo prazo
harmonize_memory Executa a harmonização de crenças entre agentes (SHMR) e sinaliza contradições
list_memory_conflicts Lista as contradições detectadas e como cada uma foi resolvida
Ferramenta Descrição
create_goal Cria uma meta organizacional (nível de empresa, equipe, agente ou tarefa)
list_goals Lista metas com nível, status e progresso agregado
update_goal_progress Define o progresso de uma meta
create_approval Abre uma aprovação do conselho para uma ação governada (saída de plano, merge, lançamento, contratação, personalizada)
list_approvals Lista aprovações, opcionalmente filtradas por status
decide_approval Registra uma decisão: aprovar, rejeitar, pedir revisão ou reenviar
comment_approval Comenta em uma aprovação do conselho
exit_plan_mode Abre (e, depois de aprovada, consome) uma aprovação plan_exit, tirando a conversa do modo plano
agent_heartbeat Informa a vivacidade (alive, idle, stuck); ficar em silêncio muda a saúde de runtime para recently-lost e depois offline
list_runtime_health Lista a saúde de runtime de cada agente
list_agent_presence Lista a presença de cada agente (saúde, ciclo de vida, contagens em execução e na fila, capacidade)
get_org_chart Lê a árvore de subordinação, com o CEO na raiz, aninhada por reports_to
create_work_product Cria um entregável durável vinculado a um ticket
save_work_product_revision Salva uma nova revisão; passe base_revision_id para ser rejeitado em caso de edição concorrente
list_work_products Lista entregáveis, opcionalmente filtrados para um único ticket
get_work_product Lê um entregável com seu histórico de revisões
create_runtime_profile Define um perfil de runtime reutilizável (família de protocolo, comando de CLI, argumentos de inicialização fixos)
list_runtime_profiles Lista os perfis de runtime do espaço de trabalho

Registradas apenas quando o host fornece um repositório de grafo de código. O índice cobre o conjunto de gramáticas incluído no produto (Dart, JS/TS, PHP, Python, Rust, Zig, C/C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB, Ada); símbolos em qualquer outra linguagem não estão presentes.

Ferramenta Descrição
search_code Pesquisa símbolos indexados por nome, assinatura e comentário de documentação (BM25 híbrido + semântico)
code_symbol Procura símbolos pelo nome exato; retorna file:line e a assinatura
code_callers Lista os símbolos que chamam ou dependem de um símbolo (arestas de entrada)
code_callees Lista os símbolos que um símbolo chama ou dos quais depende (arestas de saída)
code_impact Calcula o raio de impacto transitivo de um símbolo, até uma profundidade
Ferramenta Descrição
create_ticket Cria um ticket no provedor configurado
get_ticket Busca um ticket por id
list_tickets Lista tickets, opcionalmente filtrados por status ou responsável
update_ticket Atualiza status, título, descrição, prioridade ou etiquetas (o status aceita aliases como in_progress / completed)
assign_ticket Atribui um ticket a um agente e/ou equipe
reassign_ticket Reatribui um ticket a um agente diferente
add_ticket_collaborator Convida um agente a colaborar em um ticket (adicionado ao espaço dele)
comment_on_ticket Comenta em um ticket
close_ticket Fecha um ticket (marca-o como concluído) com saída opcional
fail_ticket Marca um ticket como falho com uma mensagem de erro
delegate_ticket Delega um ticket a um agente, criando um ticket acompanhado
ticket_pr_link Vincula ou desvincula um ticket e uma pull request pelo id de nó da PR (action: link | unlink)
ticket_relation Adiciona ou remove uma relação entre dois tickets — blocked_by, blocking, related_to, duplicate_of, duplicated_by, sub_issue_of, parent_of (action: add | remove)
list_ticket_relations Lista o pai, os sub-issues e os vínculos de dependência de um ticket
Ferramenta Descrição
record_team_activity Registra uma entrada de atividade de um líder de equipe referente a um ticket
preview_trigger Simula quais execuções de pipeline um evento hipotético iniciaria, sem efetivar nada
submit_output Envia a carga de saída estruturada da execução de pipeline atual de quem chama; validada contra o esquema de saída declarado pela execução
Ferramenta Descrição
propose_orchestration Emite um plano estruturado de orquestração multiagente para uma aprovação antecipada; valida e retorna quaisquer violações
Ferramenta Descrição
list_feeds Lista os feeds RSS/Atom registrados
list_articles Lista artigos, opcionalmente filtrados por feed, não lidos ou salvos
get_article Busca um artigo
set_article_read Marca um artigo como lido ou não lido
set_article_saved Salva ou remove um artigo dos salvos
refresh_feeds Busca novamente todos os feeds habilitados agora

Controlam máquinas descartáveis — um navegador ou desktop Linux em recinto, um emulador Android ou um iOS Simulator — de dentro de uma execução. Registradas após a inicialização, incondicionalmente: se uma máquina consegue mesmo iniciar é uma pergunta de sondagem que as ferramentas respondem a cada chamada. Chamadas repetidas em uma mesma conversa reutilizam uma máquina; as capturas de tela voltam como conteúdo de imagem, com um orçamento de uma imagem por resultado, e o conteúdo de página/UI extraído é cercado como dado não confiável. As quatro ferramentas de uso, mais a rig_close, declaram a classe de ação enclosureControl (as ferramentas de uso também declaram networkEgress e processSpawn; mobile_use e ios_use também declaram packageInstall), então modos somente leitura as negam. A rig_list não declara nenhuma — ela apenas lê o estado do espaço de trabalho. O vocabulário completo de verbos por superfície está na referência de rigs.

Ferramenta Descrição
computer_use Controla um desktop Linux em uma VM de recinto: mover, clicar, arrastar, rolar, digitar, redimensionar, área de transferência, captura de tela
browser_use Controla um Chromium, Firefox ou WebKit headless (engine): navegar, clicar, preencher, extrair (a11y/DOM/console), área de transferência, captura de tela
mobile_use Controla o Android via ADB: inspecionar/entrada, capturas de tela, instalar/iniciar/parar/redefinir/desinstalar apps, deep links e comandos de dispositivo em formato argv
ios_use Controla o iOS Simulator por WebDriverAgent/CoreSimulator: inspecionar/entrada, capturas de tela, instalar/iniciar/parar/desinstalar apps, deep links e processos de simulador em formato argv
rig_list Lista os rigs de um espaço de trabalho com superfície, status, tamanho da tela e controlador
rig_close Destrói um rig e descarta o estado da máquina que ele possui

Calendário e reuniões não têm ferramentas MCP. Os agentes não conseguem ler seu calendário, suas reuniões, transcrições, itens de ação ou decisões. O resumo que produz itens de ação e decisões roda no pipeline meeting_summary integrado, e não como uma ferramenta que um agente possa chamar.

A restrição é aplicada duas vezes a partir de uma única tabela (ModeToolPolicy): uma no despachante MCP do adaptador Claude Code e outra no registro do harness integrado. Uma chamada bloqueada retorna o motivo.

Modo Superfície de ferramentas
chat Todas as ferramentas registradas; nenhuma lista de permissões
plan Uma lista de permissões curada. Sem gravações na worktree e sem os verbos de ticket create / assign / delegate, mas memória, artefatos, todos, submit_plan, exit_plan_mode e os verbos de conclusão de ticket do ticket despachado são permitidos
review Uma lista de permissões curada: participação em revisão, comunicação, buscadores de contexto somente leitura e o conjunto completo de verbos de ticket, incluindo create_ticket e assign_ticket
orchestrate Uma lista de permissões curada: ferramentas de pesquisa e leitura, mais propose_orchestration, create_playbook e run_playbook. Contratação, decomposição e conclusão de tickets acontecem de forma determinística após a aprovação, nunca no meio da execução

Permitidas em todos os modos, independentemente da lista de permissões:

Conjunto Ferramentas
Memória e artefatos search_memory, propose_fact, propose_policy, supersede_fact, supersede_policy, record_observation, update_my_notes, get_my_notes, list_memory_domains, list_policies, publish_artifact, revise_artifact, list_artifacts, get_artifact
Grafo de código search_code, code_symbol, code_callers, code_callees, code_impact
Mecânica de execução search_tool_bm25, list_my_tools, todo_write, todo_read

Estar em uma lista de permissões não torna uma ferramenta chamável, e o inverso também vale: a capacidade de perguntar ao operador é uma ferramenta do harness (ask_user), então ela nunca aparece neste catálogo MCP.

Uma ferramenta pode declarar requiresApproval. O despachante então monta um ApprovalPayload e o apresenta pelo ConfirmationPort antes de a ferramenta rodar; o cc_server conecta essa porta, então o portão está ativo.

Ferramentas registradas que o declaram: create_ticket, update_ticket, assign_ticket, reassign_ticket, close_ticket, ticket_relation, create_goal, update_goal_progress, create_approval, decide_approval, comment_approval, create_work_product, save_work_product_revision, create_runtime_profile, install_skill, update_skill.

De forma independente, as barreiras unificadas de ação colocam um portão em qualquer ferramenta que declare um conjunto ActionClass não vazio. Uma decisão prompt sem nenhum aprovador conectado é negada. Consulte Barreiras.

Nem toda capacidade do produto é alcançável por um agente. Estas não têm ferramenta alguma, então um nome que você talvez tenha visto referenciado em outro lugar retorna “unknown tool”:

Capacidade Onde ela vive em vez disso
Contratar, demitir ou editar um agente A UI de agentes. Não existe ferramenta hire_agent / fire_agent / update_agent
Criar um espaço de trabalho workspace.upsert por RPC, que semeia e carimba a propriedade
Projetos (criar / listar / atualizar / registrar) A UI de tickets. Projetos são uma superfície do operador — consulte Projetos
Fazer ao operador uma pergunta bloqueante A ferramenta ask_user do harness, não o MCP. Ela renderiza um formulário na conversa e bloqueia até a resposta
Diagnóstico por agente Nada. Não existe um doctor — consulte Diagnóstico de agente
Calendário e reuniões RPC apenas para clientes humanos (veja acima)