ESXi MCP 服务器
基于MCP(模型控制协议)的VMware ESXi/vCenter管理服务器,为虚拟机管理提供简单的REST API接口。
特征
支持 ESXi 和 vCenter Server 连接
基于SSE(Server-Sent Events)的实时通信
具有 JSON-RPC 支持的 RESTful API 接口
API密钥认证
完整的虚拟机生命周期管理
实时性能监控
SSL/TLS 安全连接支持
灵活的配置选项(YAML/JSON/环境变量)
Related MCP server: MCP Server
核心功能
虚拟机管理
创建虚拟机
克隆虚拟机
删除虚拟机
电源开/关操作
列出所有虚拟机
性能监控
CPU 使用率
内存使用情况
存储使用情况
网络流量统计
要求
Python 3.7+
pyVmomi
PyYAML
uvicorn
mcp-core(机器控制协议核心库)
快速入门
安装依赖项:
pip install pyvmomi pyyaml uvicorn mcp-core创建配置文件
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运行服务器:
python server.py -c config.yamlAPI接口
验证
所有特权操作都需要先进行身份验证:
POST /sse/messages
Authorization: Bearer your-api-key主要工具接口
创建虚拟机
{
"name": "vm-name",
"cpu": 2,
"memory": 4096,
"datastore": "datastore-name",
"network": "network-name"
}克隆虚拟机
{
"template_name": "source-vm",
"new_name": "new-vm-name"
}删除虚拟机
{
"name": "vm-name"
}电力运营
{
"name": "vm-name"
}资源监控接口
获取虚拟机性能数据:
GET vmstats://{vm_name}配置
范围 | 描述 | 必需的 | 默认 |
vCenter_主机 | vCenter/ESXi 服务器地址 | 是的 | - |
vCenter_用户 | 登录用户名 | 是的 | - |
vCenter 密码 | 登录密码 | 是的 | - |
数据中心 | 数据中心名称 | 不 | 首先自动选择 |
簇 | 集群名称 | 不 | 首先自动选择 |
数据存储 | 存储名称 | 不 | 自动选择最大可用 |
网络 | 网络名称 | 不 | 虚拟机网络 |
不安全 | 跳过 SSL 验证 | 不 | 错误的 |
api_key | API 访问密钥 | 不 | - |
日志档案 | 日志文件路径 | 不 | 控制台输出 |
日志级别 | 日志级别 | 不 | 信息 |
环境变量
所有配置项都支持环境变量设置,遵循以下命名规则:
VCENTER_HOST
VCENTER_USER
中心密码
数据中心
VCENTER_CLUSTER
VCENTER_DATASTORE
VCENTER_NETWORK
VCENTER_INSECURE
MCP_API_KEY
MCP_LOG_FILE
MCP_LOG_LEVEL
安全建议
生产环境:
使用有效的 SSL 证书
启用 API 密钥认证
设置适当的日志级别
限制 API 访问范围
测试环境:
设置 insecure: true 以跳过 SSL 验证
使用更详细的日志级别(DEBUG)
执照
MIT 许可证
贡献
欢迎提出问题和请求!
变更日志
v0.0.1
初始版本
基本虚拟机管理功能
SSE 通信支持
API密钥认证
性能监控
作者
Bright8192
致谢
VMware pyvmomi 团队
MCP 协议开发团队
Appeared in Searches
- MCP server for remote VM access and data reading
- A tool or server to remotely manage servers using Minecraft's MCP
- A platform for version control and collaboration on software development projects
- Information about Proxmox virtualization and server management
- Information about Docker containerization technology