Pular para o conteúdo

Servidor MCP

O servidor MCP (Model Context Protocol) publica operações do motor do MicroLab como tools para clientes de IA (Claude Code, Claude Desktop, Cursor…). É a mesma superfície que o copiloto da app usa. As tools são geradas do registo de operações, por isso MCP e CLI não divergem.

Hoje publica 42 tools, 2 resources e 3 prompts de fluxo.

Não é um despejo do registo (92 operações): a IA opera o laboratório —iniciar, testar, fazer mock, depurar—, enquanto a autoria do catálogo (criar micros e cenários, editar definições da máquina, import/export por ficheiro) fica na app e no CLI. Um modelo escolhe pior quanto mais longa é a lista. Nada se perde: o oculto continua em microlab ops, no CLI e no control server.

O cliente lança microlab mcp como processo filho. Requer o motor compilado (npm run build:electron) e convém caminhos absolutos e um -p explícito (a pasta do projeto com .microlab/).

Claude Code:

Ventana de terminal
claude mcp add microlab -- node C:\ferramentas\micro-lab\bin\microlab.js mcp -p C:\projetos\o-meu-projeto

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

{
"mcpServers": {
"microlab": {
"command": "node",
"args": ["C:\\ferramentas\\micro-lab\\bin\\microlab.js", "mcp", "-p", "C:\\projetos\\o-meu-projeto"]
}
}
}

Com o executável global (npm link), basta "command": "microlab", "args": ["mcp", "-p", "..."].

Com um motor vivo (a app aberta ou o daemon), o mesmo servidor está disponível por Streamable HTTP na rota /mcp do control server, para clientes que não lançam processos. O URL e o token saem de control.json; cada pedido leva Authorization: Bearer <token>.

  • Tools — 42, agrupadas por domínio (ciclo de vida do cenário, depuração, Docker, catálogo de só leitura, mocks…). Cada uma leva anotações readOnlyHint ou destructiveHint quando se aplica, para que o cliente decida o que executar sem confirmação.
  • Resourcesmicrolab://guide (guia de operação para IAs, em markdown) e microlab://status (snapshot JSON: versão, caminhos, motor vivo, cenário ativo e estado dos seus micros).
  • Prompts — três receitas de fluxo: levantar-y-probar, mockear-dependencia e depurar-micro.

Igual ao CLI: se houver motor vivo, a tool executa-se contra ele (mesmo estado que a UI); se não, as tools sem estado correm in-proc. scenario_start e scenario_up_and_wait lançam o daemon se faltar; os micros sobrevivem à sessão MCP (fechar o cliente de IA não os detém; para os parar, scenario_stop).

Em projetos com início de sessão, o MCP exige a capacidade mcp (independente de cli). Sem ela, stdio termina com exit 5 e HTTP responde 403. Ver Capacidades.