Serveur MCP
Donnez à votre agent de code
un ordinateur à lui
Kyvenza intègre un serveur MCP. Pointez Claude Code, ou n’importe quel client MCP, dessus : l’agent peut démarrer une machine virtuelle, en prendre un instantané avant de toucher à quoi que ce soit, exécuter des commandes dans l’invité et regarder l’écran. Ce n’est pas une fenêtre de discussion greffée sur un gestionnaire de VM. C’est la machine elle-même, avec les garde-fous qui rendent raisonnable le fait de la confier.
Pourquoi une machine virtuelle plutôt qu’un conteneur
Un agent capable d’exécuter des commandes shell a besoin d’un endroit où ces commandes ne peuvent atteindre ni votre trousseau, ni vos clés SSH, ni vos identifiants de production. Une machine virtuelle est une frontière imposée par le système d’exploitation, et non promise par votre outillage. Kyvenza y ajoute ce qu’un conteneur ne donne pas : un instantané vers lequel revenir en quelques secondes, un clone jetable qui ne coûte presque rien en disque, et un mode réseau qui ne contient aucun réseau.
Connecté en une minute environ
Activez le serveur
Réglages, puis Automatisation. Il reste éteint tant que vous ne le faites pas.
Copiez l’adresse
Elle contient déjà le jeton de ce Mac. Une seule URL constitue l’intégralité des identifiants, ce qui permet à tout client acceptant une URL de se connecter.
Collez-la dans votre client
Pour Claude Code, c’est une seule commande. Pour les clients qui lisent un fichier JSON, la page des réglages génère aussi cet extrait.
Claude Code
claude mcp add --transport http kyvenza http://127.0.0.1:59800/mcp/YOUR-TOKENJuste à côté se trouve un bouton Tester la connexion qui effectue une vraie négociation avec votre propre adresse et indique combien d’outils il a trouvés. Il répond immédiatement à la question « est-ce que j’ai bien configuré », au lieu de vous laisser le découvrir plus tard par un appel d’outil en échec.
Ce qui empêche l’agent de saccager votre Mac
Le serveur ne quitte jamais la boucle locale
Il écoute sur 127.0.0.1 et rien d’autre. Aucun appareil de votre réseau ne le voit, et rien sur Internet non plus.
Chaque Mac a son propre jeton
Ce point mérite des détails, car la menace est réelle et non théorique. Le réseau en mode utilisateur de QEMU traduit tout ce qu’un invité envoie à 10.0.2.2 en une connexion vers la boucle locale de l’hôte. Un invité Windows en cours d’exécution peut donc atteindre les services écoutant sur 127.0.0.1 de votre Mac, celui-ci compris. L’adresse porte donc un jeton de 128 bits, dans le chemin de l’URL ou dans un en-tête Authorization, et une requête sans ce jeton reçoit un 401 et rien de plus. Aucun mode de compatibilité ne permet de désactiver cela.
Les outils qui détruisent sont désactivés par défaut
create_vm, clone_vm et delete_vm n’apparaissent pas du tout dans la liste des outils tant que vous ne les activez pas. Un outil que le modèle ne voit pas est un outil qu’il n’essaiera pas, ce qui est une garantie plus solide que de refuser l’appel après coup.
delete_vm ne supprime que ce qu’il a créé
Il refuse toute machine qui n’a pas été créée comme bac à sable par clone_vm. Et ce qu’il supprime part à la corbeille plutôt que d’être effacé, parce qu’un agent qui supprime la mauvaise chose doit pouvoir être annulé.
Un instantané avant que l’agent ne lance quoi que ce soit
Quand un agent démarre une VM via MCP, Kyvenza prend d’abord un instantané et le signale dans la même réponse, pour que l’agent sache vers quoi revenir. Démarrer une VM vous-même depuis l’interface ne le fait pas. C’est une sécurité pour l’automatisation, pas un remplisseur de disque en arrière-plan.
Une machine sans aucun réseau
N’importe quelle VM peut passer en réseau isolé. Sous Linux, avec l’agent invité Kyvenza installé, vous pouvez encore exécuter des commandes et prendre des captures après cela, car ce canal est une socket virtuelle et non un réseau.
Les quinze outils
Trois d’entre eux, signalés ci-dessous, restent invisibles tant que vous n’activez pas les outils destructeurs.
| Outil | Ce qu’il fait |
|---|---|
list_vms | Toutes les VM avec leur système, leur état, leur processeur et leur mémoire |
get_vm_status | État, adresse IP, résolution d’affichage et mode réseau |
get_vm_ip | L’adresse IP invitée d’une VM en cours d’exécution |
start_vm | Démarrer une VM arrêtée, en prenant d’abord un instantané |
stop_vm | Arrêter une VM en cours, proprement sauf demande contraire |
restart_vm | Redémarrer une VM en cours d’exécution |
suspend_vm | Écrire la mémoire de l’invité sur le disque et éteindre, pour reprendre exactement là au démarrage suivantLinux uniquement. Utilisez stop_vm pour macOS et Windows. |
list_snapshots | Les instantanés d’une VM, en indiquant ceux pris automatiquement |
take_snapshot | Un instantané hors ligne d’une VM arrêtée |
restore_snapshot | Ramener une VM arrêtée à un instantané, en remplaçant le disque actuel |
exec_shell | Exécuter une commande dans l’invité et renvoyer le code de sortie, stdout et stderrLes invités Linux avec l’agent n’ont besoin ni d’adresse réseau ni de SSH. macOS passe par SSH. Windows passe par SSH sur un port redirigé uniquement sur la boucle locale, une fois l’installateur de pilotes lancé une fois dans l’invité. |
screenshot | Un PNG de l’écran de l’invitéLes invités Windows sont capturés côté hôte : rien à installer, aucune adresse réseau, aucune fenêtre d’affichage ouverte. Les invités Linux avec l’agent peuvent être capturés sans aucun serveur d’affichage, l’agent lisant directement le framebuffer du noyau. macOS exige une session graphique ouverte. |
clone_vmDésactivé par défaut | Copier une VM arrêtée en bac à sable jetable, quasi instantané et presque gratuit en disque |
create_vmDésactivé par défaut | Une machine neuve et vide, sans système d’exploitation |
delete_vmDésactivé par défaut | Mettre à la corbeille un bac à sable créé par clone_vm |
Trois usages où cela excelle
Exécuter quelque chose en qui vous n’avez pas confiance
Clonez une VM préparée en bac à sable, laissez l’agent y lancer l’installateur ou le script, lisez le résultat, puis supprimez le bac à sable. Le clone est en copie sur écriture : il apparaît en une seconde environ et ne coûte presque rien en disque tant que l’invité n’écrit pas. Kyvenza récupère aussi de lui-même les bacs à sable expirés, pour qu’un agent qui oublie de faire le ménage ne vous laisse pas une bibliothèque pleine.
Vérifier une compilation sur un vrai Windows
L’agent peut exécuter des commandes dans un invité Windows 11 sur ARM via un port redirigé lié uniquement à la boucle locale, et capturer cet invité sans rien y installer. Utile quand ce que vous devez savoir, c’est à quoi l’application ressemble vraiment sous Windows, et non ce qu’en dit la suite de tests.
Travailler sur une machine débranchée du réseau
Passez une VM Linux en réseau isolé et elle n’a plus aucune carte réseau. L’agent invité continue de répondre aux commandes et de prendre des captures, car il passe par une socket virtuelle. L’agent continue de travailler ; le code qu’il exécute ne peut appeler nulle part.
Ce que cela ne fait pas
- create_vm vous donne une machine vide. Installer un système d’exploitation est un processus interactif qui ne peut pas être piloté par MCP, et c’est pourquoi clone_vm à partir d’une VM préparée est l’outil qui compte.
- Exécuter des commandes dans un invité Windows exige d’avoir lancé une fois l’installateur de pilotes Kyvenza dans Windows, et cette première fois demande que la VM ait accès à Internet.
- Le nom d’utilisateur SSH d’un invité Windows doit être en ASCII simple. OpenSSH refuse les noms de compte contenant guillemets, espaces ou métacaractères du shell, que Windows accepte pourtant.
- Les instantanés via MCP ne concernent que le disque et exigent une VM arrêtée. Enregistrer la mémoire d’une machine en cours reste une action manuelle.
- Les captures d’un invité macOS nécessitent une session graphique ouverte par quelqu’un.
Pourquoi il n’y a pas de fenêtre de discussion dans l’application
Nous avons envisagé d’en construire une et y avons renoncé, pour trois raisons qu’il vaut mieux dire franchement. Kyvenza s’achète une fois pour toutes alors que l’inférence se facture au jeton : l’économie ne tient pas. Un assistant intégré capable d’exécuter des commandes arbitraires dans un invité entraînerait d’un coup déclarations de confidentialité, déclarations de collecte de données et classification par âge. Enfin, le client que vous utilisez déjà fait mieux ce métier que tout ce que nous livrerions à côté d’une application de virtualisation. La conversation reste donc là où elle est, et nous construisons la machine à laquelle elle parle.
Essayez-le avec la machine que vous avez déjà
Le serveur MCP est présent dans toutes les versions, sur le Mac App Store comme en téléchargement direct. L’essai de 7 jours l’inclut.