Ir al contenido

Herramientas MCP

cc_server aloja un único registro de herramientas MCP (JSON-RPC 2.0), servido en el puerto principal del servidor (por defecto, 9030) en POST /mcp y GET /sse, con la versión de protocolo 2024-11-05. Todos los clientes llegan al mismo registro: la aplicación de escritorio, la versión web, los clientes MCP externos y el tiempo de ejecución de agentes integrado. Los servidores MCP externos pueden puentearse al mismo registro como una capa dinámica.

Medida Recuento
Herramientas registradas por cc_server 110
De packages/cc_mcp 108
De packages/cc_mcp_client (descubrimiento de herramientas) 2
Registradas en el registro base (server_mcp_registry.dart) 63
Registradas tras el arranque, a medida que se inician sus servicios (cc_server_runtime.dart) 47
De las 63 del registro base, condicionadas a un repositorio de grafo de código 5

Las cinco herramientas del grafo de código solo se registran cuando el host pasa un repositorio de grafo de código a buildServerMcpRegistry. cc_server siempre pasa uno, así que las 110 están activas en el binario distribuido.

El registro completo se anuncia en tools/list sin ningún filtrado de descubrimiento. Las ediciones de tickets son herramientas tipadas.

Obligatorio en toda herramienta que toque datos con ámbito de espacio de trabajo. Un workspace_id ausente o no válido devuelve un error explícito, y un valor que no coincide con el espacio de trabajo de la entidad de destino se rechaza en lugar de ignorarse en silencio. Omítelo en las herramientas realmente globales: list_workspaces y las seis herramientas de noticias (list_feeds, list_articles, get_article, set_article_read, set_article_saved, refresh_feeds), que se sirven de la lista de fuentes por usuario del propietario del servidor. Las herramientas de descubrimiento (search_tool_bm25, list_my_tools) lo aceptan de forma opcional para poder clasificar si se pueden llamar según el modo de conversación. Cuando el servidor despacha a un agente, el espacio de trabajo se fuerza en el lado del servidor, así que el agente no puede alcanzar otro espacio de trabajo pasando un id ajeno.

Ambas proceden de cc_mcp_client, no de cc_mcp, y las dos consultan el filtro de modo, de forma que informan de lo que se puede llamar en el modo de conversación actual.

Herramienta Descripción
search_tool_bm25 Busca en el catálogo de herramientas por palabra clave; devuelve las herramientas coincidentes, sus esquemas de argumentos y si cada una se puede llamar en este momento
list_my_tools Lista las herramientas que se pueden llamar ahora mismo en esta conversación, filtradas por su modo

Hay una tercera herramienta de descubrimiento, search_tools, que solo existe dentro del arnés integrado y no forma parte de este registro MCP. Ordena la propia superficie de herramientas de la ejecución y, a diferencia de search_tool_bm25, carga los esquemas de lo que encuentra para que el agente pueda llamar a una coincidencia en su siguiente turno. Los agentes que usan el arnés deberían preferirla; los clientes MCP tienen search_tool_bm25.

Herramienta Descripción
list_agents Lista los agentes registrados en un espacio de trabajo

Mensajería y delegación entre agentes pares

Sección titulada «Mensajería y delegación entre agentes pares»

Los agentes hablan entre sí a través de espacios (duraderos y visibles en la lista de agentes). ask_agent es solicitud/respuesta con un tiempo de espera obligatorio; delegate_task está protegida en el lado del servidor por un límite de profundidad, detección de ciclos, envolvente de presupuesto y techo de autonomía.

Herramienta Descripción
send_to_agent Envía un mensaje unidireccional a otro agente, dirigido por to_agent_id o por un to_agent_name exacto
ask_agent Pregunta algo a otro agente y espera su respuesta, o agota el tiempo de espera
delegate_task Delega una tarea en otro agente como ticket hijo con seguimiento
consult_agent Añade al espacio el especialista que mejor encaja por sus skills y lo despacha con un encargo concreto
todo_read Lee la lista de tareas persistida de esta conversación

Toda instalación y actualización pasa por una compuerta de análisis fail-closed antes de que ningún contenido de skill llegue al disco o a un prompt de agente.

