mcpField
V
VMware Fusion MCP Server

VMware Fusion MCP Server

Local
github.com/yeahdongcnCloud & Infra9Updated 68w ago

About VMware Fusion MCP Server

VMware Fusion MCP Server lets MCP-compatible clients inspect and control VMware Fusion virtual machines through its REST API. It provides VM details and power operations as MCP tools.

Key features

  1. 01List registered VMs
  2. 02Retrieve VM details
  3. 03Run VM power actions
  4. 04Check VM power state

Use cases

  1. 01Review VMs registered in VMware Fusion
  2. 02Inspect a VM before operating it
  3. 03Power on, pause, suspend, or reset a VM

MCP support

Exposes VMware Fusion VM listing, information, power actions, and state queries as tools for MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"vmware-fusion": {
"command": "uvx",
"args": [
"vmware-fusion-mcp-server"
],
"env": {
"VMREST_USER": "<VMREST_USER>",
"VMREST_PASS": "<VMREST_PASS>"
}
}
}
}
Run commanduvx vmware-fusion-mcp-server
Environment variables to set
VMREST_USER
VMREST_PASS

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypivmware-fusion-mcp-server

Tools

4

Saved tool list · updated 3w ago

This tool takes no parameters.

Details

From the project README

VMware Fusion MCP Server

agentman

PyPI version Python versions GitHub Issues Pepy Total Downloads License


A Model Context Protocol (MCP) server for managing VMware Fusion virtual machines via the Fusion REST API, built with FastMCP.

Repobeats analytics image


Features

Demo

  • 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

  1. Clone the repository:

    git clone https://github.com/yeahdongcn/vmware-fusion-mcp-server.git
    cd vmware-fusion-mcp-server
    
  2. Set up the environment and install dependencies:

    make env
    

VMware Fusion Setup

  1. Enable the REST API:

    • Open VMware Fusion > Preferences > Advanced
    • Check "Enable REST API"
    • Note the API port (default: 8697)
  2. Start the REST API service:

    vmrest
    

    The API will be available at http://localhost:8697 by 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_USER and VMREST_PASS to 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):

  1. Install uvx:

    uv pip install uvx
    
  2. 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_USER and VMREST_PASS to 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 VM
    • action (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 implementation
  • vmware_fusion_mcp/vmware_client.py - VMware Fusion REST API client
  • tests/ - Unit and integration tests

License

MIT License - see LICENSE for details.


Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting: make test && make lint
  5. Submit a pull request

References

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.