Aller au contenu

Serveur MCP

Le serveur MCP (Model Context Protocol) publie des opérations du moteur de MicroLab comme tools pour les clients d’IA (Claude Code, Claude Desktop, Cursor…). C’est la même surface qu’utilise le copilote de l’app. Les tools sont générés du registre d’opérations, donc MCP et CLI ne divergent pas.

Aujourd’hui il publie 42 tools, 2 resources et 3 prompts de flux.

Ce n’est pas un vidage du registre (92 opérations) : l’IA opère le laboratoire —lancer, tester, mocker, déboguer—, tandis que l’autorat du catalogue (créer des micros et des scénarios, éditer les paramètres de la machine, import/export par fichier) reste dans l’app et le CLI. Un modèle choisit moins bien plus la liste est longue. Rien n’est perdu : le caché est toujours dans microlab ops, le CLI et le control server.

Le client lance microlab mcp comme processus enfant. Il nécessite le moteur compilé (npm run build:electron) et il est conseillé d’utiliser des chemins absolus et un -p explicite (le dossier du projet avec .microlab/).

Claude Code :

Fenêtre de terminal
claude mcp add microlab -- node C:\outils\micro-lab\bin\microlab.js mcp -p C:\projets\mon-projet

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

{
"mcpServers": {
"microlab": {
"command": "node",
"args": ["C:\\outils\\micro-lab\\bin\\microlab.js", "mcp", "-p", "C:\\projets\\mon-projet"]
}
}
}

Avec l’exécutable global (npm link), "command": "microlab", "args": ["mcp", "-p", "..."] suffit.

Avec un moteur actif (l’app ouverte ou le daemon), le même serveur est disponible en Streamable HTTP à la route /mcp du control server, pour les clients qui ne lancent pas de processus. L’URL et le token viennent de control.json ; chaque requête porte Authorization: Bearer <token>.

  • Tools — 42, groupés par domaine (cycle de vie du scénario, débogage, Docker, catalogue en lecture seule, mocks…). Chacun porte des annotations readOnlyHint ou destructiveHint lorsqu’elles s’appliquent, pour que le client décide quoi exécuter sans confirmation.
  • Resourcesmicrolab://guide (guide d’opération pour IAs, en markdown) et microlab://status (snapshot JSON : version, chemins, moteur actif, scénario actif et état de ses micros).
  • Prompts — trois recettes de flux : levantar-y-probar, mockear-dependencia et depurar-micro.

Comme le CLI : s’il y a un moteur actif, le tool s’exécute contre lui (même état que l’UI) ; sinon, les tools sans état tournent in-proc. scenario_start et scenario_up_and_wait lancent le daemon s’il manque ; les micros survivent à la session MCP (fermer le client d’IA ne les arrête pas ; pour les arrêter, scenario_stop).

Dans les projets avec connexion, le MCP exige la capacité mcp (indépendante de cli). Sans elle, stdio se termine avec exit 5 et HTTP répond 403. Voir Capacités.