A MCP server for managing VMware Workstation Pro VMs via REST API
Project description
VMware Workstation Pro MCP Server
Overview
A Model Context Protocol (MCP) server for managing VMware Workstation Pro virtual machines through its REST API. This server enables seamless integration with AI assistants and other tools that support the MCP standard.
Features
- Host Network Management: Configure and manage virtual networks
- Virtual Machine Management: Create, modify, and delete VMs
- Network Adapter Configuration: Customize VM network settings
- VM Power Control: Start, stop, pause, and reset virtual machines
- Shared Folder Management: Configure shared folders between host and VMs
System Requirements
- VMware Workstation Pro 14+ with REST API enabled
- Python 3.10+
- uv (recommended) or pip
Installation
# Install with uv (recommended)
uv pip install vmware-workstation-pro-mcp-server
# Or install with pip
pip install vmware-workstation-pro-mcp-server
Setup Guide
1. Configure the VMware Workstation Pro REST API
First, set up credentials for the VMware Workstation REST API:
.\vmrest.exe -C
VMware Workstation REST API
Copyright (C) 2018-2025 Broadcom.
All Rights Reserved
vmrest 1.3.1 build-24832109
Username: user
New password:
Retype new password:
Processing...
Credential updated successfully
2. Start the VMware Workstation Pro REST API
Launch the REST API service:
cd "C:\Program Files (x86)\VMware\VMware Workstation"
.\vmrest.exe
VMware Workstation REST API
Copyright (C) 2018-2025 Broadcom.
All Rights Reserved
vmrest 1.3.1 build-24832109
-
Using the VMware Workstation UI while API calls are in progress is not recommended and may yield unexpected results
-
Serving HTTP on 127.0.0.1:8697
-
Press Ctrl+C to stop.
The API service will be available at http://localhost:8697 by default.
3. Configure the MCP Server
Add the following configuration to your MCP client setup:
{
"mcpServers": {
"vmware-workstation-pro": {
"command": "uvx",
"args": ["vmware-workstation-pro-mcp-server"],
"env": {
"VMREST_USER": "your-username",
"VMREST_PASS": "your-password"
}
}
}
}
Available MCP Tools
list_vms
- Description: List all available virtual machines.
- Parameters: None
- Returns: Array of VM objects with their IDs and basic information
get_vm_info
- Description: Retrieve detailed information about a specific VM.
- Parameters:
vm_id(string) — The ID of the virtual machine
- Returns: Detailed VM configuration and status information
power_vm
- Description: Perform a power operation on a VM.
- Parameters:
vm_id(string) — The ID of the virtual machineaction(string) — One of:"on","off","suspend","pause","unpause","reset"
- Returns: Operation status
get_vm_power_state
- Description: Get the current power state of a VM.
- Parameters:
vm_id(string) — The ID of the virtual machine
- Returns: Current power state of the VM
References
- VMware Fusion MCP Server
- FastMCP Documentation
- Model Context Protocol
- uvx
- Fetch Server Example
- VMware Workstation REST API
Star History
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vmware_workstation_pro_mcp_server-0.1.9.tar.gz.
File metadata
- Download URL: vmware_workstation_pro_mcp_server-0.1.9.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1268f19a1af9626958dce76d56eaae5568f6ddc8d6fdfa227cd89187bc198953
|
|
| MD5 |
429173c44a1fe911d468ee7bae74f7f7
|
|
| BLAKE2b-256 |
8f4714545250fbc5bebf05fd58319d92e7a256bf31c0c7744702c02e60a7f37a
|
Provenance
The following attestation bundles were made for vmware_workstation_pro_mcp_server-0.1.9.tar.gz:
Publisher:
workflow.yml on gandli/vmware-workstation-pro-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vmware_workstation_pro_mcp_server-0.1.9.tar.gz -
Subject digest:
1268f19a1af9626958dce76d56eaae5568f6ddc8d6fdfa227cd89187bc198953 - Sigstore transparency entry: 660876058
- Sigstore integration time:
-
Permalink:
gandli/vmware-workstation-pro-mcp-server@e1f5dde175bb16b37a3b772d5632694b84e197ce -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/gandli
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@e1f5dde175bb16b37a3b772d5632694b84e197ce -
Trigger Event:
push
-
Statement type:
File details
Details for the file vmware_workstation_pro_mcp_server-0.1.9-py3-none-any.whl.
File metadata
- Download URL: vmware_workstation_pro_mcp_server-0.1.9-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
284ab9851356a87f9e71f7960e1f3215e2fc912fa43155c3dbe7351b7ae2a566
|
|
| MD5 |
7626c2abefefbbb167e720850aca3f64
|
|
| BLAKE2b-256 |
2775e935e097b5a98a1fd923fabe733d0ea43ff06323c8893b5c87b4340ad8f8
|
Provenance
The following attestation bundles were made for vmware_workstation_pro_mcp_server-0.1.9-py3-none-any.whl:
Publisher:
workflow.yml on gandli/vmware-workstation-pro-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vmware_workstation_pro_mcp_server-0.1.9-py3-none-any.whl -
Subject digest:
284ab9851356a87f9e71f7960e1f3215e2fc912fa43155c3dbe7351b7ae2a566 - Sigstore transparency entry: 660876059
- Sigstore integration time:
-
Permalink:
gandli/vmware-workstation-pro-mcp-server@e1f5dde175bb16b37a3b772d5632694b84e197ce -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/gandli
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@e1f5dde175bb16b37a3b772d5632694b84e197ce -
Trigger Event:
push
-
Statement type: