Add it to Claude Code
claude mcp add -e "GOVC_URL=${GOVC_URL}" -e "GOVC_USERNAME=${GOVC_USERNAME}" -e "GOVC_PASSWORD=${GOVC_PASSWORD}" vmware-mcp -- docker run --rm -i --env-file .env.docker ghcr.io/2501-ai/vmware-mcpGOVC_URLGOVC_USERNAMEGOVC_PASSWORDMake your agent remember this setup
vmware-mcp's config, env vars, and the gotchas you hit — recalled in every future Claude Code, Cursor, and Codex session.
npx conare@latestFree · one command · indexes the sessions already on disk. Set up in the browser instead →
What it does
- Supports 55 typed tools for comprehensive vSphere management
- VM lifecycle management including creation, cloning, and power control
- Snapshot management for backup and state control
- Datastore navigation and file operations
- Token-efficient output using TOON format with JSON fallback
Tools 5
vm.createCreates a new virtual machine in the vSphere environment.vm.powerControls the power state of a virtual machine.snapshot.createCreates a snapshot of a specified virtual machine.datastore.lsLists files and directories within a datastore.govc_runExecutes an arbitrary govc command.Environment Variables
GOVC_URLrequiredThe URL of the vCenter server.GOVC_USERNAMErequiredUsername for vSphere authentication.GOVC_PASSWORDrequiredPassword for vSphere authentication.Try it
Original README from 2501-ai/vmware-mcp
VMWare MCP
An MCP server that gives AI agents direct access to your VMware vSphere infrastructure. Built on top of `govc`, it exposes 55 typed tools covering VM lifecycle, snapshots, datastores, networking, and more — with additional tools being added over time.
Tool output is formatted in TOON for token-efficient LLM consumption, with automatic JSON fallback.
Available Tools
| Category | Tools |
|---|---|
| Navigation | about, ls, find, tree, events, tasks, logs, logs.ls |
| VM Lifecycle | vm.create, vm.clone, vm.instantclone, vm.destroy, vm.register, vm.unregister, vm.upgrade |
| VM Configuration | vm.change, vm.customize, vm.info, vm.ip, vm.power, vm.migrate, vm.vnc, vm.question |
| VM Disks | vm.disk.create, vm.disk.attach, vm.disk.change, vm.disk.promote |
| VM Networking | vm.network.add, vm.network.change |
| VM Options & Policies | vm.option.info, vm.option.ls, vm.policy.ls, vm.target.info, vm.target.cap.ls, vm.guest.tools |
| Snapshots | snapshot.create, snapshot.remove, snapshot.export, snapshot.tree |
| Datastore | datastore.info, datastore.ls, datastore.cp, datastore.mv, datastore.tail, datastore.disk.info, datastore.cluster.info, datastore.cluster.change, datastore.maintenance.enter, datastore.maintenance.exit |
| Session | session.login, session.logout, session.ls, session.rm |
| vSAN | vsan.info |
| Task | task.cancel |
Plus 3 meta tools: govc_search (fuzzy search across all commands), govc_help (get help for any command), and govc_run (escape hatch for any govc command).
First, copy and fill in your credentials:
cp .env.docker.example .env.docker # edit with your vCenter URL, username & password
Quick Start — Ephemeral
A fresh container per connection, removed when done.
# Docker
docker run --rm -i --env-file .env.docker ghcr.io/2501-ai/vmware-mcp
# Claude Code
claude mcp add vmware-mcp -- docker run --rm -i --env-file .env.docker ghcr.io/2501-ai/vmware-mcp
Quick Start — Persistent
The container runs as a long-lived service. Clients connect via docker exec.
# Docker (once)
docker run -d --name vmware-mcp --restart unless-stopped \
--env-file .env.docker -e MCP_KEEP_ALIVE=true ghcr.io/2501-ai/vmware-mcp
# Claude Code
claude mcp add vmware-mcp -- docker exec -i vmware-mcp vmware-mcp
Restart Claude Code after running
claude mcp add. Tools appear asmcp__vmware-mcp__*. Check status with/mcp.
Quick Start — From Source
git clone https://github.com/2501-ai/vmware-mcp.git
cd vmware-mcp
bun install
cp .env.