Ir al contenido

Servidor MCP

El servidor MCP (Model Context Protocol) publica operaciones del motor de MicroLab como tools para clientes de IA (Claude Code, Claude Desktop, Cursor…). Es la misma superficie que usa el copiloto de la app. Las tools se generan del registro de operaciones, así que MCP y CLI no divergen.

Hoy publica 42 tools, 2 resources y 3 prompts de flujo.

No es un volcado del registro (92 operaciones): la IA opera el laboratorio —levantar, probar, mockear, depurar—, mientras que la autoría del catálogo (crear micros y escenarios, editar ajustes de la máquina, import/export por fichero) se queda en la app y el CLI. Un modelo elige peor cuanto más larga es la lista. Nada se pierde: lo oculto sigue en microlab ops, el CLI y el control server.

El cliente lanza microlab mcp como proceso hijo. Requiere el motor compilado (npm run build:electron) y conviene rutas absolutas y -p explícito (la carpeta del proyecto con .microlab/).

Claude Code:

Ventana de terminal
claude mcp add microlab -- node C:\herramientas\micro-lab\bin\microlab.js mcp -p C:\proyectos\mi-proyecto

Claude Desktop / Cursor (claude_desktop_config.json o .cursor/mcp.json):

{
"mcpServers": {
"microlab": {
"command": "node",
"args": ["C:\\herramientas\\micro-lab\\bin\\microlab.js", "mcp", "-p", "C:\\proyectos\\mi-proyecto"]
}
}
}

Con el ejecutable global (npm link), basta "command": "microlab", "args": ["mcp", "-p", "..."].

Con un motor vivo (la app abierta o el daemon), el mismo servidor está disponible por Streamable HTTP en la ruta /mcp del control server, para clientes que no lanzan procesos. La URL y el token salen de control.json; toda petición lleva Authorization: Bearer <token>.

  • Tools — 42, agrupadas por dominio (ciclo de vida del escenario, depuración, Docker, catálogo de solo lectura, mocks…). Cada una lleva anotaciones readOnlyHint o destructiveHint cuando aplica, para que el cliente decida qué ejecutar sin confirmación.
  • Resourcesmicrolab://guide (guía de operación para IAs, en markdown) y microlab://status (snapshot JSON: versión, rutas, motor vivo, escenario activo y estado de sus micros).
  • Prompts — tres recetas de flujo: levantar-y-probar, mockear-dependencia y depurar-micro.

Igual que el CLI: si hay motor vivo, la tool se ejecuta contra él (mismo estado que la UI); si no, las tools sin estado corren in-proc. scenario_start y scenario_up_and_wait lanzan el daemon si falta; los micros sobreviven a la sesión MCP (cerrar el cliente de IA no los detiene; para pararlos, scenario_stop).

En proyectos con login, el MCP exige la capacidad mcp (independiente de cli). Sin ella, stdio corta con exit 5 y HTTP responde 403. Ver Capacidades.