npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

parallels-mcp

v1.0.0

Published

MCP server for managing Parallels Desktop virtual machines on macOS

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 name
  • get_vm_info - Get detailed VM information (CPU, memory, disk, network)
  • start_vm - Start a VM
  • stop_vm - Stop a VM (with optional force kill)
  • restart_vm - Restart a VM
  • pause_vm - Pause a running VM
  • resume_vm - Resume a paused VM
  • suspend_vm - Suspend a VM (save state to disk)

Snapshot Management

  • create_snapshot - Create a VM snapshot
  • list_snapshots - List all snapshots for a VM
  • revert_snapshot - Revert to a specific snapshot
  • delete_snapshot - Delete a snapshot

Guest Operations

  • exec_in_vm - Execute commands inside the guest OS
  • get_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-mcp

Usage

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 VMs

Start a VM:

Start the Kali Linux VM

Create 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 VM

Clone a VM:

Clone my Windows 11 VM to "Windows 11 Test" as a linked clone

Get VM details:

Show me the details of my Kali Linux VM including IP address

Manual Testing

You can test the MCP server directly:

cd ~/mcp-servers/parallels-mcp
npm run dev

Then in another terminal, you can test it with the MCP inspector:

npx @modelcontextprotocol/inspector node build/index.js

Verify Installation

Check that the server is configured:

claude mcp list

You 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):

  1. Create a companion MCP server for Windows guest operations
  2. Use exec_in_vm as the foundation
  3. Add tools like:
    • run_powershell(vm_id, script) - Execute PowerShell scripts
    • install_chocolatey(vm_id) - Install Chocolatey package manager
    • install_app(vm_id, package) - Install apps via Chocolatey/Winget
    • setup_dev_env(vm_id, stack) - Configure development environments
    • copy_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 repo

This would:

  1. Clone the template VM
  2. Start it
  3. Wait for guest tools
  4. Install Chocolatey
  5. Install the requested packages
  6. Clone the repo
  7. 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 prlctl commands manually

License

ISC