parallels-mcp
v1.0.0
Published
MCP server for managing Parallels Desktop virtual machines on macOS
Maintainers
Readme
Parallels MCP Server
MCP (Model Context Protocol) server for managing Parallels Desktop virtual machines on macOS.
Features
This MCP server provides comprehensive VM management capabilities:
VM Lifecycle Management
list_vms- List all VMs with status, IP, and nameget_vm_info- Get detailed VM information (CPU, memory, disk, network)start_vm- Start a VMstop_vm- Stop a VM (with optional force kill)restart_vm- Restart a VMpause_vm- Pause a running VMresume_vm- Resume a paused VMsuspend_vm- Suspend a VM (save state to disk)
Snapshot Management
create_snapshot- Create a VM snapshotlist_snapshots- List all snapshots for a VMrevert_snapshot- Revert to a specific snapshotdelete_snapshot- Delete a snapshot
Guest Operations
exec_in_vm- Execute commands inside the guest OSget_vm_ip- Get IP address of a running VM
VM Configuration
clone_vm- Clone a VM (full or linked clone)set_vm_resources- Configure CPU and memory allocation
Installation
The server is already configured in your Claude Code instance at:
/Users/matthewkarsten/mcp-servers/parallels-mcpUsage
After restarting Claude Code or starting a new session, you can use natural language to manage your VMs:
Examples
List all VMs:
Show me all my Parallels VMsStart a VM:
Start the Kali Linux VMCreate a snapshot:
Create a snapshot of my Windows 11 VM called "before-update"Execute a command in a VM:
Run "uname -a" in the Kali Linux VMClone a VM:
Clone my Windows 11 VM to "Windows 11 Test" as a linked cloneGet VM details:
Show me the details of my Kali Linux VM including IP addressManual Testing
You can test the MCP server directly:
cd ~/mcp-servers/parallels-mcp
npm run devThen in another terminal, you can test it with the MCP inspector:
npx @modelcontextprotocol/inspector node build/index.jsVerify Installation
Check that the server is configured:
claude mcp listYou should see parallels in the list of MCP servers.
Architecture
- Built with TypeScript
- Uses the official
@modelcontextprotocol/sdk - Wraps Parallels CLI tools (
prlctl,prlsrvctl) - Communicates over stdio transport
Next Steps
Windows Guest Operations MCP Server
To extend this with Windows-specific automation (for your Windows 11 ARM VMs):
- Create a companion MCP server for Windows guest operations
- Use
exec_in_vmas the foundation - Add tools like:
run_powershell(vm_id, script)- Execute PowerShell scriptsinstall_chocolatey(vm_id)- Install Chocolatey package managerinstall_app(vm_id, package)- Install apps via Chocolatey/Wingetsetup_dev_env(vm_id, stack)- Configure development environmentscopy_file_to_guest(vm_id, local, remote)- File transfer
Automation Examples
Once the Windows guest MCP is ready, you can orchestrate complex workflows:
Create a Windows 11 dev VM from my template, install VS Code, Git,
Node.js, and clone my project repoThis would:
- Clone the template VM
- Start it
- Wait for guest tools
- Install Chocolatey
- Install the requested packages
- Clone the repo
- Create a snapshot
Requirements
- macOS with Parallels Desktop installed
- Parallels CLI tools available (
prlctl) - Node.js 18+
- Claude Code
Troubleshooting
Server shows "Failed to connect":
- Restart Claude Code to load the new MCP server
- Verify the build succeeded:
cd ~/mcp-servers/parallels-mcp && npm run build - Test manually:
node build/index.js
Commands fail:
- Ensure Parallels Desktop is installed and licensed
- Verify VMs exist:
prlctl list --all - Check VM names/UUIDs match exactly
Permission errors:
- The server runs with your user permissions
- Ensure you can run
prlctlcommands manually
License
ISC
