Get the FREE Ultimate OpenClaw Setup Guide →

esxi

A VMware ESXi/vCenter management server based on MCP (Model Control Protocol), providing simple REST API interfaces for virtual machine management.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio bright8192-esxi-mcp-server python server.py -c config.yaml \
  --env INSECURE="Skip SSL verification (true/false)" \
  --env MCP_API_KEY="API access key" \
  --env MCP_LOG_FILE="Log file path" \
  --env VCENTER_HOST="vCenter/ESXi server address" \
  --env VCENTER_USER="Login username" \
  --env MCP_LOG_LEVEL="Log level" \
  --env VCENTER_CLUSTER="Cluster name (optional)" \
  --env VCENTER_NETWORK="Network name (optional)" \
  --env VCENTER_PASSWORD="Login password" \
  --env VCENTER_DATASTORE="Datastore name (optional)" \
  --env VCENTER_DATACENTER="Datacenter name (optional)"

How to use

This ESXi MCP Server provides a REST API interface with real-time SSE updates to manage VMware vCenter/ESXi environments. It supports creating, cloning, deleting, and powering virtual machines, along with performance monitoring for CPU, memory, storage, and network. Authentication is enforced via API keys, and the server can stream live events to clients. To get started, configure the YAML file with connection details to your vCenter/ESXi host, HTTP API key, and optional parameters (datacenter, cluster, datastore, network). Run the server and access the REST endpoints to manage VMs and retrieve running metrics. The server uses SSE for real-time updates and exposes JSON-RPC-like operations for VM lifecycle management, as well as a dedicated VM stats interface.

How to install

Prerequisites:

  • Python 3.7+
  • pip (Python package manager)
  • Access to a VMware vCenter/ESXi host

Installation steps:

  1. Create a virtual environment (optional but recommended): python -m venv venv source venv/bin/activate # On Windows use: venv\Scripts\activate

  2. Install required Python packages: pip install pyvmomi pyyaml uvicorn mcp-core

  3. Prepare configuration file (config.yaml) with vCenter/ESXi connection details and runtime options (see README for fields).

  4. Run the server: python server.py -c config.yaml

  5. Verify startup logs and access the API endpoints to manage VMs and monitor performance.

Additional notes

Notes and tips:

  • The server supports SSL verification skipping via the insecure flag in the config (default false). When running in production, enable proper SSL certificates.
  • You can override configuration via environment variables (VCENTER_HOST, VCENTER_USER, VCENTER_PASSWORD, MCP_API_KEY, etc.).
  • Ensure that the API key used for authentication has the required permissions for VM lifecycle operations and metrics access.
  • Logs can be directed to a file by setting log_file in config.yaml or via MCP_LOG_FILE env var; adjust log_level for debugging (DEBUG, INFO, WARNING, ERROR).
  • The REST API offers create, clone, delete, and power operations, plus a VM stats endpoint (vmstats://{vm_name}) for performance data. Use SSE (via /sse/messages) to receive real-time updates.
  • If you encounter SSL certificate issues with vCenter, either supply a valid certificate bundle or enable insecure mode during testing (not recommended for production).

Related MCP Servers

Sponsor this space

Reach thousands of developers