Retour à Kyvenza

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

  1. Activez le serveur

    Réglages, puis Automatisation. Il reste éteint tant que vous ne le faites pas.

  2. 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.

  3. 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-TOKEN

Juste à 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.

OutilCe qu’il fait
list_vmsToutes 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_ipL’adresse IP invitée d’une VM en cours d’exécution
start_vmDémarrer une VM arrêtée, en prenant d’abord un instantané
stop_vmArrêter une VM en cours, proprement sauf demande contraire
restart_vmRedé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_snapshotsLes instantanés d’une VM, en indiquant ceux pris automatiquement
take_snapshotUn instantané hors ligne d’une VM arrêtée
restore_snapshotRamener une VM arrêtée à un instantané, en remplaçant le disque actuel
exec_shellExé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é.
screenshotUn 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éfautCopier une VM arrêtée en bac à sable jetable, quasi instantané et presque gratuit en disque
create_vmDésactivé par défautUne machine neuve et vide, sans système d’exploitation
delete_vmDésactivé par défautMettre à 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.