SlateVM
官方原生Apple晶片VM平台,提供45個MCP工具,用於建立、觀察及操作macOS、Linux和Windows 11 ARM虛擬機。
你可以用 SlateVM MCP 做什麼?
- 建立並啟動 VM — 從列出的安裝映像建立 VM,然後啟動它並等待其達到目標執行狀態。
- 觀察客體 — 擷取畫面、讀取主控台文字,或等待正規表達式模式出現在主控台上。
- 操作客體 — 注入鍵盤、指標與文字輸入,或透過每個 VM 專屬的 SSH 金鑰在已啟動的客體中執行命令。
- 設定硬體 — 即時套用硬體與網路設定、擴充磁碟,或設定顯示解析度與主控台視窗大小。
- 共享主機資料夾 — 在 mac/Linux VM 中新增或移除 virtio-fs 共享資料夾,並切換其唯讀旗標。
- 診斷問題 — 當 VM 無法開機時,提取一次性診斷套件或追蹤最近的日誌行。
文件
你的 AI 可以看見並操作的實體電腦。
SlateVM 內建的 MCP 伺服器為任何相容的 AI 用戶端提供 46 個結構化工具,可建立虛擬機、觀看其螢幕、輸入文字與點擊、在客體內部執行命令,並驗證結果——在 Mac、Windows 和 Linux 上皆遵循相同的契約。
每一步都有證據的自動化。
觀察
即時狀態與工作、螢幕擷取、螢幕上的文字(OCR)、無頭 Linux 的序列主控台文字、日誌,以及客體網路位址。
操作
鍵盤、指標、捲動與文字輸入;透過每台 VM 專屬的 SSH 身分在客體內執行命令;硬體、磁碟、顯示器、網路與共享資料夾的變更。
驗證
等待某個狀態或文字出現、擷取變更後的螢幕,並在回報前讀取診斷資訊。
不是 shell 包裝器。不是 UI 腳本。
一個小型本機轉接器透過永不離開你機器的通道,將你的 AI 用戶端連接到 SlateVM。SlateVM——擁有這些 VM 的元件——回應每一次呼叫,因此代理看到的真相與應用程式一致。MCP in the hypervisor →
全部 46 個工具。
在每個主機上具有相同的名稱、結構描述與錯誤碼。無法執行某項操作的主機(例如在 Mac 以外的環境執行 macOS 客體)會回傳明確的錯誤,而不是不同的工具。
應用程式 (4)
launch_app
啟動 SlateVM 應用程式(可見、前景)。
quit_app
結束 SlateVM 應用程式。
app_status
回報 SlateVM 應用程式是否正在執行、其控制本機通道是否可達,以及執行中應用程式的版本/組建(即時從其套件讀取,因此即使在自動更新於工作階段中途替換應用程式後仍保持正確)。
host_capabilities
回報主機能力:巢狀虛擬化支援、可用磁碟空間、虛擬化授權、macOS 版本。
建立與安裝 (7)
create_vm
建立新的 VM。
list_images
列出 SlateVM 能看到的所有作業系統安裝映像(其映像快取 + 你的下載資料夾),附上推測的作業系統、大小,以及是否可讀取——讓你可以為 create_vm 挑選路徑,而不必被直接指定一個。
list_restore_images
列出 SlateVM 已知的 macOS 還原映像(.ipsw)。
set_installer_media
將已停止 VM 的安裝程式映像重新指向新的可存取路徑,並寫入新的書籤。
finish_install
明確將 VM 的作業系統安裝標記為完成:退出安裝 ISO/媒體,並將 installState 從 'installing' 切換為 'installed'。
apply_guest_tools
為 VM 準備/套用客體工具光碟。
set_attach_linux_guest_tools
切換是否為桌面 Linux VM 掛載 SlateVM Tools 光碟。
生命週期 (8)
list_vms
列出所有 SlateVM 虛擬機及其狀態與硬體。
get_vm
取得單一 VM 的完整設定。
start_vm
啟動 VM 並開啟其主控台視窗(可見)。
stop_vm
停止執行中的 VM。
suspend_resume_vm
切換執行中 VM 的暫停/恢復。
wait_for_state
封鎖直到 VM 達到目標執行狀態,或逾時。
delete_vm
刪除 VM(將其套件移至垃圾桶)。
reveal_vm
在檔案瀏覽器中顯示 VM 的套件。
看見機器 (4)
capture_screen
擷取客體的螢幕。
read_console_text
以文字讀取客體主控台。
wait_for_text
封鎖直到 pattern\(不區分大小寫的正規表達式)出現在客體主控台上,或逾時——替你輪詢,讓你不必先睡眠再截圖。
read_guest_clipboard
從圖形化客體擷取文字——這是 read_console_text(僅涵蓋無頭序列 Linux)的幀緩衝對應功能。
操作機器 (5)
send_input
將輸入注入客體(而非 Mac 桌面)。
run_in_guest
使用每台 VM 專屬的 AI 金鑰,透過 SSH 在已開機的客體中執行命令。
provision_ssh
回傳每台 VM 專屬的 SSH 公開金鑰 + 一個 installCommand。
ssh_status
回報 VM 是否已配置 AI SSH 金鑰,以及其公開金鑰。
revoke_ssh
移除 VM 在主機端的 AI SSH 金鑰。
設定 (7)
set_hardware
即時將硬體/網路設定套用至 VM。
resize_disk
擴充 VM 的磁碟。
set_display_resolution
設定客體顯示解析度(無頭 Linux 伺服器;於下次開機時套用)。
set_console_window_size
設定 VM 的主控台視窗大小。
add_shared_folder
將主機資料夾共享至 mac/Linux VM(virtio-fs)。
remove_shared_folder
從 VM 移除共享資料夾。
set_shared_folder_readonly
設定共享資料夾的唯讀旗標。
網路 (6)
guest_network
透過 DHCP 租約表與 ARP,從執行中客體的 MAC 探索其 IP 位址(唯讀)。
set_linux_network_path
設定 Linux VM 的 NAT 驅動程式:native(Apple VZNAT)或 service(socket_vmnet)。
networking_status
回報 SlateVM 網路服務是否已安裝且運作正常。
networking_install
安裝 SlateVM 網路服務。
networking_repair
修復/重新安裝 SlateVM 網路服務(需管理員核准)。
networking_uninstall
解除安裝 SlateVM 網路服務(需管理員核准)。
工作與診斷 (5)
job_status
取得背景工作的狀態(執行中/成功/失敗)、其最新階段,以及其結果或錯誤。
job_wait
封鎖直到背景工作完成或逾時;回傳其狀態 + 結果/錯誤。
list_jobs
列出最近的背景工作及其狀態。
get_diagnostics
VM 的一站式疑難排解組合包:狀態、lastError({code, message}——VM 無法開機的原因,例如 MEDIA_INACCESSIBLE)、各磁碟機的媒體可存取性、最近的日誌行、磁碟大小、網路服務健康狀態,以及設定。出問題時請先呼叫此工具。
tail_log
回傳 VM 的最近日誌行。