Saltar al contenido principal

Servidor MCP (solo lectura)

daimon mcp serve expone la memoria de daimon como una superficie de herramientas MCP sobre stdio — para hosts que hablan MCP pero no tienen un sistema de hooks al que daimon pueda engancharse. Es opt-in (nada lo registra por ti), de solo lectura (cinco herramientas, cero escrituras) y biblioteca estándar pura (sin dependencias extra, igual que el resto de daimon).

daimon mcp serve # bloquea y sirve JSON-RPC por stdio hasta EOF

Herramientas

HerramientaQué devuelve
daimon_recallResultados de búsqueda con procedencia completa: clase de confianza (verbatim = cita exacta, inferred = conclusión del modelo), autor, estado de supersesión, slug del proyecto de origen
daimon_briefEl último briefing del proyecto actual — render determinista, etiquetado por confianza, con resoluciones retenidas
daimon_projectsCada proyecto del que daimon tiene memoria: slug, sesión, rama, último tema
daimon_statusSalud de captura: frescura del checkpoint, resultado del último serialize, fallas pendientes, alarmas — el mismo payload que daimon status --json
requests_inboxSolicitudes que otros proyectos dirigieron a este — el lado de lectura del ledger de solicitudes entre proyectos. daimon_brief nunca lleva este contenido; abrir, responder o decidir una solicitud es exclusivo de la CLI.

Las cinco llevan readOnlyHint. Las fallas a nivel de herramienta (argumentos inválidos, FTS5 ausente) vuelven como resultados isError que el agente puede leer; nunca matan el servidor.

daimon_brief renderiza las mismas etiquetas de confianza que la CLI, así que una línea puede traer además la insignia [≈ corroborated ×N] — un conteo de sesiones independientes que atestiguaron la afirmación, en su propio eje y nunca una clase de confianza superior. Ver clases de confianza.

Reglas de alcance

El servidor hereda la disciplina entre proyectos de daimon:

  • Las lecturas tienen alcance de proyecto. El proyecto se resuelve desde el directorio de trabajo del proceso, o desde DAIMON_PROJECT_DIR si está definido — pon uno de los dos en la configuración MCP de tu host.
  • Sin fallback implícito. Un proyecto sin checkpoint recibe no checkpoint for this project más un puntero a daimon_projects — nunca el contenido de otro proyecto. Cruzar de proyecto es siempre explícito: pasa un slug a daimon_brief o daimon_recall.
  • Kill switch respetado. Con DAIMON_DISABLE=1 el servidor sale limpio sin servir, así un daimon deshabilitado nunca rompe el arranque del host.
  • El uso queda local. Cada llamada escribe una línea mcp:<tool> en el log de uso local de daimon (los mismos contadores de daimon stats que la CLI). Nada se transmite.

Registrarlo en un host

Claude Code (CLI):

claude mcp add daimon -- daimon mcp serve

Configuración stdio MCP genérica (Windsurf, Cursor y la mayoría aceptan esta forma):

{
"mcpServers": {
"daimon": {
"command": "daimon",
"args": ["mcp", "serve"],
"env": { "DAIMON_PROJECT_DIR": "/ruta/a/tu/proyecto" }
}
}
}

Si tu host lanza los servidores MCP desde el directorio del proyecto puedes omitir DAIMON_PROJECT_DIR — el directorio de trabajo resuelve igual.

Nota: en hosts donde los hooks de daimon ya corren (Claude Code, Windsurf, Codex), el briefing por hook es la integración más rica — el servidor MCP es para lecturas a demanda y para hosts sin hooks. Correr ambos está bien; las herramientas son de solo lectura.