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 | Provenance | |
|---|---|---|---|---|
| esxi_mcp_server-0.2.0.tar.gz | 8.9 kB | Without provenance | 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}
|
Security for esxi-mcp-server 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.