SlateVM

公式

Appleシリコン向けネイティブVMプラットフォームで、macOS、Linux、Windows 11 ARMゲストを作成、監視、操作するための45のMCPツールを備えています。

SlateVM MCPで何ができますか?

  • VMの作成と設定create_vm を依頼して、CPU、メモリ、ディスク、ネットワーク設定を指定したmacOS、Linux、またはWindowsゲストを作成し、必要に応じてハードウェアを調整したり resize_disk を実行します。
  • ゲスト状態の確認capture_screenread_console_text、または wait_for_text を使用して、VMのディスプレイ、シリアル出力、またはOCR処理されたインターフェースを確認し、現在の状況を把握します。
  • 入力送信とコマンド実行send_input でキーボード、ポインター、またはテキストを直接送信するか、プロビジョニングされたSSH IDを使用して run_in_guest で制限付きコマンドを実行します。
  • ライフサイクルとジョブの管理start_vmstop_vmsuspend_resume_vm、または delete_vm を実行し、job_status または wait_for_state で進捗を追跡します。
  • 診断と検査get_diagnosticstail_log、または networking_status を取得して、VMの健全性、ログ、ネットワーク接続の問題をトラブルシューティングします。
  • ストレージとメディアの管理shared_folder の追加または削除、apply_guest_tools の実行、または set_installer_media を使用してゲストリソースを管理します。

ドキュメント

LLMが見て、理解し、操作できる、本物の仮想マシン。

SlateVMは、互換性のあるMCPクライアントに対し、作成、プロビジョニング、ライフサイクル、コンソール操作、ネットワーキング、診断、設定、ゲスト実行にわたる45の構造化関数を提供します。VMの作成はほんの始まりに過ぎません。エージェントはゲストを観察し、その状態を理解し、サポートされているすべてのゲストプラットフォームで行動し、検証することができます。

すべてのステップに証拠を伴う自動化。

マシンを観察する

正確なライフサイクルとジョブ状態を読み取り、フレームバッファをキャプチャし、表示されているインターフェースをOCRし、ヘッドレスLinuxシリアルストリームを読み取り、ログを検査し、ゲストのネットワーキングを検出します。

適切なチャネルで操作する

キーボード、ポインター、スクロール、テキスト入力を送信し、VMごとの専用SSH IDをプロビジョニングし、制限付きコマンドを実行し、サポートされているVM設定を更新します。

結果を検証する

状態またはテキストを待機し、変更された画面をキャプチャし、シリアル出力を読み取り、診断情報を収集し、VMが実際に報告する内容に基づいて続行します。

シェルラッパーではない。UIスクリプティングでもない。

ステートレスな slatevm-mcp アダプターは、ローカルのUnixドメインソケットを介してSlateVMのバージョン管理されたプロトコルを話します。SlateControlServer は各リクエストを SlateControlHub にディスパッチし、そこでSwiftUIインターフェースとAI制御パスが同じ VMStore、ネットワーキングサービス、ウィンドウマネージャー、ライフサイクルオーナーに収束します。VMの状態とポリシーの権限は、アダプターではなくSlateVMにあります。

SwiftUI 人間による制御

SlateControlHub 共有アプリケーション制御プレーン

LLM + MCP 構造化制御

LLMが利用できる45の関数。

このカタログは、バンドルされた slatevm-mcp 実装と、それに対応するローカルまたはアプリケーション側のディスパッチパスによって登録されたツールマニフェストを反映しています。

アプリケーション、検出、ジョブ

launch_app

SlateVMを可視状態で起動し、ローカル制御エンドポイントの準備ができているかどうかを報告します。

quit_app

SlateVMを正常に終了するか、明示的に要求された場合はアプリケーションを強制終了します。

app_status

SlateVMが実行中かどうか、そのプロセスID、制御ソケットの到達可能性、実行中のアプリのバージョンとビルドを報告します(バンドルからライブで読み取るため、自動更新後も正確です)。

host_capabilities

ホストの仮想化機能、ネストされた仮想化、macOSバージョン、エンタイトルメント状態、空きディスク情報を返します。

list_images

SlateVMのキャッシュとダウンロードに表示される読み取り可能なインストールイメージを、推測されるゲストタイプとサイズとともに一覧表示します。

list_restore_images

macOS作成ワークフローで使用するためにSlateVMが認識しているmacOS復元イメージを一覧表示します。

job_status

バックグラウンドジョブの状態、最新のステージ、結果、または構造化エラーを返します。

job_wait

バックグラウンドジョブが完了するか、制限付きタイムアウトに達するまで待機し、現在の結果を返します。

list_jobs

最近のバックグラウンドジョブとその現在の状態を一覧表示します。

VMインベントリとライフサイクル

list_vms

すべてのVMを、そのID、ランタイム状態、ハードウェア概要とともに一覧表示します。

get_vm

1つのVMの完全な永続化された設定と現在の詳細を返します。

create_vm

必要なOS、CPU、メモリ、ディスク、イメージ、ネットワーク入力からmacOS、Linux、またはWindows VMを作成し、オプションで無人インストール、アカウント資格情報、NATまたはLANブリッジネットワーキング、Linuxゲスト向けのx86-64(Rosetta)サポートを提供します。

start_vm

選択したVMを起動し、その可視コンソールウィンドウを開きます。

stop_vm

実行中のVMを停止します。デフォルトはグレースフルシャットダウンで、明示的な強制オプションがあります。

suspend_resume_vm

実行中のVMを一時停止状態と再開状態の間で切り替えます。

wait_for_state

実行中または停止状態を待機し、利用可能なエラーコンテキストとともに結果を返します。

delete_vm

確認されたVMバンドルをSlateVMの調整された削除パスを通じてゴミ箱に移動します。

reveal_vm

選択したVMバンドルをFinderで表示します。

設定、ストレージ、統合

set_hardware

提供されたCPU、メモリ、ネットワーク、ネストされた仮想化、x86-64(Rosetta)、またはLinuxネットワークドライバー設定のみを更新します。

resize_disk

既存の仮想ディスクを保持しながら、VMディスクを確認されたより大きなサイズに拡張します。

set_installer_media

停止したVMをアクセス可能なインストーラーメディアに再ポイントし、新しいスコープ付き参照を永続化します。

finish_install

インストール完了をマークし、次回起動設定からインストーラーメディアを削除します。

add_shared_folder

マウント名とオプションの読み取り専用アクセスを指定して、ホストフォルダーをmacOSまたはLinux VMに追加します。

remove_shared_folder

VM設定から選択した共有フォルダーレコードを削除します。

set_shared_folder_readonly

共有フォルダーを読み取り専用と書き込み可能アクセスの間で変更します。

apply_guest_tools

選択したVM用にSlateVMのゲストツールディスクをステージングまたは適用します。

set_attach_linux_guest_tools

デスクトップLinux VMがSlateVM Toolsディスクを接続するかどうかを制御します。

set_console_window_size

選択したVMコンソールウィンドウの幅と高さをMac表示ポイントで設定します。

set_display_resolution

ヘッドレスLinuxサーバーゲストの次回起動時の表示解像度を設定します。

set_linux_network_path

Linux VM用にネイティブApple NATまたはSlateVMのサービスバックアップNATパスを選択します。

診断、コンソール、入力

get_diagnostics

VM状態、設定、メディアアクセス、ディスク情報、ネットワーク健全性、ログ、最新の構造化エラーを収集します。

tail_log

選択した時間枠の最近のVMログ行を、オプションのテキストフィルター付きで返します。

capture_screen

ゲストコンソールをMCPイメージまたはホストファイルとしてキャプチャし、形式、クロップ、スケーリングの制御を提供します。

read_console_text

ゲストコンソールテキストを返します。オプションで大文字と小文字を区別しないパターンでフィルタリングできます。ヘッドレスLinuxサーバーは正確なシリアルストリームを読み取ります(OCRなし)。その他のゲストはフレームバッファOCRを使用します。

wait_for_text

要求されたパターンが表示されるか、制限付きタイムアウトに達するまでコンソールをポーリングします。ヘッドレスサーバーではシリアルストリーム、それ以外ではフレームバッファOCRを使用します。

send_input

ゲストスコープのポインター、テキスト、またはキーアクションを送信し、同じ呼び出しで結果をキャプチャできます。ヘッドレスサーバーでは、テキスト/キーはシリアルコンソールに送信されます。大文字、記号、Ctrlコードもすべて機能します。

ネットワーキングサービスとゲストコマンド

networking_status

SlateVMのネットワーキングサービスがインストールされ、到達可能で、健全かどうかを報告します。

networking_install

ネットワーキングサービスの1回限りの管理者承認のために、署名済みmacOSインストーラーを開きます。

networking_repair

管理者承認済みのパッケージワークフローを通じてネットワーキングサービスを再インストールします。

networking_uninstall

ネットワーキングサービスの管理者承認済みアンインストーラーを開きます。

guest_network

ホストのDHCPおよびARP情報を使用して、VMのMACから候補となるゲストIPアドレスを検出します。

provision_ssh

VMごとの専用SSH公開鍵とゲスト側のインストールコマンドを作成または返します。

ssh_status

VMに専用のLLM SSHキーがあるかどうかを報告し、その公開鍵を返します。

revoke_ssh

ホスト側の専用SSH IDを削除して、ローテーションまたは廃止できるようにします。

run_in_guest

制限付きSSHコマンドを実行し、終了コード、出力、エラー、タイムアウト、接続ステータスを返します。