ESXi MCP Server
A VMware ESXi/vCenter management server based on MCP (Model Context Protocol), enabling AI assistants like Claude, Gemini, GPT, and others to directly manage virtual machines via stdio JSON-RPC.
Features
- stdio transport for direct AI assistant integration (Claude Desktop, Cursor, Gemini, etc.)
- ESXi and vCenter Server connections
- API key authentication
- Complete virtual machine lifecycle management
- Real-time performance monitoring
- SSL/TLS secure connection support
- Flexible configuration (YAML/JSON/Environment Variables)
Installation
Option 1: uvx (Recommended)
uvx esxi-mcp-server
MCP config (mcp.json):
{
"mcpServers": {
"esxi-mcp-server": {
"command": "uvx",
"args": ["esxi-mcp-server"],
"env": {
"VCENTER_HOST": "192.168.0.254",
"VCENTER_USER": "administrator@vsphere.local",
"VCENTER_PASSWORD": "your-password",
"VCENTER_INSECURE": "true"
}
}
}
}
Option 2: pip
pip install esxi-mcp-server
esxi-mcp-server
MCP config:
{
"mcpServers": {
"esxi-mcp-server": {
"command": "esxi-mcp-server",
"env": {
"VCENTER_HOST": "192.168.0.254",
"VCENTER_USER": "administrator@vsphere.local",
"VCENTER_PASSWORD": "your-password",
"VCENTER_INSECURE": "true"
}
}
}
}
Option 3: Docker Hub
docker pull tai040502/esxi-mcp-server
MCP config:
{
"mcpServers": {
"esxi-mcp-server": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "VCENTER_HOST=192.168.0.254",
"-e", "VCENTER_USER=administrator@vsphere.local",
"-e", "VCENTER_PASSWORD=your-password",
"-e", "VCENTER_INSECURE=true",
"tai040502/esxi-mcp-server"
]
}
}
}
Available Tools
| Tool | Description |
|---|---|
authenticate |
Authenticate using API key (required if API key is configured) |
list_vms |
List all virtual machines |
create_vm |
Create a new virtual machine |
clone_vm |
Clone a VM from a template or existing VM |
delete_vm |
Delete a virtual machine |
power_on_vm |
Power on a virtual machine |
power_off_vm |
Power off a virtual machine |
get_vm_performance |
Get CPU, memory, storage, and network metrics |
Configuration
All settings can be configured via environment variables:
| Env Variable | Description | Required | Default |
|---|---|---|---|
VCENTER_HOST |
vCenter/ESXi server address | Yes | - |
VCENTER_USER |
Login username | Yes | - |
VCENTER_PASSWORD |
Login password | Yes | - |
VCENTER_DATACENTER |
Datacenter name | No | Auto-select first |
VCENTER_CLUSTER |
Cluster name | No | Auto-select first |
VCENTER_DATASTORE |
Storage name | No | Auto-select largest |
VCENTER_NETWORK |
Network name | No | - |
VCENTER_INSECURE |
Skip SSL verification | No | false |
MCP_API_KEY |
API access key | No | - |
MCP_LOG_FILE |
Log file path | No | stderr |
MCP_LOG_LEVEL |
Log level | No | INFO |
Alternatively, use a YAML or JSON config file:
esxi-mcp-server -c config.yaml
Requirements
- Python 3.11+
- pyvmomi >= 7.0
- pyyaml >= 6.0
- mcp[cli]
License
MIT License
Author
Bright8192
Metadata
Release files for esxi-mcp-server 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| esxi_mcp_server-0.2.0.tar.gz | 8.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| esxi_mcp_server-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.3 kB
Release files / esxi_mcp_server-0.2.0.tar.gz
| Download URL | esxi_mcp_server-0.2.0.tar.gz |
|---|---|
| Size | 8.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
63aa0bb12b3a07b7f94dec2e204f4815d150ffc3f9f6d2dcefb5bfa1655c1e36
|
|
BLAKE2b-256 checksum How to use checksums |
960cb6679ae9fa1cc79f627cc3785e0a91b62f97c2618a1a152b58a41dac51ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / esxi_mcp_server-0.2.0-py3-none-any.whl
| Download URL | esxi_mcp_server-0.2.0-py3-none-any.whl |
|---|---|
| Size | 9.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ef53403f771099aba285da9314c2f25000243e73c2eaef4c6ddf292bc95efd20
|
|
BLAKE2b-256 checksum How to use checksums |
350f54917b7262b928e41e512e52a175cf1a248cc252d2a5bc6baff24db457c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|