.vscode — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited .vscode (MCP Server) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server for managing Parallels Desktop virtual machines.
This MCP server provides tools to interact with Parallels Desktop VMs:
prlctl command-line tool (comes with Parallels Desktop)# Install globally
npm install -g parallels-mcp-server
# Or use with npx (no installation needed)
npx parallels-mcp-server# Clone the repository
git clone <repository-url>
cd parallels-mcp-server
# Install dependencies
npm install
# Build the project
npm run buildAfter installation, add this to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"parallels": {
"command": "npx",
"args": ["parallels-mcp-server"]
}
}
}Or if you have it installed globally:
{
"mcpServers": {
"parallels": {
"command": "parallels-mcp-server"
}
}
}The server is already configured in .vscode/mcp.json and ready to use!
# Run in development mode with tsx
npm run devOnce connected to an MCP client, you can use the tools like this:
#### list_vms
Lists all Parallels Desktop virtual machines on your system.
Parameters: None
Example:
Use the list_vms tool#### get_vm_info
Get detailed information about a specific virtual machine including configuration, hardware specs, and network settings.
Parameters:
vm (required): VM name or UUIDExample:
Use get_vm_info with vm="MyVM"#### get_vm_status
Get the current operational status of a virtual machine (running, stopped, suspended, etc.).
Parameters:
vm (required): VM name or UUIDExample:
Use get_vm_status with vm="MyVM"#### start_vm
Start a stopped or suspended virtual machine.
Parameters:
vm (required): VM name or UUIDExample:
Use start_vm with vm="MyVM"#### stop_vm
Stop a running virtual machine gracefully or forcefully.
Parameters:
vm (required): VM name or UUIDforce (optional): Boolean - if true, performs a hard shutdown (kill)Examples:
# Graceful shutdown
Use stop_vm with vm="MyVM"
# Force shutdown
Use stop_vm with vm="MyVM" and force=true#### suspend_vm
Suspend a running virtual machine, saving its current state to disk.
Parameters:
vm (required): VM name or UUIDExample:
Use suspend_vm with vm="MyVM"#### resume_vm
Resume a suspended virtual machine from its saved state.
Parameters:
vm (required): VM name or UUIDExample:
Use resume_vm with vm="MyVM"#### reset_vm
Restart a virtual machine (equivalent to pressing the reset button).
Parameters:
vm (required): VM name or UUIDExample:
Use reset_vm with vm="MyVM"#### exec_vm_command
Execute a command inside a running virtual machine.
Parameters:
vm (required): VM name or UUIDcommand (required): Command to executeExample:
Use exec_vm_command with vm="MyVM" and command="ls -la /home"Note: The VM must be running and Parallels Tools must be installed for command execution to work.
prlctlEnsure Parallels Desktop is installed and the command-line tools are in your PATH. You can verify by running:
prlctl --versionlist_vms to see available VMsThe server runs with your user permissions. Ensure you have access to Parallels Desktop and the VMs.
Q: Does this work on Windows or Linux? A: No, this server is macOS-only as it requires Parallels Desktop, which is a macOS application.
Q: Can I use this with other MCP clients besides Claude Desktop? A: Yes! Any MCP-compatible client can use this server.
Q: Is it safe to publish this to npm? A: Yes, but make sure to update the author information and repository URL in package.json before publishing.
Q: How do I find my VM's UUID? A: Use the list_vms tool or run prlctl list -a in the terminal.
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details
For issues and feature requests, please use the GitHub issue tracker.
If you encounter issues:
which prlctlprlctl list -aindex.jsMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.