VMware Fusion MCP Server
Includes GitHub integration for repository management, displaying project analytics via Repobeats, and hosting project assets.
Integrates with PyPI for package distribution and version management, allowing users to install the server directly from the Python Package Index.
Provides tools for managing VMware Fusion virtual machines via the Fusion REST API, enabling operations such as listing VMs, retrieving VM details, performing power actions (on, off, suspend, pause, unpause, reset), and querying VM power states.
Features YouTube integration for demonstration videos, with embedded video content showing the server's capabilities.
Click on "Deploy 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 Fusion MCP Server list all my virtual machines"
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 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.
Related MCP server: OpenAPI MCP Server
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-serverSet 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 runWith uvx (recommended for VS Code/LLM)
VMREST_USER=your-username VMREST_PASS=your-password uvx vmware-fusion-mcp-serverVS Code / LLM Integration
To use this server as a tool provider in VS Code (or any MCP-compatible client):
Install uvx:
uv pip install uvxAdd 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.
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 testFormat Code
make fmtLint
make lintProject 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 lintSubmit a pull request
References
Available Tools
4 toolsget_vm_infoB
Get detailed information about a specific VM.
Inputs: vm_id (required). Returns: object
get_vm_power_stateB
Get the power state of a specific VM.
Inputs: vm_id (required). Returns: object
list_vmsB
List all VMs in VMware Fusion.
Inputs: no named parameters. Returns: object
power_vmA
Perform a power action on a VM. Valid actions are 'on', 'off', 'shutdown', 'suspend', 'pause', 'unpause'.
Inputs: vm_id (required), action (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: get_vm_info retrieves detailed VM data, get_vm_power_state focuses only on power status, list_vms enumerates all VMs, and power_vm performs power operations. There is no overlap or ambiguity between these functions.
All tool names follow a consistent verb_noun pattern with snake_case: get_vm_info, get_vm_power_state, list_vms, and power_vm. The naming is predictable and uniform throughout the set.
With 4 tools, the count is reasonable for basic VM management, covering listing, info retrieval, power state checks, and power actions. It might be slightly thin for advanced operations like configuration changes, but it's well-scoped for core functionality.
The tools cover core VM operations (list, info, power state, power actions), but there are notable gaps for a full VM management domain, such as creating/deleting VMs, modifying settings, or handling snapshots. Agents can perform basic tasks but may hit dead ends for more complex workflows.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
A Model Context Protocol server for Wix AI tools
Related MCP Servers
- FlicenseAqualityFmaintenanceA Model Context Protocol server that enables Docker container management through natural language interactions using a custom GPT interface.715-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol Server that enables LLMs to interact with and execute REST API calls through natural language prompts, supporting GET/PUT/POST/PATCH operations on configured APIs.6Apache 2.0
- AlicenseCqualityDmaintenanceA Model Context Protocol server for the Hetzner Cloud API that enables natural language management of cloud infrastructure. Users can list, create, and modify servers, networks, volumes, and load balancers through MCP-compatible clients.67352 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server for VMware vSphere/vCenter operations, enabling natural language control of VMs, hosts, and infrastructure.Apache 2.0