ESXi MCP服务器
基于MCP(模型控制协议)的VMware ESXi/vCenter管理服务器,为虚拟机管理提供简单的REST API接口。
特性
- 支持ESXi和vCenter服务器连接
- 基于SSE(服务器发送事件)的实时通信
- 支持JSON-RPC的RESTful API接口
- API密钥验证
- 完整的虚拟机生命周期管理
- 实时性能监控
- SSL/TLS安全连接支持
- 灵活的配置选项(YAML/JSON/环境变量)
核心功能
- 虚拟机管理
- 创建虚拟机 - 克隆虚拟机 - 删除虚拟机 - 电源开/关操作 - 列出所有虚拟机
- 性能监控
- CPU 使用率 - 内存使用 - 存储使用情况 - 网络流量统计
需求
- Python 3.7+
- pyVmomi
- PyYAML
- 优维康
- mcp核心(机器控制协议核心库)
快速开始
- 安装依赖项:
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"
}资源监控界面
获取VM性能数据:
GET vmstats://{vm_name}配置
| 参数 | 说明 | 必填 | 默认 |
|---|---|---|---|
| vcenter_host | vcenter/ESXi服务器地址 | 是 | - |
| vcenter_user | 登录用户名 | 是 | - |
| vcenter_password | 登录密码 | 是 | - |
| 数据中心 | 数据中心名称 | 否 | 先自动选择 |
| 集群 | 集群名称 | 否 | 先自动选择 |
| 数据存储 | 存储名称 | 否 | 自动选择可用的最大值 |
| 网络 | 网络名称 | 否 | VM网络 |
| 不安全 | 跳过SSL验证 | 否 | false |
| api_key | api访问密钥 | 否 | - |
| log_file | 日志文件路径 | 否 | 控制台输出 |
| log_level | 日志级别 | 否 | 信息 |
环境变量
所有配置项都支持环境变量设置,遵循以下命名规则:
- VCENTER_HOST
- VCENTER_USER
- VCENTER_密码
- VCENTER_tacenter
- VCENTER_集群
- VCENTER_tastore
- VCENTER_NETWORK
- VCENTER_INSECURE
- MCP_API_密钥
- MCP_LOG_FILE
- MCP_LOG_LEVEL
安全建议
- 生产环境:
- 使用有效的SSL证书 - 启用API密钥身份验证 - 设置适当的日志级别 - 限制API访问范围
- 测试环境:
- 设置unsecurity:true跳过SSL验证 - 使用更详细的日志级别(DEBUG)
许可证
MIT许可证
贡献
欢迎问题和拉取请求!
更新日志
v0.0.1
- 初始版本
- 基本VM管理功能
- SSE通信支持
- API密钥验证
- 性能监控
作者
亮度8192
致谢
- VMware pyvmomi团队
- MCP协议开发团队
