关于 Parallels Desktop VMs
pdfm-mcp 是用于管理 Parallels Desktop 虚拟机的本地 macOS MCP 服务。它让 AI 助手能够检查虚拟机、运行客户机命令、读取屏幕,并自动执行键盘输入和多步任务。
主要功能
- 01查找和管理虚拟机
- 02在 Windows 或 Linux 客户机中运行命令
- 03截取屏幕并通过 OCR 读取文字
- 04输入文本并发送键盘快捷键
- 05创建快照、克隆虚拟机并运行序列
适用场景
- 01查看虚拟机状态并启动或停止实例
- 02运行客户机命令并收集输出
- 03检查虚拟机屏幕并自动执行输入
- 04将助手访问范围限制到指定虚拟机或工具
MCP 相关
它向 MCP 客户端提供 Parallels Desktop 虚拟机管理和自动化工具。本地服务使用 stdio 传输,可按虚拟机、访问模式以及允许或禁止的工具限制权限。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Parallels Desktop MCP
将 AI 助手连接到 Parallels Desktop。pdfm-mcp 可让 Claude、Codex 和其他 MCP 客户端查找和管理虚拟机、运行客户机命令、读取屏幕内容并自动输入键盘操作。
在 macOS 上本地运行,提供适用于 Apple Silicon 和 Intel 的通用二进制文件。使用发布的二进制文件无需安装 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 bundle
如果发布内容中包含 pdfm-mcp-<version>.mcpb,请从 Releases 下载它及对应的 .sha256 文件。使用 shasum -a 256 -c pdfm-mcp-<version>.mcpb.sha256 验证后,双击该 bundle 进行安装。这是手动配置下方二进制文件的替代方式。
连接助手
客户端会为你启动服务。请使用二进制文件的绝对路径,因为桌面应用可能无法继承终端的 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 或准确名称。若要将服务限制为一个 VM,请在启动参数中添加 --vm-id "My VM"。
| 工具 | 功能 |
|---|---|
parallels_list_vms | 列出你的 VM 及其详细信息。 |
parallels_search_vms | 根据名称片段或 UUID 查找 VM,也可以按状态筛选。 |
parallels_vm_info | 获取单个 VM 的详细信息。 |
parallels_vm_start、parallels_vm_resume | 启动或恢复 VM。 |
parallels_vm_pause、parallels_vm_suspend | 暂停运行或保存 VM 的运行状态。 |
parallels_vm_stop、parallels_vm_restart | 停止 VM 或平稳重启 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 | 在一次请求中运行由工具调用、等待和检查组成的工作流。 |
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":指定一个 VM。--allow-vms "My VM,Another VM":限制为访问所选 VM。--allow-tools/--deny-tools:提供或隐藏特定工具。
例如,在 JSON 客户端配置中,将 "args": ["--read-only", "--vm-id", "My VM"] 添加到 command 旁边。在 Codex TOML 中,使用 args = ["--read-only", "--vm-id", "My VM"]。
屏幕截图、识别出的文本、命令输出和工具参数都会传输到 MCP 客户端及其模型提供商。删除 VM、回滚快照、执行来宾命令和加密可能会更改或销毁数据;请在批准这些操作前仔细检查。
发布版本可能会收集匿名化的工具使用遥测数据。如需选择退出,请在服务的环境中设置 PDFM_MCP_TELEMETRY_DISABLED=true。所有设置请参阅配置和隐私。
更新或卸载
使用 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 或 Beta 版本的安装时,请添加 --pre-release;如果安装到了自定义目录,请添加 --path <directory>。卸载后,请从客户端的 MCP 设置中移除该服务。
帮助与贡献
加入 Discord 并在 #pdfm-mcp 中发帖,或报告问题。
如需构建、测试、调试或添加工具,请参阅 CONTRIBUTING.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。