Esxi MCP Server

Community Other

VMware ESXi and vCenter virtual machine management via a REST API.

What can you do with Esxi MCP Server?

  • Support for ESXi and vCenter Server connections
  • Real-time communication based on SSE (Server-Sent Events)
  • RESTful API interface with JSON-RPC support
  • API key authentication
  • Complete virtual machine lifecycle management
  • Real-time performance monitoring
  • SSL/TLS secure connection support
  • Flexible configuration options (YAML/JSON/Environment Variables)

Install

The installation steps are in the documentation below. Documentation

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. ESXi MCP Server
  2. Features
  3. Core Functions
  4. Requirements
  5. Quick Start
  6. API Interface
  7. Configuration
  8. Environment Variables
  9. Security Recommendations
  10. License
  11. Contributing
  12. Changelog
  13. Author
  14. Acknowledgments

ESXi MCP Server

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

Features

  • Support for ESXi and vCenter Server connections
  • Real-time communication based on SSE (Server-Sent Events)
  • RESTful API interface with JSON-RPC support
  • API key authentication
  • Complete virtual machine lifecycle management
  • Real-time performance monitoring
  • SSL/TLS secure connection support
  • Flexible configuration options (YAML/JSON/Environment Variables)

Core Functions

  • Virtual Machine Management
    • Create VM
    • Clone VM
    • Delete VM
    • Power On/Off operations
    • List all VMs
  • Performance Monitoring
    • CPU usage
    • Memory usage
    • Storage usage
    • Network traffic statistics

Requirements

  • Python 3.7+
  • pyVmomi
  • PyYAML
  • uvicorn
  • mcp-core (Machine Control Protocol core library)

Quick Start

  1. Install dependencies:
pip install pyvmomi pyyaml uvicorn mcp-core
  1. Create configuration file config.yaml:
vcenter_host: "your-vcenter-ip"
vcenter_user: "administrator@vsphere.local"
vcenter_password: "your-password"
datacenter: "your-datacenter"        # Optional
cluster: "your-cluster"              # Optional
datastore: "your-datastore"          # Optional
network: "VM Network"                # Optional
insecure: true                       # Skip SSL certificate verification
api_key: "your-api-key"             # API access key
log_file: "./logs/vmware_mcp.log"   # Log file path
log_level: "INFO"                    # Log level
  1. Run the server:
python server.py -c config.yaml

API Interface

Authentication

All privileged operations require authentication first:

POST /sse/messages
Authorization: Bearer your-api-key
Main Tool Interfaces
  1. Create VM json { "name": "vm-name", "cpu": 2, "memory": 4096, "datastore": "datastore-name", "network": "network-name" }
  2. Clone VM json { "template_name": "source-vm", "new_name": "new-vm-name" }
  3. Delete VM json { "name": "vm-name" }
  4. Power Operations json { "name": "vm-name" }
Resource Monitoring Interface

Get VM performance data:

GET vmstats://{vm_name}

Configuration

ParameterDescriptionRequiredDefault
vcenter_hostvCenter/ESXi server addressYes-
vcenter_userLogin usernameYes-
vcenter_passwordLogin passwordYes-
datacenterDatacenter nameNoAuto-select first
clusterCluster nameNoAuto-select first
datastoreStorage nameNoAuto-select largest available
networkNetwork nameNoVM Network
insecureSkip SSL verificationNofalse
api_keyAPI access keyNo-
log_fileLog file pathNoConsole output
log_levelLog levelNoINFO

Environment Variables

All configuration items support environment variable settings, following these naming rules:

  • VCENTER_HOST
  • VCENTER_USER
  • VCENTER_PASSWORD
  • VCENTER_DATACENTER
  • VCENTER_CLUSTER
  • VCENTER_DATASTORE
  • VCENTER_NETWORK
  • VCENTER_INSECURE
  • MCP_API_KEY
  • MCP_LOG_FILE
  • MCP_LOG_LEVEL

Security Recommendations

  1. Production Environment:
    • Use valid SSL certificates
    • Enable API key authentication
    • Set appropriate log levels
    • Restrict API access scope
  2. Testing Environment:
    • Set insecure: true to skip SSL verification
    • Use more detailed log level (DEBUG)

License

MIT License

Contributing

Issues and Pull Requests are welcome!

Changelog

v0.0.1
  • Initial release
  • Basic VM management functionality
  • SSE communication support
  • API key authentication
  • Performance monitoring

Author

Bright8192

Acknowledgments

  • VMware pyvmomi team
  • MCP Protocol development team

Frequently asked questions

What is Esxi MCP Server?

VMware ESXi and vCenter virtual machine management via a REST API.

How do I install Esxi MCP Server?

Follow the installation steps in its documentation, shown on this page and in its repository.

Is Esxi MCP Server open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Esxi MCP Server?

It is published by bright8192. AI.tn lists it but does not maintain or endorse it.

From the community awesome-mcp-servers lists and the project's GitHub repository. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.