vmware-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vm_startC | Start a VMware virtual machine. |
| vm_stopA | Stop a virtual machine. "soft" attempts graceful shutdown, "hard" forces power off. |
| vm_suspendA | Suspend a virtual machine, preserving its current state to disk. Warning: encrypted VMs may not resume via vmrun after suspend — use vm_stop instead if unsure. |
| vm_resetA | Reset (reboot) a virtual machine. "soft" runs shutdown scripts first. |
| vm_pauseB | Pause a running virtual machine without shutting it down. |
| vm_unpauseB | Resume a paused virtual machine. |
| vm_statusB | Get the running status and IP address of a virtual machine. |
| vm_listA | List virtual machines. By default shows only running VMs. Use all=true to include configured VMs from config. |
| vm_get_ipA | Get the IP address of a running virtual machine. |
| guest_run_commandA | Execute a shell command inside the guest VM and return stdout. Uses the appropriate shell based on guest OS type (cmd/bash). Requires guest credentials in config and VMware Tools running in guest. |
| guest_run_programC | Launch a program inside the guest VM. Can run asynchronously with no_wait. Requires full path to the program. |
| file_copy_to_guestA | Copy a file from the host machine to the guest VM. |
| file_copy_from_guestA | Copy a file from the guest VM to the host machine. |
| guest_read_fileA | Read the contents of a file inside the guest VM. Copies to host, reads, then cleans up. |
| guest_file_existsA | Check if a file exists inside the guest VM. |
| guest_directory_existsA | Check if a directory exists inside the guest VM. |
| guest_directory_createB | Create a directory inside the guest VM. |
| guest_delete_fileB | Delete a file inside the guest VM. |
| guest_rename_fileA | Rename or move a file inside the guest VM. |
| guest_list_directoryB | List the contents of a directory inside the guest VM. |
| guest_create_tempfileC | Create a temporary file inside the guest VM and return its path. |
| vm_snapshot_createA | Create a snapshot of a virtual machine. Do not use "/" in snapshot names. Note: may fail on running encrypted VMs due to vmrun limitations — stop the VM first if needed. |
| vm_snapshot_revertA | Revert a VM to a previous snapshot. The VM will be in suspended state after revert. Use auto_start to automatically power it back on. |
| vm_snapshot_listA | List all snapshots of a virtual machine in tree format. |
| vm_snapshot_deleteB | Delete a snapshot from a virtual machine. |
| guest_process_listA | List all running processes inside the guest VM. Requires guest credentials. |
| guest_kill_processA | Kill a process inside the guest VM by its PID. |
| vm_capture_screenA | Capture a screenshot of the VM screen. Returns the image as base64-encoded PNG, or saves to a specified host path. Requires guest credentials in config. |
| guest_type_keystrokesA | Send keystrokes to the guest VM. Useful for GUI automation when combined with vm_capture_screen. Requires macOS Accessibility permission for VMware Fusion in System Settings. |
| vm_read_variableB | Read a variable from the VM state. |
| vm_write_variableC | Write a variable to the VM state. |
| vm_check_toolsA | Check the VMware Tools state in the guest. Returns "unknown", "installed", or "running". |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 32 tools
Most tools are clearly separated by resource area: VM power, snapshots, guest files, guest processes, and VM variables. A few neighboring tools could be confused (vm_status vs vm_get_ip both expose IP, and vm_stop/vm_suspend/vm_pause are all power-management actions), but the descriptions sufficiently distinguish their behaviors.
Names are uniformly snake_case and generally follow a domain-prefixed action pattern (vm_start, guest_read_file, vm_snapshot_create). Minor deviations like file_copy_to_guest/file_copy_from_guest and ordering differences between vm_list and vm_snapshot_list prevent a perfect consistency score.
32 tools is a large surface, exceeding the typical well-scoped range. Some tools are redundant or could be consolidated, such as vm_status/vm_get_ip and guest_read_file/file_copy_from_guest, making the set feel heavier than necessary for its core VM-management purpose.
The tool set covers the operational lifecycle well: VM power control, snapshots, guest command execution, file operations, process management, screen capture/input, variables, and VMware Tools status. The main gaps are VM lifecycle provisioning operations like create/delete/clone and configuration/resource management, which appear to be outside the intended vmrun-style scope.