Parallels Desktop VMs について
pdfm-mcpは、Parallels Desktopの仮想マシンを管理するmacOS向けローカルMCPサーバーです。AIアシスタントからVMの確認、ゲスト内コマンドの実行、画面の読み取り、キーボード操作や複数手順の自動化ができます。
主な機能
- 01仮想マシンの検索と管理
- 02WindowsまたはLinuxゲスト内でコマンド実行
- 03画面キャプチャとOCRによる文字読み取り
- 04テキスト入力とキーボードショートカット送信
- 05スナップショット作成、VM複製、シーケンス実行
活用シーン
- 01VMの状態確認や起動・停止
- 02ゲストコマンドを実行して出力を取得
- 03VM画面の確認とゲスト入力の自動化
- 04アシスタントのアクセス対象VMやツールを限定
MCP 対応
Parallels DesktopのVM管理・自動化ツールをMCPクライアントに提供します。ローカルサーバーはstdioトランスポートを使い、VM、読み取り専用モード、許可・拒否するツールでアクセスを制限できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Parallels Desktop MCP
AI アシスタントを Parallels Desktop に接続します。pdfm-mcp を使うと、Claude、Codex、その他の MCP クライアントから仮想マシンを検索・管理し、ゲスト内でコマンドを実行したり、画面を読み取ったり、キーボード入力を自動化したりできます。
Apple Silicon と Intel に対応したユニバーサルバイナリで macOS 上でローカルに動作します。リリース済みバイナリの利用に Go や Node のインストールは必要ありません。
できること
- VM を検索し、状態を確認して、起動または停止します。
- Windows または Linux のゲスト内でコマンドを実行し、出力を収集します。
- スクリーンショットを撮影し、画面上のテキストを読み取り、ゲストに入力します。
- スナップショットの作成、VM のクローン、複数ステップのワークフローを自動化します。
接続したら、アシスタントに「Ubuntu VMを探して、状態を表示して」や「実行中のWindows VMのスクリーンショットを撮って」と尋ねてみてください。
インストール
macOS、Parallels Desktop、MCP クライアントが必要です。ゲスト内でコマンドを実行するには、ゲストに Parallels Tools も必要です。画面キャプチャとキーボードツールには、実行中の VM が必要です。
Homebrew とデフォルトのインストーラーでは、安定版リリースが使用されます。最初の安定版リリースと cask が公開されるまでは、以下のスクリプトのプレリリースオプションを使用してください。利用可能なビルドについては、Releasesページを確認してください。
Homebrew
brew tap Parallels/tap
brew install --cask Parallels/tap/pdfm-mcp
pdfm-mcp --version
インストールスクリプト
curl -fsSL https://raw.githubusercontent.com/Parallels/pdfm-mcp/main/scripts/install.sh | bash
/usr/local/bin/pdfm-mcp --version
スクリプトはリリースアーカイブの SHA256 チェックサムを検証し、/usr/local/bin にインストールします。インストール先で必要な場合にのみ、sudo の実行を求めます。
最新の canary または beta をインストールするには:
curl -fsSL https://raw.githubusercontent.com/Parallels/pdfm-mcp/main/scripts/install.sh | bash -s -- --pre-release
特定のバージョンや別のディレクトリを指定するには、bash -s -- の後に --version <version> または --path <directory> を追加します。
Claude Desktop バンドル
リリースに pdfm-mcp-<version>.mcpb が含まれている場合は、Releasesからダウンロードし、対応する .sha256 ファイルも入手してください。shasum -a 256 -c pdfm-mcp-<version>.mcpb.sha256 で検証してから、バンドルをダブルクリックしてインストールします。これは、以下で説明するバイナリを手動で設定する方法の代替手段です。
アシスタントを接続する
クライアントがサーバーを起動します。デスクトップアプリはターミナルの PATH を引き継がない場合があるため、バイナリの絶対パスを使用してください。
| インストール方法 | バイナリのパス |
|---|---|
| Homebrew、Apple Silicon | /opt/homebrew/bin/pdfm-mcp |
| Homebrew、Intel | /usr/local/bin/pdfm-mcp |
| インストールスクリプト、デフォルトのディレクトリ | /usr/local/bin/pdfm-mcp |
| インストールスクリプト、カスタムディレクトリ | <directory>/pdfm-mcp |
Homebrew の場合、"$(brew --prefix)/bin/pdfm-mcp" を使うと、ターミナルのコマンドで適切なパスが解決されます。JSON または TOML の設定では、表に記載されている実際のパスを使用してください。そこでは $(brew --prefix) は展開されません。
Claude Code
インストール方法に合ったコマンドを選んでください。
# Homebrew (Apple Silicon or Intel)
claude mcp add --transport stdio --scope user pdfm-mcp -- "$(brew --prefix)/bin/pdfm-mcp"
# Install script
claude mcp add --transport stdio --scope user pdfm-mcp -- /usr/local/bin/pdfm-mcp
claude mcp list を実行して接続を確認してください。これらのコマンドを使うと、サーバーをすべてのプロジェクトで利用できます。その他の方法については、Claude CodeのMCPセットアップを参照してください。
Codex CLIとIDE拡張機能
インストール方法に合ったコマンドを選んでください。
# Homebrew (Apple Silicon or Intel)
codex mcp add pdfm-mcp -- "$(brew --prefix)/bin/pdfm-mcp"
# Install script
codex mcp add pdfm-mcp -- /usr/local/bin/pdfm-mcp
codex mcp list を実行して登録を確認し、CLI で /mcp を使って有効なサーバーを確認してください。CLI と IDE 拡張機能は同じ MCP 設定を共有します。
~/.codex/config.toml を編集する場合は、次の内容を追加してください。
[mcp_servers.pdfm-mcp]
command = "/opt/homebrew/bin/pdfm-mcp"
スクリプトでインストールした場合、または Intel 版 Homebrew を使用している場合は、command を /usr/local/bin/pdfm-mcp に変更してください。Codexの公式MCPドキュメントを参照してください。
プラグインマーケットプレイス
このリポジトリは、複数のアシスタント向けのプラグインマーケットプレイスとしても機能します。まず pdfm-mcp バイナリをインストールし、PATH に含まれていることを確認してください。プラグインは、クライアントがバイナリを起動するための設定のみを行います。
# Codex
codex plugin marketplace add Parallels/pdfm-mcp
codex plugin add pdfm-mcp@parallels
# Claude Code
claude plugin marketplace add Parallels/pdfm-mcp
claude plugin install pdfm-mcp@parallels
# Gemini CLI
gemini extensions install https://github.com/Parallels/pdfm-mcp
Cursor Teams および Enterprise の管理者は、Dashboard → Plugins & MCPs → Team Marketplaces からこのリポジトリをインポートできます。
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json を開き、既存のエントリーを保持したまま、サーバーを mcpServers に追加します。
{
"mcpServers": {
"pdfm-mcp": {
"command": "/opt/homebrew/bin/pdfm-mcp"
}
}
}
この例では、Apple Silicon 版の Homebrew を使用します。スクリプトでインストールした場合、または Intel 版の Homebrew を使用している場合は、command を /usr/local/bin/pdfm-mcp に変更してください。保存後、Claude Desktop を再起動します。
VS Code / GitHub Copilot
プロジェクトの .vscode/mcp.json に、既存のサーバーを保持したまま、サーバーを追加します。
{
"servers": {
"pdfm-mcp": {
"type": "stdio",
"command": "/opt/homebrew/bin/pdfm-mcp"
}
}
}
スクリプトでインストールした場合、または Intel 版の Homebrew を使用している場合は、command を /usr/local/bin/pdfm-mcp に変更してください。コマンドパレットから MCP: List Servers を実行してサーバーを起動し、状態を確認します。VS Code の MCP セットアップを参照してください。
利用可能なツール
デフォルトでは、アシスタントはすべてのローカル VM を操作できます。VM を対象とするツールには、その UUID または正確な名前を指定します。サーバーの対象を 1 台の VM に制限するには、起動引数に --vm-id "My VM" を追加します。
| ツール | 機能 |
|---|---|
parallels_list_vms | VM とその詳細を一覧表示します。 |
parallels_search_vms | 名前または UUID の一部で VM を検索し、必要に応じて状態で絞り込みます。 |
parallels_vm_info | 1 台の VM の詳細情報を取得します。 |
parallels_vm_start, parallels_vm_resume | VM を起動または再開します。 |
parallels_vm_pause, parallels_vm_suspend | 実行を一時停止するか、VM の実行状態を保存します。 |
parallels_vm_stop, parallels_vm_restart | VM を停止するか、正常に再起動します。 |
parallels_vm_reset, parallels_vm_reset_uptime | VM を強制リセットするか、稼働時間カウンターをリセットします。 |
parallels_vm_capture | VM のスクリーンショットを撮影します。 |
parallels_vm_observe | ローカル OCR を使用して、画面上のテキストを読み取る、テキストを検索する、または変更を報告します。 |
parallels_vm_exec | ゲストでコマンドを実行し、終了コードと出力を返します。 |
parallels_vm_exec_start, parallels_vm_exec_result, parallels_vm_exec_cancel | バックグラウンドのコマンドジョブを開始、監視、またはキャンセルします。 |
parallels_vm_type, parallels_vm_send_key | ゲストにテキストを入力するか、キーやショートカットを送信します。 |
parallels_vm_sequence | 1 つのリクエストで、ツール呼び出し、待機、確認からなるワークフローを実行します。 |
parallels_vm_snapshot_create, parallels_vm_snapshot_list | チェックポイントを作成し、VM のスナップショットを一覧表示します。 |
parallels_vm_snapshot_switch, parallels_vm_snapshot_delete | チェックポイントを復元するか、スナップショットを削除します。 |
parallels_vm_clone | VM のコピーを作成します。 |
parallels_vm_set | VM の設定を変更します(CPU、メモリ、起動、共有、セキュリティなど。各フィールドの説明はツール自体を参照してください)。 |
parallels_vm_device_add | デバイスを追加します(ハードドライブ、光学ドライブ、ネットワークアダプター、シリアル/パラレルポート、サウンドカード、USB サポート)。 |
parallels_vm_device_set | 既存のデバイスを変更、有効化/無効化、またはホット接続/切断します。 |
parallels_vm_device_del | デバイスを削除します。必要に応じて、仮想ハードドライブのイメージを破棄できます(確認が必要です)。 |
parallels_vm_delete | VM とそのファイルを完全に削除します。明示的な確認が必要です。 |
parallels_vm_reclaim_disk | 使用されていない VM のディスク領域を見積もるか、回収します。 |
parallels_vm_encrypt, parallels_vm_decrypt, parallels_vm_change_encryption_password | VM の暗号化とパスワードを管理します。 |
引数、制限、自動化の例については、ツールリファレンスを参照してください。
アシスタントがアクセスできる対象を選択する
アクセスを制限するには、起動引数を追加します。
--read-only:VM とその画面を確認するための監視ツールを公開します。--vm-id "My VM":対象を 1 台の VM に限定します。--allow-vms "My VM,Another VM":選択した VM のみにアクセスを制限します。--allow-tools/--deny-tools:特定のツールを公開または非表示にします。
たとえば、JSON クライアント設定で command の隣に "args": ["--read-only", "--vm-id", "My VM"] を追加します。Codex TOML では、args = ["--read-only", "--vm-id", "My VM"] を使用します。
スクリーンショット、認識されたテキスト、コマンドの出力、ツールの引数は、MCP クライアントとそのモデルプロバイダーに送られます。VM の削除、スナップショットのロールバック、ゲストコマンド、暗号化によってデータが変更または破損する可能性があるため、承認する前に内容を確認してください。
リリースビルドでは、匿名化されたツール使用状況のテレメトリーが収集されることがあります。オプトアウトするには、サーバーの環境変数に PDFM_MCP_TELEMETRY_DISABLED=true を設定します。すべての設定については、configuration and privacy を参照してください。
更新またはアンインストール
Homebrew を使用する場合:
brew upgrade --cask pdfm-mcp
brew uninstall --cask pdfm-mcp
インストールスクリプトを使用する場合:
# Update to the latest stable release
curl -fsSL https://raw.githubusercontent.com/Parallels/pdfm-mcp/main/scripts/install.sh | bash -s -- --update
# Uninstall
curl -fsSL https://raw.githubusercontent.com/Parallels/pdfm-mcp/main/scripts/install.sh | bash -s -- --uninstall
canary またはベータ版のインストールを更新する場合は --pre-release を、カスタムディレクトリにインストールした場合は --path <directory> を追加します。アンインストール後、クライアントの MCP 設定からサーバーを削除してください。
ヘルプとコントリビューション
Discord に参加して #pdfm-mcp を開くか、issue を報告してください。
ビルド、テスト、デバッグ、ツールの追加については、CONTRIBUTING.md を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。