SlateVM
公式Appleシリコン向けネイティブVMプラットフォームで、macOS、Linux、Windows 11 ARMゲストを作成、監視、操作するための45のMCPツールを備えています。
SlateVM MCPで何ができますか?
- VM の作成と起動 — 一覧にあるインストールイメージから VM を作成し、起動して、目標の実行状態に達するまで待機します。
- ゲストの観察 — 画面をキャプチャし、コンソールのテキストを読み取り、またはコンソールに正規表現パターンが現れるまで待機します。
- ゲストの操作 — キーボード、ポインター、テキスト入力を注入し、または起動済みのゲスト内で VM ごとの SSH キーを使ってコマンドを実行します。
- ハードウェアの設定 — ハードウェアとネットワーク設定をライブで適用し、ディスクを拡張し、または表示解像度とコンソールウィンドウのサイズを設定します。
- ホストフォルダーの共有 — mac/Linux VM で virtio-fs 共有フォルダーを追加または削除し、その読み取り専用フラグを切り替えます。
- 問題の診断 — VM が起動しない場合は、ワンショットの診断バンドルを取得するか、最近のログ行を末尾から表示します。
ドキュメント
AI が見て操作できる、本物のコンピューター。
SlateVM に組み込まれた MCP サーバーは、互換性のあるあらゆる AI クライアントに 46 個の構造化ツールを提供します。仮想マシンの作成、画面の監視、文字入力とクリック、ゲスト内でのコマンド実行、そして結果の検証まで——Mac、Windows、Linux のいずれでも同じ契約で行えます。
あらゆるステップに証拠が残る自動化。
観察
ライブ状態とジョブ、画面キャプチャ、画面上のテキスト (OCR)、ヘッドレス Linux 向けのシリアルコンソールテキスト、ログ、ゲストのネットワークアドレス。
操作
キーボード、ポインター、スクロール、テキスト入力。VM ごとの SSH アイデンティティを介したゲスト内コマンド。ハードウェア、ディスク、ディスプレイ、ネットワーク、共有フォルダーの変更。
検証
状態またはテキストの出現を待機し、変化後の画面をキャプチャし、診断情報を読み取ってから報告します。
シェルラッパーではありません。UI スクリプティングでもありません。
小さなローカルアダプターが、マシンの外に出ることのないチャネルを介して AI クライアントを SlateVM に接続します。VM を所有するコンポーネントである SlateVM がすべての呼び出しに応答するため、エージェントはアプリと同じ真実を見ることになります。ハイパーバイザー内の MCP →
全 46 個のツール。
すべてのホストで名前、スキーマ、エラーコードが同一です。何かができないホスト (たとえば Mac 以外での macOS ゲスト) は、別のツールを返すのではなく、明確なエラーを返します。
アプリ (4)
launch_app
SlateVM アプリを起動します (表示、フォアグラウンド)。
quit_app
SlateVM アプリを終了します。
app_status
SlateVM アプリが実行中かどうか、その制御用ローカルチャネルに到達可能かどうか、および実行中のアプリのバージョン/ビルドを報告します (バンドルからライブで読み取るため、自動更新がセッション中にアプリを差し替えても正確なままです)。
host_capabilities
ホストの機能を報告します: ネスト仮想化のサポート、空きディスク、仮想化エンタイトルメント、macOS のバージョン。
作成とインストール (7)
create_vm
新しい VM を作成します。
list_images
SlateVM が認識できるすべての OS インストールイメージ (自身のイメージキャッシュ + あなたの Downloads) を、推定された os、サイズ、読み取り可能かどうかとともに一覧表示します——create_vm に渡すパスを渡されることなく、自分で選べるようにするためです。
list_restore_images
SlateVM が認識している macOS 復元イメージ (.ipsw) を一覧表示します。
set_installer_media
停止中の VM のインストーラーイメージを、アクセス可能な新しいパスに再指定し、新しいブックマークを書き込みます。
finish_install
VM の OS インストールが完了したことを明示的にマークします: インストール用 ISO/メディアをイジェクトし、installState を 'installing' から 'installed' に切り替えます。
apply_guest_tools
VM 用のゲストツールディスクをステージ/適用します。
set_attach_linux_guest_tools
デスクトップ Linux VM 用の SlateVM Tools ディスクのマウントを切り替えます。
ライフサイクル (8)
list_vms
すべての SlateVM 仮想マシンを、その状態とハードウェアとともに一覧表示します。
get_vm
1 つの 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 の最近のログ行を返します。