Get the FREE Ultimate OpenClaw Setup Guide →

vmware

MCP server from davidroman1914/vmware-mcp-server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio davidroman1914-vmware-mcp-server python mcp-server/server.py \
  --env MCP_HOST="127.0.0.1" \
  --env MCP_PATH="/mcp" \
  --env MCP_PORT="8000" \
  --env VCENTER_HOST="your-vcenter-host" \
  --env VCENTER_USER="your-username" \
  --env MCP_TRANSPORT="stdio or sse or http" \
  --env VCENTER_INSECURE="true or false" \
  --env VCENTER_PASSWORD="your-password"

How to use

The VMware MCP Server provides a focused interface to manage VMware vCenter resources via pyvmomi. It exposes a small set of MCP tools to list virtual machines, power them on or off, and create new VMs from templates with full customization. The server supports multiple transport modes (stdio for local tooling, SSE for web clients, and HTTP for API access), making it flexible to integrate with different environments. You can interact with the server using the provided JSON-RPC style tool calls (list_vms, power_on_vm, power_off_vm, create_vm_from_template) and adapt the transport to your workflow. To get started, configure the environment variables for your vCenter connection, choose a transport, and run the server in your preferred mode. The available tools include listing all VMs with details, powering on/off specific VMs by name, and creating new VMs from templates with customizable networking, CPU, memory, and disk settings.

How to install

Prerequisites:

  • Python 3.10+
  • VMware vCenter access
  • Docker (optional, for containerized deployment)
  1. Clone the repository
git clone https://github.com/your-org/davidroman1914-vmware-mcp-server.git
cd davidroman1914-vmware-mcp-server
  1. Set up environment variables Create a .env file from the template (env.example) and fill in your details:
VCENTER_HOST=your-vcenter-host
VCENTER_USER=your-username
VCENTER_PASSWORD=your-password
VCENTER_INSECURE=true  # or false

# MCP Transport Configuration
MCP_TRANSPORT=stdio  # options: stdio, sse, http
MCP_HOST=127.0.0.1
MCP_PORT=8000        # for sse/http modes
MCP_PATH=/mcp           # only for http mode (optional)
  1. Install Python dependencies
# Using Make targets (preferred if available)
make install
# Or manually:
pip install -r requirements.txt
  1. Run locally (stdio mode)
make run
  1. Run with Docker (optional)
make build
make run-docker  # or make run-detached
  1. Test locally
make test

Additional notes

Tips and common issues:

  • Ensure VCENTER_HOST, VCENTER_USER, and VCENTER_PASSWORD are correct and have the necessary permissions in vCenter.
  • If using self-signed certificates, set VCENTER_INSECURE=true to bypass SSL verification.
  • For http or SSE modes, ensure MCP_HOST and MCP_PORT are accessible from your client networks; update MCP_PATH for http mode if needed.
  • The env vars under MCP_TRANSPORT must align with the chosen transport mode (stdio, sse, http).
  • If you encounter vCenter authentication errors, verify that the user has the proper privileges for VM operations.
  • When creating VMs from templates, verify that the template name, datastore, network, and IP settings exist and are accessible in vCenter.
  • Docker deployments expose the same capabilities; use docker-compose or the provided Makefile targets to simplify setup.

Related MCP Servers

Sponsor this space

Reach thousands of developers