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 configurer des machines virtuelles — Demandez à create_vm une machine invitée macOS, Linux ou Windows avec les paramètres de CPU, mémoire, disque et réseau, puis ajustez le matériel ou resize_disk selon les besoins.
  • Observer l'état de l'invité — Utilisez capture_screen, read_console_text ou wait_for_text pour 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 avec run_in_guest via une identité SSH provisionnée.
  • Gérer le cycle de vie et les tâchesstart_vm, stop_vm, suspend_resume_vm ou delete_vm, et suivez la progression avec job_status ou wait_for_state.
  • Diagnostiquer et inspecter — Récupérez get_diagnostics, tail_log ou networking_status pour 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_tools ou set_installer_media pour 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.