Referencia MCP
Las cinco herramientas y los seis prompts en la frontera con el agente — entradas, salidas y lo que MCP nunca decide.
health
Identidad del proyecto, revisión de Git, working tree, estado y cobertura del proveedor. Si falta Codebase Memory, el resultado es explícitamente degradado; nunca se inventa cobertura.
prepare_change
Entrada: target (path o path::symbol) y la intent real del agente.
Opcional: max_tokens (por defecto 2400), max_nodes (12),
max_relationships (16), mode: baseline para omitir la detección de
conflictos con la intención.
Salida: un operation_id y un packet con
critical_constraintsydecisionsque gobiernan el target, cada una conauthority,provenancey cómo coincidió;relationshipsexplicadas por Records, con sustatederivado y el camino cuando esindirect;structure: los nodos y aristas seleccionados alrededor del target, cada uno con su rol y los ids de Records que lo explican;relevant_code,intent_conflicts,known_risks,known_unknowns,warnings, elsnapshotde consistencia ybudget_overflowcuando el contexto con autoridad excedió el techo.
El presupuesto es un techo, nunca una meta: una vecindad vacía produce un packet pequeño, y el conocimiento gobernante nunca se recorta para caber.
explain_target
Por qué existe un target: los Records que lo gobiernan por binding exacto, su
Subject y qué es conocido frente a desconocido. Usa el mismo matcher que
prepare_change, así las dos herramientas nunca discrepan.
finalize_change
Entrada: operation_id, summary y candidates. Cada candidato exige kind,
statement, rationale, durability y bindings; puede añadir
relationships, supersedes, severity, id, risks, evidence y
subject. Una relación es {source, kind, target} con extremos
path::symbol y un tipo como calls, uses, writes, imports o tests;
una vez resuelta, también ancla el Record. La base del diff es el
base_revision declarado, si no el HEAD que vio prepare_change, y si no HEAD.
Salida: los Records committed, los candidatos discarded con su motivo, los
conflicts, los Records superseded, el estado derivado de las relaciones que
explican los Records nuevos, las signals observadas y la captura mecánica del
cambio.
Entre los motivos de descarte están transient, duplicate,
missing_rationale, rationale_restates_statement, mechanical_noise,
no_meaningful_binding y legacy_contract (una llamada anterior a 1.0 sin
candidatos).
resolve_conflict
Entrada: conflict_id, decision (keep_pinned o adopt_new) y
human_answer — la respuesta literal de la persona, que se guarda para
auditoría. Sin human_answer la herramienta se niega. adopt_new exige que el
actor de Git esté declarado en .rationale/config.yaml.
Prompts
prompts/list devuelve seis acciones desde la misma fuente que los atajos de
Claude Code:
| Prompt | Propósito | Argumentos |
|---|---|---|
preflight |
Preparar contexto y declarar los Records gobernantes antes de editar. | target, intent |
explain |
Explicar una posible valla de Chesterton. | target |
capture |
Cerrar un cambio con candidatos durables. | statement opcional |
conflicts |
Presentar conflictos con Records fijados y entregar la decisión a una persona. | ninguno |
health |
Diagnosticar MCP, proveedor, Git y la salud del canon. | ninguno |
protocol |
Cargar el protocolo maestro. | ninguno |
Un prompt retirado, como review, responde con la acción que lo reemplazó. Un
prompt desconocido es un error JSON-RPC y nunca termina la sesión.
Desde v1.1.0, las descripciones de prompts y herramientas están escritas en inglés y le piden al agente responder en el idioma de la persona, manteniendo literales los identificadores.
Transporte
JSON-RPC delimitado por líneas sobre stdio, protocolo 2024-11-05. Una sesión
persistente con el proveedor por proceso del servidor. Los diagnósticos van a
stderr; stdout solo lleva mensajes MCP.