A VMware ESXi/vCenter management server
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides ESXi and vCenter Server integration for complete virtual machine lifecycle management (create, clone, delete, power operations), real-time performance monitoring (CPU, memory, storage, network), and server management through a RESTful API interface.
Supports YAML as a configuration format for defining server settings, connection parameters, and authentication details.
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
- Install dependencies:
- Create configuration file
config.yaml
:
- Run the server:
API Interface
Authentication
All privileged operations require authentication first:
Main Tool Interfaces
- Create VM
- Clone VM
- Delete VM
- Power Operations
Resource Monitoring Interface
Get VM performance data:
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
This server cannot be installed
A VMware ESXi/vCenter management server based on MCP (Machine Control Protocol), providing simple REST API interfaces for virtual machine management.
- Features
- Core Functions
- Requirements
- Quick Start
- API Interface
- Configuration
- Environment Variables
- Security Recommendations
- License
- Contributing
- Changelog
- Author
- Acknowledgments