Herramienta Descripción
list_skills Lista los slugs de las skills disponibles en un espacio de trabajo
create_skill Crea una skill nueva a partir de contenido markdown
install_skill Instala el directorio completo de una skill desde un repositorio de GitHub en una ref fijada
update_skill Actualiza una skill de GitHub instalada a una ref nueva, volviendo a analizarla y a fijarla
list_skill_updates Lista las skills con una versión más reciente disponible
verify_skills Verifica las skills bloqueadas contra sus hashes de contenido en disco
pin_skill Calcula el hash de una skill existente en disco y lo escribe en skills-lock.json
Herramienta Descripción
submit_plan El contrato de salida del modo plan: emite un PlanDocument tipado que se abre en Plan Studio
create_playbook Guarda un plan como plantilla con nombre y versionada, con marcadores de posición {{param}} tipados
run_playbook Instancia un playbook con valores de parámetros y produce un plan que el operador aprueba
publish_artifact Publica una lista ordenada de bloques tipados (markdown, tabla, gráfico, mermaid, código, JSON) renderizados de forma nativa en el cliente
revise_artifact Sustituye el contenido de un artefacto publicado
list_artifacts Lista los artefactos del espacio de trabajo
get_artifact Lee un artefacto
complete_goal Declara alcanzado el objetivo duradero activo de la conversación (iniciado con /goal o /loop)
Herramienta Descripción
list_workspaces Lista todos los espacios de trabajo con sus ids y nombres (global; sin workspace_id)
Herramienta Descripción
list_repos Lista los repos registrados en un espacio de trabajo. Los agentes que la llaman reciben las rutas del worktree aislado de copia en escritura de su conversación, nunca los checkouts originales
Herramienta Descripción
list_spaces Lista los espacios de mensajería de un espacio de trabajo
get_messages Obtiene los mensajes de un espacio
send_message Envía un mensaje a un espacio como un agente remitente con nombre
get_space_notes Lee el documento de traspaso compartido de un espacio
update_space_notes Sustituye el documento de traspaso compartido de un espacio
todo_write Sustituye la lista de tareas de esta conversación en una sola llamada (pasa la lista completa)
Herramienta Descripción
start_ai_review Inicia la revisión con IA de una PR: calcula las áreas de revisión, reparte los agentes revisores especialistas por el espacio de la PR, redacta el recorrido y la finaliza
add_review_node Añade un hallazgo de revisión estructurado (archivo, línea, prioridad P0–P3) a un espacio de revisión
confirm_review_node Confirma el hallazgo de un par; el autor no puede confirmarlo por sí mismo
resolve_review_node Marca un hallazgo como corregido después de hacer realmente el cambio; publica un rastro en el espacio de revisión
dismiss_review_node Descarta un hallazgo que no aplica; registra un hecho de supresión para que los revisores dejen de volver a marcarlo
request_peer_review Pide a otro agente revisor una segunda opinión sobre un hallazgo
dispatch_reviewers Despacha agentes revisores coincidentes a un espacio de revisión, de forma concurrente
submit_reviewer_verdict Publica un veredicto ship/hold/block por revisor, con su confianza y una explicación
finalize_review Calcula el consenso por nodo y el veredicto de la PR, y cierra la revisión
set_cohort_summary Establece el resumen en lenguaje llano de una cohorte de revisión
add_review_diagram Adjunta a una cohorte un diagrama estructurado y verificado por el grafo (sequence, entityRelation, stateMachine)
publish_review_to_github Publica en GitHub la revisión finalizada como comentarios en línea más un cuerpo de resumen
Herramienta Descripción
search_memory Busca hechos y políticas (por palabra clave, semántica o híbrida; la híbrida es la predeterminada)
propose_fact Guarda un hecho breve en markdown en un dominio
supersede_fact Marca un hecho como sustituido por otro
propose_policy Guarda una regla normativa en un dominio (requiere permiso de escritura sobre él)
supersede_policy Retira una política: la marca como inactiva y la conserva para auditoría
list_policies Lista las políticas activas, con filtro opcional por dominio
list_memory_domains Lista los dominios de memoria del espacio de trabajo con sus recuentos de hechos y políticas
record_observation Registra una observación sin procesar en la memoria de trabajo del agente
get_my_notes Lee el bloc de notas de la memoria de trabajo del agente que la llama
update_my_notes Actualiza el bloc de notas de la memoria de trabajo del agente que la llama
remember Añade una nota a la memoria de trabajo caliente del agente para esta sesión (con límites de TTL y de número)
consolidate_memory Ejecuta una pasada de consolidación («sueño»): desaloja los elementos calientes caducados y convierte los duraderos en hechos a largo plazo
harmonize_memory Ejecuta la armonización de creencias entre agentes (SHMR) y señala las contradicciones
list_memory_conflicts Lista las contradicciones detectadas y cómo se resolvió cada una
Herramienta Descripción
create_goal Crea un objetivo organizativo (de nivel de empresa, equipo, agente o tarea)
list_goals Lista los objetivos con su nivel, estado y progreso agregado
update_goal_progress Establece el progreso de un objetivo
create_approval Abre una aprobación de la junta para una acción gobernada (salir del plan, fusionar, publicar, contratar, personalizada)
list_approvals Lista las aprobaciones, con filtro opcional por estado
decide_approval Registra una decisión: aprobar, rechazar, pedir una revisión o volver a enviar
comment_approval Comenta en una aprobación de la junta
exit_plan_mode Abre una aprobación plan_exit (y, una vez aprobada, la consume), sacando la conversación del modo plan
agent_heartbeat Informa de la vitalidad (activo, inactivo, atascado); quedarse en silencio cambia la salud de ejecución a perdido recientemente y luego a desconectado
list_runtime_health Lista la salud de ejecución de cada agente
list_agent_presence Lista la presencia de cada agente (salud, ciclo de vida, recuentos en ejecución y en cola, capacidad)
get_org_chart Lee el árbol de reporte, con el CEO en la raíz y anidado por reports_to
create_work_product Crea un entregable duradero vinculado a un ticket
save_work_product_revision Guarda una revisión nueva; pasa base_revision_id para que se rechace si hay una edición concurrente
list_work_products Lista los productos de trabajo, con filtro opcional por un ticket
get_work_product Lee un producto de trabajo con su historial de revisiones
create_runtime_profile Define un perfil de ejecución reutilizable (familia de protocolo, comando de CLI, argumentos de lanzamiento fijos)
list_runtime_profiles Lista los perfiles de ejecución del espacio de trabajo

