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 の最近のログ行を返します。