VMware MCP Server
Manages VMware Workstation virtual machines via the vmrest REST API, providing tools for VM lifecycle (list, detail, power state control) and snapshot operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VMware MCP Serverlist all VMs on my-pc"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VMware MCP Server
MCP server for managing VMware Workstation virtual machines. It exposes VM lifecycle, power, health, and snapshot operations as MCP tools that can be consumed by any MCP-compatible AI assistant.
It talks to VMware Workstation through two backends:
vmrest.exe(HTTP REST API) — used for listing VMs, power control, configuration, network info, and health checks. Can be local or remote.vmcli.exe(local binary) — used for snapshot queries, which the REST API does not expose. Local-only: snapshot tools require the server to run on the same host as VMware Workstation.
Available Tools
Tool | Backend | Description |
| vmrest | List all VMs with id, path, name, power state, and IP |
| vmrest | Detailed config, power state, and network info for a VM |
| vmrest | Current power state of a VM |
| vmrest | Power operations: on, off, shutdown, suspend, pause, unpause |
| vmrest | Verify the server can reach and authenticate against vmrest |
| vmcli | List a VM's snapshots (uid, name, parent, current). Local-only. |
Related MCP server: proxmox-mcp
Prerequisites
Python >= 3.11
VMware Workstation Pro 17+ with the REST API service enabled (
vmrest.exerunning on port 8697 by default)vmcli.exe(bundled with VMware Workstation) — required only for the snapshot tool, and only when the server runs on the same host as Workstationuv (recommended) or
pip
Quick Start
# Clone / open the project directory
cd VMwareMCP
# Create a virtual environment and install
uv venv
uv pip install -e .
# Configure the vmrest host (use your Windows credentials)
export VMREST_HOST=localhost
export VMREST_USERNAME=your_username
export VMREST_PASSWORD=your_password
# Run the server
uv run vmware-mcpEnvironment Variables
Variable | Required | Default | Description |
| Yes | — | Hostname or IP address of the vmrest host |
| No |
| vmrest API port |
| Yes | — | Windows username (Basic Auth) |
| Yes | — | Windows password (Basic Auth) |
| No |
| Verify self-signed certificate |
| No |
| Path to |
Example
# Using a .env file (copy .env.example to .env)
VMREST_HOST=localhost
VMREST_PORT=8697
VMREST_USERNAME=Admin
VMREST_PASSWORD=secret
VMCLI_PATH=C:\Program Files (x86)\VMware\VMware Workstation\vmcli.exeTransport
The server defaults to streamable-http on port 51001.
Server URL:
http://localhost:51001/mcpOverride with
--transport stdiofor stdio mode
MCP Client Configuration
streamable-http (default)
{
"mcpServers": {
"vmware": {
"url": "http://localhost:51001/mcp"
}
}
}stdio
{
"mcpServers": {
"vmware": {
"command": "uv",
"args": ["run", "vmware-mcp", "--transport", "stdio"]
}
}
}Verifying the Setup
Ensure
vmrest.exeis running: browse tohttp://localhost:8697/api/vms.Start the server:
uv run vmware-mcp.Connect your MCP client to
http://localhost:51001/mcp.Call
check_server_healthfirst — it confirms connectivity and auth before you run other operations.
Notes on IDs vs Paths
list_vmsreturns both an opaqueidand the.vmxfilesystempath.Pass the
idto all tools (includingget_vm_snapshots). The snapshot tool automatically resolves theidto the.vmxpath via the vmrest API before invokingvmcli.exe— you never need to supply a path manually.
Project Structure
VMwareMCP/
├── src/vmware_mcp/
│ ├── server.py # FastMCP server entry point + client accessors
│ ├── vmrest_client.py # HTTP client for the vmrest REST API
│ ├── vmcli_client.py # Subprocess client for the local vmcli.exe binary
│ ├── models.py # Pydantic data models
│ ├── config.py # Environment-based configuration
│ └── modules/
│ ├── vm.py # VM list and detail tools
│ ├── power.py # Power state query and control tools
│ ├── health.py # Server/backend health check tool
│ └── snapshot.py # Snapshot listing tool (via vmcli)
├── project-knowledge/ # Detailed architecture & contributor docs
├── pyproject.toml
└── README.mdFor deeper architecture, setup, and contribution details, see the
project-knowledge/ directory.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceAI-powered VMware vCenter/ESXi monitoring and operations. 20 MCP tools for inventory queries, health monitoring, VM lifecycle management, fast provisioning (Linked Clone, OVA, template deploy), snapshot management, and datastore browsing. Supports vSphere 6.5–8.0. Works with local models via Ollama/LM Studio.24468MIT
- Alicense-qualityDmaintenanceEnables AI assistants to manage Proxmox VE virtual machines via MCP and OpenAPI, supporting operations like start, stop, clone, and snapshot.6MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage VMware Fusion virtual machines on macOS using the vmrun CLI, including starting, stopping, and snapshot operations.14MIT
- AlicenseBqualityBmaintenanceA stdio MCP server that controls VMware Workstation via vmrun, enabling VM lifecycle management and snapshot operations.14MIT
Related MCP Connectors
Provision and manage a VPS for AI agents over MCP: register, order, get root, control the server.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pixellover1433/VMwareMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server