About VMware Fusion
VMware Fusion is an MCP server published by yeahdongcn in the Developer Tools category: a MCP Server for Managing VMware Fusion Virtual Machines.
The repository has 9 stars and 3 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/yeahdongcn/vmware-fusion-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about VMware Fusion
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository yesterday. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
VMware Fusion MCP Server
A Model Context Protocol (MCP) server for managing VMware Fusion virtual machines via the Fusion REST API, built with FastMCP.
Features
- List VMs: View all VMs registered in VMware Fusion.
- Get VM Info: Retrieve detailed information about a specific VM.
- Power Operations: Perform power actions (on, off, suspend, pause, unpause, reset) on a VM.
- Get Power State: Query the current power state of a VM.
- Modern MCP/LLM Integration: Exposes all features as MCP tools for LLMs and agent frameworks.
Prerequisites
- VMware Fusion Pro (with REST API enabled)
- Python 3.10+
- uv (recommended) or pip
- uvx (for VS Code/LLM integration)
Installation
-
Clone the repository:
git clone https://github.com/yeahdongcn/vmware-fusion-mcp-server.git cd vmware-fusion-mcp-server -
Set up the environment and install dependencies:
make env
VMware Fusion Setup
-
Enable the REST API:
- Open VMware Fusion > Preferences > Advanced
- Check "Enable REST API"
- Note the API port (default: 8697)
-
Start the REST API service:
vmrestThe API will be available at
http://localhost:8697by default.
Configuration
The server connects to VMware Fusion's REST API at http://localhost:8697 by default. You must configure authentication for the vmrest API using environment variables:
VMREST_USER: Username for the vmrest API (required if authentication is enabled)VMREST_PASS: Password for the vmrest API (required if authentication is enabled)
These must be set in your shell, in your VS Code MCP config, or in your deployment environment.
Example: MCP server config for VS Code with credentials
{
"mcpServers": {
"vmware-fusion": {
"command": "uvx",
"args": ["vmware-fusion-mcp-server"],
"env": {
"VMREST_USER": "your-username",
"VMREST_PASS": "your-password"
}
}
}
}
- Set
VMREST_USERandVMREST_PASSto your vmrest credentials.
Usage
Run the MCP Server
With Make
VMREST_USER=your-username VMREST_PASS=your-password make run
With uvx (recommended for VS Code/LLM)
VMREST_USER=your-username VMREST_PASS=your-password uvx vmware-fusion-mcp-server
VS Code / LLM Integration
To use this server as a tool provider in VS Code (or any MCP-compatible client):
-
Install uvx:
uv pip install uvx -
Add to your MCP server config (e.g.,
.vscode/mcp.json):{ "mcpServers": { "vmware-fusion": { "command": "uvx", "args": ["vmware-fusion-mcp-server"], "env": { "VMREST_USER": "your-username", "VMREST_PASS": "your-password" } } } }- Set
VMREST_USERandVMREST_PASSto your vmrest credentials. - You can now use the VMware Fusion tools in any MCP-enabled LLM or agent in VS Code.
- Set
MCP Tools
list_vms
- Description: List all VMs in VMware Fusion.
- Parameters: None
get_vm_info
- Description: Get detailed information about a specific VM.
- Parameters:
vm_id(string): The ID of the VM
power_vm
- Description: Perform a power action on a VM.
- Parameters:
vm_id(string): The ID of the VMaction(string): One of: "on", "off", "suspend", "pause", "unpause", "reset"
get_vm_power_state
- Description: Get the power state of a specific VM.
- Parameters:
vm_id(string): The ID of the VM
Development
Run Tests
make test
Format Code
make fmt
Lint
make lint
Project Structure
vmware_fusion_mcp/server.py- Main FastMCP server implementationvmware_fusion_mcp/vmware_client.py- VMware Fusion REST API clienttests/- Unit and integration tests
License
MIT License - see LICENSE for details.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests and linting:
make test && make lint - Submit a pull request
References
README fetched from the repository yesterday. The original is authoritative.