Se registran solo cuando el host proporciona un repositorio de grafo de código. El índice cubre el conjunto de gramáticas distribuidas (Dart, JS/TS, PHP, Python, Rust, Zig, C/C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB, Ada); los símbolos de cualquier otro lenguaje no están presentes.

Herramienta Descripción
search_code Busca símbolos indexados por nombre, firma y comentario de documentación (híbrida BM25 + semántica)
code_symbol Busca símbolos por nombre exacto; devuelve file:line y la firma
code_callers Lista los símbolos que llaman a un símbolo o dependen de él (aristas entrantes)
code_callees Lista los símbolos a los que llama un símbolo o de los que depende (aristas salientes)
code_impact Calcula el radio de impacto transitivo de un símbolo, hasta una profundidad
Herramienta Descripción
create_ticket Crea un ticket en el proveedor configurado
get_ticket Obtiene un ticket por su id
list_tickets Lista tickets, con filtro opcional por estado o por persona asignada
update_ticket Actualiza el estado, el título, la descripción, la prioridad o las etiquetas (el estado acepta alias como in_progress / completed)
assign_ticket Asigna un ticket a un agente o a un equipo
reassign_ticket Reasigna un ticket a otro agente
add_ticket_collaborator Invita a un agente a colaborar en un ticket (se añade a su espacio)
comment_on_ticket Comenta en un ticket
close_ticket Cierra un ticket (lo marca como hecho) con una salida opcional
fail_ticket Marca un ticket como fallido con un mensaje de error
delegate_ticket Delega un ticket en un agente y crea un ticket con seguimiento
ticket_pr_link Vincula o desvincula un ticket y una pull request por el id de nodo de la PR (action: link | unlink)
ticket_relation Añade o quita una relación entre dos tickets — blocked_by, blocking, related_to, duplicate_of, duplicated_by, sub_issue_of, parent_of (action: add | remove)
list_ticket_relations Lista el ticket padre, los subtickets y los vínculos de dependencia de un ticket
Herramienta Descripción
record_team_activity Registra una entrada de actividad de un líder de equipo contra un ticket
preview_trigger Simula (dry-run) qué ejecuciones de pipeline iniciaría un evento hipotético, sin confirmar nada
submit_output Envía la carga de salida estructurada de la ejecución de pipeline actual del solicitante; se valida contra el esquema de salida declarado de la ejecución
Herramienta Descripción
propose_orchestration Emite un plan de orquestación multiagente estructurado para una única aprobación por adelantado; valida y devuelve cualquier incumplimiento
Herramienta Descripción
list_feeds Lista las fuentes RSS/Atom registradas
list_articles Lista artículos, con filtro opcional por fuente, no leídos o guardados
get_article Obtiene un artículo
set_article_read Marca un artículo como leído o no leído
set_article_saved Guarda o quita de guardados un artículo
refresh_feeds Vuelve a obtener ahora todas las fuentes habilitadas

Dirigen máquinas desechables —un navegador o un escritorio Linux con recinto, un emulador de Android o un simulador de iOS— desde dentro de una ejecución. Se registran tras el arranque, de forma incondicional: si una máquina puede arrancar de verdad es una pregunta que las herramientas responden con una sonda en cada llamada. Las llamadas repetidas en una misma conversación reutilizan una sola máquina; las capturas de pantalla se devuelven como contenido de imagen con un presupuesto de una imagen por resultado, y el contenido de página o de interfaz extraído se delimita como datos no fiables. Las cuatro herramientas de uso más rig_close declaran la clase de acción enclosureControl (las herramientas de uso también declaran networkEgress y processSpawn; mobile_use e ios_use también declaran packageInstall), así que los modos de solo lectura las deniegan. rig_list no declara ninguna: solo lee el estado del espacio de trabajo. El vocabulario completo de verbos por superficie está en la referencia de rigs.

Herramienta Descripción
computer_use Dirige un escritorio Linux en una VM con recinto: mover, hacer clic, arrastrar, desplazar, escribir, redimensionar, portapapeles, captura de pantalla
browser_use Dirige un Chromium, Firefox o WebKit headless (engine): navegar, hacer clic, rellenar, extraer (a11y/DOM/consola), portapapeles, captura de pantalla
mobile_use Dirige Android a través de ADB: inspección/entrada, capturas de pantalla, instalar/iniciar/detener/reiniciar/desinstalar apps, enlaces profundos y comandos de dispositivo con forma de argv
ios_use Dirige el simulador de iOS a través de WebDriverAgent/CoreSimulator: inspección/entrada, capturas de pantalla, instalar/iniciar/detener/desinstalar apps, enlaces profundos y procesos del simulador con forma de argv
rig_list Lista los rigs de un espacio de trabajo con su superficie, estado, tamaño de pantalla y controlador
rig_close Destruye un rig y descarta el estado de la máquina que posee

El calendario y las reuniones no tienen herramientas MCP. Los agentes no pueden leer tu calendario, tus reuniones, tus transcripciones, tus tareas ni tus decisiones. El resumen que produce las tareas y las decisiones se ejecuta como el pipeline meeting_summary integrado, no como una herramienta que un agente pueda llamar.

El control se aplica dos veces a partir de una sola tabla (ModeToolPolicy): una en el despachador MCP del adaptador de Claude Code y otra en el registro del arnés integrado. Una llamada bloqueada devuelve el motivo.

Modo Superficie de herramientas
chat Todas las herramientas registradas; sin lista de permitidos
plan Una lista de permitidos seleccionada. Sin escrituras en el worktree ni verbos de ticket create / assign / delegate, pero se permiten la memoria, los artefactos, las tareas, submit_plan, exit_plan_mode y los verbos de finalización de ticket sobre el ticket despachado
review Una lista de permitidos seleccionada: participación en la revisión, comunicación, captadores de contexto de solo lectura y el conjunto completo de verbos de ticket, incluidos create_ticket y assign_ticket
orchestrate Una lista de permitidos seleccionada: herramientas de investigación y lectura más propose_orchestration, create_playbook y run_playbook. La contratación, la descomposición y la finalización de tickets ocurren de forma determinista tras la aprobación, nunca a mitad de ejecución

Permitido en todos los modos, independientemente de la lista de permitidos:

Conjunto Herramientas
Memoria y artefactos 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 ejecución search_tool_bm25, list_my_tools, todo_write, todo_read

Estar en una lista de permitidos no hace que una herramienta se pueda llamar, y lo contrario también se cumple: la capacidad de preguntar al operador es una herramienta del arnés (ask_user), así que no aparece en este catálogo MCP en absoluto.

Una herramienta puede declarar requiresApproval. El despachador construye entonces un ApprovalPayload y lo muestra a través del ConfirmationPort antes de que se ejecute la herramienta; cc_server conecta ese puerto, así que la compuerta está activa.

Herramientas registradas que lo declaran: 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 independiente, las barandillas de acciones unificadas controlan cualquier herramienta que declare un conjunto no vacío de ActionClass. Una decisión prompt sin ningún aprobador conectado se deniega. Consulta Barandillas.

No todas las capacidades del producto son alcanzables por un agente. Estas no tienen ninguna herramienta, así que un nombre que hayas visto referenciado en otro sitio devuelve “unknown tool”:

Capacidad Dónde vive en su lugar
Contratar, despedir o editar un agente La interfaz de agentes. No hay ninguna herramienta hire_agent / fire_agent / update_agent
Crear un espacio de trabajo workspace.upsert por RPC, que siembra y marca la propiedad
Proyectos (crear / listar / actualizar / asignar) La interfaz de tickets. Los proyectos son una superficie del operador; consulta Proyectos
Preguntar al operador una pregunta bloqueante La herramienta ask_user del arnés, no MCP. Renderiza un formulario en la conversación y se bloquea hasta la respuesta
Diagnóstico por agente Nada. No hay ningún doctor; consulta Diagnóstico de agentes
Calendario y reuniones RPC solo para clientes humanos (véase arriba)