Cómo conectar el CLI a tu agente por MCP

Si ya trabajas con un agente —Claude Code, Codex, Cursor— ese agente tiene modelo y credenciales. ddd-cli no necesita los suyos: se conecta por MCP y le presta siete herramientas deterministas.

Un comando

claude mcp add ddd -- npx -y @nestjslatam/ddd-cli mcp

Para cualquier otro cliente, en su mcp.json:

{
  \"mcpServers\": {
    \"ddd\": { \"command\": \"npx\", \"args\": [\"-y\", \"@nestjslatam/ddd-cli\", \"mcp\"] }
  }
}

Las siete herramientas

HerramientaQué hace
ddd_listInventaría cada estereotipo que exporta la librería instalada
ddd_describeLa declaración de tipos real de un estereotipo
ddd_newGenera desde una plantilla determinista
ddd_extendAnda una subclase con todos los miembros abstractos
ddd_validateComprueba el código contra las cuatro reglas del idioma
ddd_aggregate_schemaEl JSON Schema que debe cumplir el modelo de un agregado
ddd_render_aggregateConvierte una especificación en ficheros

Un prompt que funciona

Lee el ddd-lib que tengo instalado y modela un agregado Cargo para un dominio de transporte marítimo: un identificador de seguimiento, una especificación de ruta con origen y destino, un peso bruto y un viaje actual. Valida lo que escribas antes de enseñármelo.

El agente llamará a ddd_list, ddd_describe, ddd_aggregate_schema, ddd_render_aggregate y ddd_validate en el orden que necesite.

Por qué el reparto funciona

El agente decide la frontera del agregado, las invariantes y los nombres. Eso es criterio, y es lo que un modelo hace bien.

El CLI hace lo que un modelo hace mal: leer las declaraciones instaladas con exactitud, renderizar de forma determinista y auditar contra el idioma. ddd_describe devuelve hechos, no prosa a propósito — la explicación la escribe el agente.

Y hay un bucle de corrección que merece señalar: ddd_aggregate_schema publica el esquema que la especificación debe cumplir, y ddd_render_aggregate devuelve los problemas campo por campo cuando no lo cumple. Así el agente se corrige solo, sin que haya nadie mirando.

Nada toca el disco sin permiso

Ninguna llamada escribe salvo que pase write: true, y aun así jamás sobrescribe un fichero existente. Un agente trabajando sin supervisión no debe pisar código de dominio escrito a mano, y ésa es una decisión del servidor, no una recomendación al usuario.

Ojo con una distinción

Esto vale para el servidor MCP. Los comandos sueltos ddd generate:aggregate y ddd explain (sin --raw) sí necesitan un proveedor de modelo. Lo que no necesita clave es el camino MCP, porque ahí el modelo lo pone tu agente.

La referencia completa está en la documentación del servidor MCP, y la guía del CLI lo recorre con un dominio real.

Leave a Comment