Skip to content

Dyspel/vmware_workstation_mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

VMware Workstation MCP Server

MCP server for controlling VMware Workstation VMs on Linux. Works with Claude Code, Claude Desktop, or any MCP client.

Setup

pip install "mcp[cli]"

Add to ~/.claude.json (or use claude mcp add):

{
  "mcpServers": {
    "vmware": {
      "command": "python3",
      "args": ["/path/to/vmware_mcp.py"]
    }
  }
}

Serial console

To enable send_text / read_serial, configure the VM's serial port in the .vmx file:

serial0.fileType = "network"
serial0.fileName = "telnet://127.0.0.1:4321"
serial0.present = "TRUE"
serial0.yieldOnMsrRead = "TRUE"

The guest OS must poll COM1 for input.

Tools (34)

VM Inventory

Tool Description
list_running_vms List running VMs
list_all_vms Discover all VMs on the system
get_vm_info Detailed VM config (CPU, RAM, disks, NICs)

Power Management

Tool Description
start_vm Power on (gui or nogui)
stop_vm Power off (soft/hard)
suspend_vm Suspend to disk
reset_vm Reboot
pause_vm / unpause_vm Pause/resume

Snapshots

Tool Description
list_snapshots List all snapshots
create_snapshot Create a named snapshot
revert_to_snapshot Revert to a snapshot
delete_snapshot Delete a snapshot

Screen Capture

Tool Description
capture_screen Screenshot via X11 window capture (no Tools needed), saves to ~/Desktop/

Serial Console

Tool Description
send_text Send text to VM console, returns response
read_serial Read last N chars from captured serial output
read_new_serial Read only new output since last read

The server maintains a persistent serial connection with a 64KB ring buffer that captures all VM output in the background.

Guest Operations (require VMware Tools)

Tool Description
get_guest_ip Get guest IP address
run_program_in_guest Execute a program
run_script_in_guest Execute a script
list_processes_in_guest List processes
kill_process_in_guest Kill a process
copy_file_to_guest Host -> guest file copy
copy_file_from_guest Guest -> host file copy
list_directory_in_guest List directory contents
file_exists_in_guest Check if file exists

Other

Tool Description
add_shared_folder / remove_shared_folder Manage shared folders
clone_vm Clone a VM (full or linked)
install_tools / check_tools_state VMware Tools management
read_variable / write_variable VM variables

Requirements

  • VMware Workstation Pro (Linux)
  • vmrun in PATH
  • Python 3.10+
  • xdotool + ImageMagick (for capture_screen)
  • Guest serial input support (for send_text)

About

MCP server for VMware Workstation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages