Intégration MCP
OpenFactory supporte le Model Context Protocol pour que les assistants IA vous aident à créer des builds, inspecter des recettes, gérer des VM et relire les résultats de test.
Utilisez MCP lorsque vous voulez travailler avec OpenFactory depuis Claude, Cursor, Claude Code, OpenAI Codex ou un autre client compatible MCP sans alterner entre outils.
Exigences
- Un client MCP qui supporte les serveurs MCP distants
- Pour un accès lié au compte, connectez-vous à OpenFactory dans ce navigateur
- Pour l’accès invité, utilisez le jeton invité généré affiché ci-dessous
Les clés API compte sont affichées une fois à la création et peuvent être révoquées depuis la console. Les jetons invité sont des identifiants navigateur pour un accès compté ; ce ne sont pas des secrets de compte.
Points de terminaison
| Transport | URL | Usage |
|---|---|---|
| Streamable HTTP | https://console.openfactory.tech/mcp-stream/mcp | Le point de terminaison MCP OpenFactory |
Streamable HTTP est le seul transport supporté. Les anciens points HTTP+SSE (/mcp/sse, /mcp/messages) sont retirés et renvoient maintenant 410 Gone ; orientez tout client qui les utilise encore vers l’URL Streamable HTTP ci-dessus, avec le même en-tête Authorization. Claude Code, Claude Desktop, Cursor, Codex et OpenCode supportent tous Streamable HTTP.
Configuration copier-coller
Redémarrez Claude Desktop, Cursor, OpenAI Codex ou tout autre client MCP longue durée après modification de ses paramètres MCP. OpenAI Codex lit les serveurs MCP depuis ~/.codex/config.toml et se connecte à Streamable HTTP directement : pas de pont mcp-remote nécessaire. Les connecteurs personnalisés Claude.ai peuvent demander l’URL serveur et l’en-tête comme champs séparés.
Capacités disponibles
OpenFactory expose des outils orientés client pour :
| Catégorie | Exemples |
|---|---|
| Builds | Lister builds, créer builds depuis recettes, vérifier statut build, relancer builds en échec |
| Recettes | Parcourir modèles, valider recettes, personnaliser modèles |
| Images | Obtenir liens de téléchargement pour artefacts terminés |
| VM | Lister VM, créer VM de test, démarrer ou arrêter VM, ouvrir liens console |
| Tests | Exécuter vérification, lister exécutions de test, inspecter résultats, gérer suites de test réutilisables |
| Tests UI app | Piloter une VM testeur pour tester n’importe quelle URL app : scénarios GUI réutilisables auto-renforçants. Aucun déploiement requis |
| Déploiement app | Déployer un dépôt Git vers une app web live avec URL de preview publique (https://<slug>.apps.openfactory.tech) |
La disponibilité des outils peut varier selon plan et permissions organisation.
Suites de test réutilisables
Les suites de test peuvent être créées avant qu’un variant ou une ISO ait été construit. Définissez un ou plusieurs cas de test, assertions personnalisées, tests prédéfinis et emplacements cibles ISO nommés comme primary, client ou server. Lorsque les builds sont prêts, liez chaque emplacement à un build terminé et exécutez la suite.
| Outil | Usage |
|---|---|
create_test_suite | Créer une suite réutilisable sans exiger un variant construit |
list_test_suites | Lister les suites disponibles pour l’utilisateur MCP courant |
get_test_suite | Voir définition de suite et historique d’exécutions récentes |
update_test_suite_targets | Lier emplacements cibles ISO nommés à des builds terminés |
run_test_suite | Exécuter une suite contre emplacements cibles ISO liés |
list_test_suite_runs | Lister exécutions créées depuis une suite |
get_test_suite_status | Voir préparation rédaction et statut d’exécution le plus récent |
Tests UI app : toute URL, sans déploiement
Testez l’interface utilisateur de toute app web en pointant une VM testeur gérée vers une URL. Vous n’avez pas besoin de déployer votre app avec OpenFactory pour la tester. La VM testeur ouvre un serveur de dev local, un déploiement preview/production sur Vercel, AWS, Netlify ou tout hôte, ou toute URL publique joignable depuis la VM. Votre app reste là où elle tourne déjà.
Les scénarios sont rédigés en langage courant et sont auto-renforçants : la première exécution apprend où se trouve chaque élément UI, et les exécutions suivantes rejouent depuis cette mémoire (en sautant la passe visuelle lente). Cela rend les replays rapides et résilients aux petits changements UI. Les scénarios supportent variables d’environnement (${VAR}) et 2FA (${totp:VAR}, RFC 6238) pour les connexions ; les secrets sont passés à l’exécution et jamais stockés.
| Outil | Usage |
|---|---|
ensure_tester_vm | Obtenir ou créer votre VM testeur bureau persistante |
create_app_scenario | Enregistrer un scénario GUI réutilisable pour une URL app |
run_app_scenario | L’exécuter (passer secrets à l’exécution ici) et enregistrer captures + verdict |
list_app_scenarios / get_app_scenario | Parcourir scénarios et leur cache renforcé |
start_app_test / record_app_test_step / finish_app_test | Piloter et enregistrer vous-même une exécution ad hoc |
annotate_screenshot | Dessiner des boîtes de surbrillance étiquetées sur une capture |
Voir Tests UI app pour le workflow complet, le schéma d’étapes et exemples 2FA.
Déploiement app : dépôt Git vers URL publique
Déployez une app web directement depuis un dépôt Git et obtenez une URL de preview publique (https://<slug>.apps.openfactory.tech) que vous pouvez ouvrir, partager ou cibler avec un scénario de test. OpenFactory clone le dépôt, installe dépendances, démarre l’app et fait un health-check pour vous. Rien à câbler : pas de port forwarding, tunnels ou DNS.
Cela s’associe aux tests UI app : déployez votre app, puis exécutez un scénario contre son URL preview, ou sautez le déploiement et testez une app que vous hébergez déjà (Vercel, AWS, …).
| Outil | Usage |
|---|---|
create_app | Enregistrer un dépôt Git comme app (nom, source, slug) |
deploy_app | Déployer l’app et renvoyer son URL preview publique |
list_apps / get_app | Parcourir vos apps, leurs URL et historique de déploiement |
iterate_app | Dispatcher un changement en langage naturel vers une app ; un agent l’applique et redéploie |
get_app_build_status | Interroger statut de déploiement d’une app et tickets de changement en cours |
Voir Déploiement app pour le workflow complet. Pour laisser vos utilisateurs formuler des changements à votre app depuis un bouton micro, voir le Voice Iterate Widget.
Exemples d’invites
Show my most recent OpenFactory builds and summarize any failures.Create a Debian server image with SSH, Docker, a deploy user, and default verification tests.Validate this recipe before I start a build.Start a VM from my latest completed build and give me the console link.Create a reusable smoke test suite for example-project with primary and client ISO slots. I will bind the builds later.Create a smoke-login scenario for my app at https://my-app.vercel.app, run it in a tester VM, and verify the dashboard loads. I'll give you the password and 2FA seed at run time.Notes de sécurité
- Utilisez les clés API seulement avec des clients de confiance.
- Révoquez les anciennes clés depuis la console lorsque vous changez de machine ou quittez un projet.
- Préférez des permissions outil exigeant approbation pour les actions qui créent builds, démarrent VM ou modifient l’infrastructure.
- Ne collez pas de clés API OpenFactory dans invites, tickets, dépôts publics ou documents partagés.
Dépannage
Les outils n’apparaissent pas
Redémarrez votre client MCP et confirmez que l’URL serveur est exactement :
https://console.openfactory.tech/mcp-stream/mcpSi votre client est configuré avec l’URL retirée /mcp/sse, il obtiendra 410 Gone : changez l’URL pour celle ci-dessus ; rien d’autre ne doit changer.
Échec d’authentification
Rafraîchissez cette page et copiez à nouveau la configuration générée. Les utilisateurs connectés doivent utiliser l’en-tête Authorization généré. Les invités doivent utiliser l’en-tête X-Guest-Id généré depuis la config copier-coller ci-dessus.
Échec actions build ou VM
Vérifiez votre plan OpenFactory, permissions organisation et statut de build. Certaines actions exigent un build terminé, un droit VM persistant ou des permissions Enterprise.
Erreurs de transport
Mettez à jour votre client MCP s’il ne supporte pas Streamable HTTP. Si vous ne pouvez pas le mettre à jour, basculez vers le point de compatibilité HTTP+SSE.