logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

vmware-fusion-mcp-server

Manage VMware Fusion virtual machines via the Fusion REST API.

Author

vmware-fusion-mcp-server logo

yeahdongcn

MIT License

Quick Info

GitHub GitHub Stars 6
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

vmwarefusionserversvmware fusionyeahdongcn vmwaremanage vmware

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: bash git clone https://github.com/yeahdongcn/vmware-fusion-mcp-server.git cd vmware-fusion-mcp-server

  2. Set up the environment and install dependencies: bash make env


VMware Fusion Setup

  1. Enable the REST API:
  2. Open VMware Fusion > Preferences > Advanced
  3. Check "Enable REST API"
  4. Note the API port (default: 8697)

  5. Start the REST API service: bash 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
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: bash uv pip install uvx

  2. Add to your MCP server config (e.g., .vscode/mcp.json): json { "mcpServers": { "vmware-fusion": { "command": "uvx", "args": ["vmware-fusion-mcp-server"], "env": { "VMREST_USER": "your-username", "VMREST_PASS": "your-password" } } } }

  3. Set VMREST_USER and VMREST_PASS to your vmrest credentials.
  4. 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

See Also

`