Esxi
FreeNot checkedA VMware ESXi/vCenter management server based on MCP (Model Control Protocol), providing simple REST API interfaces for virtual machine management.
About
A VMware ESXi/vCenter management server based on MCP (Model Control Protocol), providing simple REST API interfaces for virtual machine management.
README
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
- Install dependencies:
pip install pyvmomi pyyaml uvicorn mcp-core
- Create configuration file
config.yaml:
vcenter_host: "your-vcenter-ip"
vcenter_user: "[email protected]"
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
- 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
- Create VM
{
"name": "vm-name",
"cpu": 2,
"memory": 4096,
"datastore": "datastore-name",
"network": "network-name"
}
- Clone VM
{
"template_name": "source-vm",
"new_name": "new-vm-name"
}
- Delete VM
{
"name": "vm-name"
}
- Power Operations
{
"name": "vm-name"
}
Resource Monitoring Interface
Get VM performance data:
GET vmstats://{vm_name}
Configuration
| Parameter | Description | Required | Default |
|---|---|---|---|
| vcenter_host | vCenter/ESXi server address | Yes | - |
| vcenter_user | Login username | Yes | - |
| vcenter_password | Login password | Yes | - |
| datacenter | Datacenter name | No | Auto-select first |
| cluster | Cluster name | No | Auto-select first |
| datastore | Storage name | No | Auto-select largest available |
| network | Network name | No | VM Network |
| insecure | Skip SSL verification | No | false |
| api_key | API access key | No | - |
| log_file | Log file path | No | Console output |
| log_level | Log level | No | INFO |
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
Production Environment:
- Use valid SSL certificates
- Enable API key authentication
- Set appropriate log levels
- Restrict API access scope
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
Installing Esxi
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/bright8192/esxi-mcp-serverFAQ
Is Esxi MCP free?
Yes, Esxi MCP is free — one-click install via Unyly at no cost.
Does Esxi need an API key?
No, Esxi runs without API keys or environment variables.
Is Esxi hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Esxi in Claude Desktop, Claude Code or Cursor?
Open Esxi on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Esxi with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
