SlateVM
officielPlateforme 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 configurer des machines virtuelles — Demandez à
create_vmune machine invitée macOS, Linux ou Windows avec les paramètres de CPU, mémoire, disque et réseau, puis ajustez le matériel ouresize_diskselon les besoins. - Observer l'état de l'invité — Utilisez
capture_screen,read_console_textouwait_for_textpour voir l'affichage, la sortie série ou l'interface OCR de la machine virtuelle et confirmer ce qui se passe. - Envoyer des entrées et exécuter des commandes — Dirigez le clavier, le pointeur ou le texte via
send_input, ou exécutez des commandes limitées avecrun_in_guestvia une identité SSH provisionnée. - Gérer le cycle de vie et les tâches —
start_vm,stop_vm,suspend_resume_vmoudelete_vm, et suivez la progression avecjob_statusouwait_for_state. - Diagnostiquer et inspecter — Récupérez
get_diagnostics,tail_logounetworking_statuspour résoudre les problèmes de santé, de journaux et de connectivité réseau de la machine virtuelle. - Gérer le stockage et les médias — Ajoutez ou supprimez des
shared_folders,apply_guest_toolsouset_installer_mediapour gérer les ressources de l'invité.
Documentation
Une véritable machine virtuelle qu'un LLM peut voir, comprendre et piloter.
SlateVM offre aux clients MCP compatibles 45 fonctions structurées couvrant la création, le provisionnement, le cycle de vie, l'interaction avec la console, la mise en réseau, les diagnostics, la configuration et l'exécution dans l'invité. La création de la VM n'est que le début : l'agent peut observer l'invité, comprendre son état, puis agir et vérifier sur chaque plateforme invitée prise en charge.
Automatisation avec preuves à chaque étape.
Observer la machine
Lire l'état exact du cycle de vie et des tâches, capturer le framebuffer, OCR les interfaces visibles, lire le flux série Linux sans tête, inspecter les journaux ou découvrir la mise en réseau de l'invité.
Agir par le bon canal
Envoyer des actions clavier, pointeur, défilement ou texte ; provisionner une identité SSH dédiée par VM ; exécuter des commandes limitées ; et mettre à jour la configuration VM prise en charge.
Vérifier le résultat
Attendre un état ou un texte, capturer l'écran modifié, lire la sortie série, collecter les diagnostics et continuer à partir de ce que la VM rapporte réellement.
Pas un wrapper shell. Pas de script d'interface utilisateur.
L'adaptateur sans état slatevm-mcp parle le protocole versionné de SlateVM via un socket Unix local. SlateControlServer répartit chaque requête via SlateControlHub, où l'interface SwiftUI et le chemin de contrôle IA convergent vers le même VMStore, service réseau, gestionnaire de fenêtres et propriétaires du cycle de vie. SlateVM—pas l'adaptateur—reste l'autorité pour l'état et la politique de la VM.
SwiftUI Contrôle humain
SlateControlHub Plan de contrôle applicatif partagé
LLM + MCP Contrôle structuré
45 fonctions disponibles pour un LLM.
Ce catalogue reflète le manifeste d'outils enregistré par l'implémentation slatevm-mcp fournie et son chemin de répartition local ou côté application correspondant.
Application, découverte et tâches
launch_app
Lance SlateVM de manière visible et indique si son point de contrôle local est prêt.
quit_app
Ferme SlateVM proprement ou, lorsqu'elle est explicitement demandée, force l'application à quitter.
app_status
Indique si SlateVM est en cours d'exécution, son identifiant de processus, l'accessibilité du socket de contrôle, ainsi que la version et la build de l'application en cours (lues en direct depuis son bundle, donc correctes après une mise à jour automatique).
host_capabilities
Renvoie la capacité de virtualisation de l'hôte, la virtualisation imbriquée, la version de macOS, l'état des droits et les informations sur l'espace disque libre.
list_images
Liste les images d'installation lisibles visibles dans les caches et Téléchargements de SlateVM, avec le type d'invité et la taille déduits.
list_restore_images
Liste les images de restauration macOS connues de SlateVM pour un flux de création macOS.
job_status
Renvoie l'état d'une tâche en arrière-plan, sa dernière étape, son résultat ou une erreur structurée.
job_wait
Attend qu'une tâche en arrière-plan se termine ou atteigne un délai maximal, puis renvoie son résultat actuel.
list_jobs
Liste les tâches en arrière-plan récentes et leurs états actuels.
Inventaire et cycle de vie des VM
list_vms
Liste chaque VM avec son identité, son état d'exécution et son résumé matériel.
get_vm
Renvoie la configuration persistée complète et les détails actuels d'une VM.
create_vm
Crée une VM macOS, Linux ou Windows à partir des entrées requises OS, CPU, mémoire, disque, image et réseau, avec installation non supervisée facultative, identifiants de compte, réseau NAT ou pont LAN, et prise en charge x86-64 (Rosetta) pour les invités Linux.
start_vm
Démarre une VM sélectionnée et ouvre sa fenêtre de console visible.
stop_vm
Arrête une VM en cours d'exécution avec arrêt propre par défaut et option de forçage explicite.
suspend_resume_vm
Bascule une VM en cours d'exécution entre les états suspendu et repris.
wait_for_state
Attend l'état en cours d'exécution ou arrêté et renvoie le résultat avec le contexte d'erreur disponible.
delete_vm
Déplace un bundle VM confirmé vers la Corbeille via le chemin de suppression coordonné de SlateVM.
reveal_vm
Révèle le bundle VM sélectionné dans le Finder.
Configuration, stockage et intégration
set_hardware
Met à jour uniquement les paramètres fournis de CPU, mémoire, réseau, virtualisation imbriquée, x86-64 (Rosetta) ou pilote réseau Linux.
resize_disk
Agrandit un disque VM vers une taille plus grande confirmée tout en préservant le disque virtuel existant.
set_installer_media
Redirige une VM arrêtée vers un support d'installation accessible et persiste une nouvelle référence scopée.
finish_install
Marque l'installation comme terminée et retire le support d'installation de la configuration de démarrage suivant.
add_shared_folder
Ajoute un dossier hôte à une VM macOS ou Linux avec un nom de montage et un accès en lecture seule facultatif.
remove_shared_folder
Supprime un enregistrement de dossier partagé sélectionné d'une configuration VM.
set_shared_folder_readonly
Change un dossier partagé entre accès en lecture seule et en écriture.
apply_guest_tools
Prépare ou applique le disque d'outils invités de SlateVM pour la VM sélectionnée.
set_attach_linux_guest_tools
Contrôle si une VM Linux de bureau attache le disque d'outils SlateVM.
set_console_window_size
Définit la largeur et la hauteur de la fenêtre de console de la VM sélectionnée en points d'affichage Mac.
set_display_resolution
Définit la résolution d'affichage du prochain démarrage pour un serveur Linux sans tête.
set_linux_network_path
Sélectionne le NAT Apple natif ou le chemin NAT adossé au service de SlateVM pour une VM Linux.
Diagnostics, console et entrée
get_diagnostics
Collecte l'état de la VM, la configuration, l'accès aux médias, les informations disque, la santé réseau, les journaux et la dernière erreur structurée.
tail_log
Renvoie les lignes de journal récentes de la VM pour une fenêtre temporelle sélectionnée avec un filtre texte facultatif.
capture_screen
Capture la console invitée comme image MCP ou fichier hôte, avec contrôles de format, recadrage et mise à l'échelle.
read_console_text
Renvoie le texte de la console invitée, éventuellement filtré par un motif insensible à la casse. Les serveurs Linux sans tête lisent le flux série exact (sans OCR) ; les autres invités utilisent l'OCR du framebuffer.
wait_for_text
Interroge la console jusqu'à ce qu'un motif demandé apparaisse ou qu'un délai maximal soit atteint — le flux série pour les serveurs sans tête, l'OCR du framebuffer sinon.
send_input
Envoie des actions pointeur, texte ou clé scopées à l'invité et peut capturer le résultat dans le même appel. Sur les serveurs sans tête, texte/clé vont à la console série — majuscules, symboles et accords Ctrl fonctionnent tous.
Service réseau et commandes invitées
networking_status
Indique si le service réseau de SlateVM est installé, accessible et sain.
networking_install
Ouvre l'installateur macOS signé pour approbation administrateur unique du service réseau.
networking_repair
Réinstalle le service réseau via le flux de paquets approuvé par l'administrateur.
networking_uninstall
Ouvre le désinstalleur approuvé par l'administrateur pour le service réseau.
guest_network
Découvre les adresses IP candidates de l'invité à partir de la MAC de la VM en utilisant les informations DHCP et ARP de l'hôte.
provision_ssh
Crée ou renvoie la clé publique SSH dédiée par VM et la commande d'installation côté invité.
ssh_status
Indique si une VM a une clé SSH LLM dédiée et renvoie sa clé publique.
revoke_ssh
Supprime l'identité SSH dédiée côté hôte afin qu'elle puisse être tournée ou retirée.
run_in_guest
Exécute une commande SSH limitée et renvoie le code de sortie, la sortie, les erreurs, le délai et le statut de connexion.