simple-parallels
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
simple-parallels
MCP server for Parallels Desktop VM lifecycle and snapshots. Seventeen tools use fixed execFile commands (no shell, no arbitrary CLI).
Requirements: macOS, Parallels Desktop installed, prlctl (default /usr/local/bin/prlctl), Node.js 20+. start_vm, resume_vm, and restart_vm open Parallels in the background if it is not running.
Setup
npm install
npm run build
cp .cursor/mcp.json.example .cursor/mcp.jsonEdit .cursor/mcp.json and replace /path/to/simple-parallels with your clone path. From the repo root:
# Clone root (paste into args, before /dist/index.js)
echo "$(pwd)/dist/index.js" | sed 's|/dist/index.js||'
# Or the full path to dist/index.js directly
echo "$(pwd)/dist/index.js"{
"mcpServers": {
"simple-parallels": {
"command": "node",
"args": ["/path/to/simple-parallels/dist/index.js"],
"env": {
"PRLCTL_PATH": "/usr/local/bin/prlctl"
}
}
}
}Reload simple-parallels in Cursor Settings → MCP.
.cursor/mcp.json is gitignored; .cursor/mcp.json.example matches the config above.
Related MCP server: Parallels MCP Server
Tools
Tool | Input | Description |
| — | Launch Parallels Desktop (foreground) |
| — | List all VMs |
| — | List running VMs only |
|
| Full VM configuration (JSON) |
|
| Lightweight status by name or UUID |
|
| Start a VM (auto-opens Parallels if needed) |
|
| Gracefully stop a VM |
|
| Force stop ( |
|
| Restart a VM (auto-opens Parallels if needed) |
|
| Pause in memory |
|
| Resume a suspended VM (auto-opens Parallels if needed) |
|
| Suspend to disk (saved state) |
|
| Drop suspended state ( |
|
| List snapshots for a VM |
|
| Create a snapshot |
|
| Revert to a snapshot |
|
| Delete a snapshot |
vm accepts a display name (e.g. Ubuntu 24.04 ARM64) or UUID (with or without {...}). Run list_vms for exact names. For snapshots, run list_snapshots first to get snapshot IDs.
Pause vs suspend: pause_vm pauses in memory; suspend_vm saves state to disk.
Auto-open: start_vm, resume_vm, and restart_vm check for the Parallels GUI (prl_client_app, not background services only). If the GUI is not running, they run open -a and wait before prlctl. Set PARALLELS_OPEN_IN_BACKGROUND=true to use open -g instead.
Configuration
Variable | Default | Description |
|
| Path to |
|
| App name for |
|
| Path to macOS |
|
| Path to |
|
| Set |
|
| Milliseconds to wait after opening Parallels |
|
| Set |
Out of scope
Guest exec, clone/delete VM, file transfer, arbitrary prlctl commands.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Appcircle mobile CI/CD platform.
MCP server for Product Management
MCP server for Superserve sandboxes: create, exec, and manage Firecracker microVMs
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server for controlling VMware Fusion/Workstation virtual machines via vmrun CLI, providing 32 tools for VM lifecycle, guest execution, and file operations without requiring a REST API daemon.3278 npm7MIT
- AlicenseBqualityDmaintenanceAn MCP server that enables managing Parallels Desktop virtual machines, including listing, starting, stopping, suspending, and executing commands inside VMs.9MIT
- AlicenseBqualityDmaintenanceA stdio MCP server that controls VMware Workstation via vmrun, enabling VM lifecycle management and snapshot operations.14MIT
- AlicenseNot gradedqualityCmaintenanceProvider-neutral MCP server for managing VirtualBox, VMware Fusion, and VMware Workstation, offering tools for VM lifecycle, configuration, snapshots, guest operations, networking, and artifact resolution.MIT