SlateVM

officiel

Plateforme VM native pour Apple silicon, avec 45 outils MCP pour créer, observer et exploiter des invités macOS, Linux et Windows 11 ARM.

Que pouvez-vous faire avec SlateVM MCP ?

  • Créer et démarrer des VM — Créez une VM à partir d'une image d'installation listée, puis démarrez-la et attendez qu'elle atteigne un état d'exécution cible.
  • Observer l'invité — Capturez l'écran, lisez le texte de la console ou attendez qu'un motif regex apparaisse sur la console.
  • Piloter l'invité — Injectez des entrées clavier, pointeur et texte, ou exécutez des commandes dans un invité démarré via sa clé SSH propre à la VM.
  • Configurer le matériel — Appliquez à chaud des paramètres matériels et réseau, agrandissez un disque ou définissez la résolution d'affichage et la taille de la fenêtre de console.
  • Partager des dossiers de l'hôte — Ajoutez ou supprimez des dossiers partagés virtio-fs dans les VM mac/Linux et basculez leur indicateur en lecture seule.
  • Diagnostiquer les problèmes — Récupérez un ensemble de diagnostics ponctuel ou suivez les dernières lignes de journal lorsqu'une VM ne démarre pas.

Documentation

De vrais ordinateurs que votre IA peut voir et piloter.

Le serveur MCP intégré de SlateVM met à la disposition de tout client IA compatible 46 outils structurés pour créer des machines virtuelles, observer leurs écrans, saisir du texte et cliquer, exécuter des commandes à l'intérieur de l'invité et vérifier le résultat — avec le même contrat sur Mac, Windows et Linux.

Une automatisation avec des preuves à chaque étape.

Observer

État et tâches en direct, capture d'écran, texte à l'écran (OCR), texte de la console série pour Linux sans interface graphique, journaux et adresses réseau de l'invité.

Agir

Clavier, pointeur, défilement et saisie de texte ; commandes à l'intérieur de l'invité via une identité SSH propre à chaque VM ; modifications du matériel, du disque, de l'affichage, du réseau et des dossiers partagés.

Vérifier

Attendre un état ou l'apparition d'un texte, capturer l'écran modifié et lire les diagnostics avant de rendre compte.

Pas un simple wrapper de shell. Pas du scripting d'interface.

Un petit adaptateur local relie votre client IA à SlateVM via un canal qui ne quitte jamais votre machine. SlateVM — le composant qui possède les VM — répond à chaque appel, de sorte que l'agent voit la même vérité que l'application. MCP dans l'hyperviseur →

Les 46 outils.

Noms, schémas et codes d'erreur identiques sur chaque hôte. Un hôte qui ne peut pas faire quelque chose (par exemple, des invités macOS hors d'un Mac) renvoie une erreur claire plutôt qu'un outil différent.

Application (4)

launch_app

Lancer l'application SlateVM (visible, au premier plan).

quit_app

Quitter l'application SlateVM.

app_status

