Ir al contenido

Control server (API HTTP local)

Quien aloja el motor (la app o el daemon) publica una API HTTP local en .microlab/.runtime/control.json:

{ "pid": 123, "port": 49777, "token": "", "mode": "daemon", "version": "0.1.0", "startedAt": "" }

La API vive en http://127.0.0.1:<port> y toda petición lleva Authorization: Bearer <token>. El puerto es efímero y el token cambia en cada arranque del motor: hay que releer control.json en cada conexión.

RutaMétodoDescripción
/pingGETIdentidad: { ok, mode, pid, version, activeScenario }.
/opsGETMetadatos del registro de operaciones.
/invokePOST{ "name": "<operación>", "args": [...] }{ ok, result } (o error).
/eventsGETSSE con eventos del motor: logs, status, docker, mock, metrics.
/mcpPOSTEl servidor MCP por Streamable HTTP (ver MCP).
/shutdownPOSTApagado ordenado; solo lo honra el daemon (la app responde 409).

microlab no es más que un cliente de esta API. Cualquier herramienta local (otro script, un agente) puede usarla directamente: GET /ops para descubrir la superficie y POST /invoke para ejecutar cualquier operación, incluidas las que no tienen comando propio.