Indiquer si l'application SlateVM est en cours d'exécution, si son canal local de contrôle est joignable, ainsi que la version/build de l'application EN COURS D'EXÉCUTION (lue en direct depuis son bundle, afin qu'elle reste correcte après qu'une mise à jour automatique a remplacé l'application en cours de session).

host_capabilities

Indiquer les capacités de l'hôte : prise en charge de la virtualisation imbriquée, espace disque libre, droit de virtualisation, version de macOS.

Créer et installer (7)

create_vm

Créer une nouvelle VM.

list_images

Lister toutes les images d'installation d'OS que SlateVM peut voir (ses caches d'images + votre dossier Téléchargements) avec un os deviné, une taille et une indication de lisibilité — afin que vous puissiez choisir un chemin pour create_vm sans qu'on vous en impose un.

list_restore_images

Lister les images de restauration macOS (.ipsw) connues de SlateVM.

set_installer_media

Repointer l'image d'installation d'une VM arrêtée vers un nouveau chemin accessible et écrire un nouveau signet.

finish_install

Marquer explicitement l'installation de l'OS d'une VM comme terminée : éjecter l'ISO/le support d'installation et faire passer installState de 'installing' à 'installed'.

apply_guest_tools

Préparer/appliquer le disque des outils invité pour une VM.

set_attach_linux_guest_tools

Activer/désactiver le montage du disque SlateVM Tools pour une VM Linux de bureau.

Cycle de vie (8)

list_vms

Lister toutes les machines virtuelles SlateVM avec leur état et leur matériel.

get_vm

Obtenir la configuration complète d'une VM.

start_vm

Démarrer une VM et ouvrir sa fenêtre de console (visible).

stop_vm

Arrêter une VM en cours d'exécution.

suspend_resume_vm

Activer/désactiver la suspension/reprise d'une VM en cours d'exécution.

wait_for_state

Bloquer jusqu'à ce qu'une VM atteigne un état d'exécution cible, ou expiration du délai.

delete_vm

Supprimer une VM (déplace son bundle vers la corbeille).

reveal_vm

Révéler le bundle d'une VM dans le navigateur de fichiers.

Voir la machine (4)

capture_screen

Capturer l'écran de l'invité.

read_console_text

Lire la console de l'invité sous forme de texte.

wait_for_text

Bloquer jusqu'à ce que pattern\ (regex insensible à la casse) apparaisse sur la console de l'invité, ou expiration du délai — en interrogeant à votre place pour que vous n'ayez pas à faire sleep-and-screenshot.

read_guest_clipboard

Extraire le TEXTE d'un invité GRAPHIQUE — l'analogue framebuffer de read_console_text (qui ne couvre que le Linux série sans interface graphique).

Agir sur la machine (5)

send_input

Injecter des entrées dans l'invité (et non dans le bureau du Mac).

run_in_guest

Exécuter une commande dans un invité démarré via SSH en utilisant sa clé IA propre à la VM.

provision_ssh

Renvoyer la clé publique SSH dédiée propre à la VM + une installCommand.

ssh_status

Indiquer si une VM dispose d'une clé SSH IA provisionnée, ainsi que sa clé publique.

revoke_ssh

Supprimer la clé SSH IA côté hôte pour une VM.

Configurer (7)

set_hardware

Appliquer à chaud les paramètres matériels/réseau à une VM.

resize_disk

Agrandir le disque d'une VM.

set_display_resolution

Définir la résolution d'affichage de l'invité (serveur Linux sans interface graphique ; s'applique au prochain démarrage).

set_console_window_size

Définir la taille de la fenêtre de console d'une VM.

add_shared_folder

Partager un dossier de l'hôte dans une VM mac/Linux (virtio-fs).

remove_shared_folder

Retirer un dossier partagé d'une VM.

set_shared_folder_readonly

Définir l'indicateur de lecture seule d'un dossier partagé.

Réseau (6)

guest_network

Découvrir la ou les adresses IP d'un invité en cours d'exécution à partir de son MAC via la table des baux DHCP et ARP (lecture seule).

set_linux_network_path

Définir le pilote NAT d'une VM Linux : native (Apple VZNAT) ou service (socket_vmnet).

networking_status

Indiquer si le service réseau de SlateVM est installé et en bon état.

networking_install

Installer le service réseau de SlateVM.

networking_repair

Réparer/réinstaller le service réseau de SlateVM (approuvé par l'administrateur).

networking_uninstall

Désinstaller le service réseau de SlateVM (approuvé par l'administrateur).

Tâches et diagnostics (5)

job_status

Obtenir l'état d'une tâche en arrière-plan (en cours/réussie/échouée), sa dernière étape et son résultat ou son erreur.

job_wait

Bloquer jusqu'à ce qu'une tâche en arrière-plan se termine ou que le délai expire ; renvoie son état + résultat/erreur.

list_jobs

Lister les tâches en arrière-plan récentes et leurs états.

get_diagnostics

Bundle de dépannage en une seule fois pour une VM : état, lastError ({code, message} — la raison pour laquelle une VM ne démarre pas, par ex. MEDIA_INACCESSIBLE), accessibilité des supports par lecteur, lignes de journal récentes, taille du disque, santé du service réseau et configuration. Appelez ceci en premier lorsqu'un problème survient.

tail_log

Renvoyer les lignes de journal récentes d'une VM.