基于MCP(机器控制协议)的VMware ESXi/vCenter管理服务器,为虚拟机管理提供简单的REST API接口。
virtualization
319 查看 · 2026-07-07 更新
简介
基于MCP(机器控制协议)的VMware ESXi/vCenter管理服务器,为虚拟机管理提供简单的REST API接口。
简介
基于MCP(机器控制协议)的VMware ESXi/vCenter管理服务器,为虚拟机管理提供简单的REST API接口。
ESXi MCP 服务器
基于 MCP(模型控制协议)的 VMware ESXi/vCenter 管理服务器,提供用于虚拟机管理的简单 REST API 接口。
特性
- 支持 ESXi 和 vCenter Server 连接
- 基于 SSE(服务器发送事件)的实时通信
- 支持 JSON-RPC 的 RESTful API 接口
- API 密钥认证
- 完整的虚拟机生命周期管理
- 实时性能监控
- SSL/TLS 安全连接支持
- 灵活的配置选项(YAML/JSON/环境变量)
核心功能
- 虚拟机管理
- 创建 VM
- 克隆 VM
- 删除 VM
- 开关机操作
- 列出所有 VM
- 性能监控
- 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.yaml
API 接口
认证
所有特权操作都需要先进行认证:
POST /sse/messages Authorization: Bearer your-api-key
主要工具接口
- 创建 VM
{ "name": "vm-name", "cpu": 2, "memory": 4096, "datastore": "datastore-name", "network": "network-name" }
- 克隆 VM
{ "template_name": "source-vm", "new_name": "new-vm-name" }
- 删除 VM
{ "name": "vm-name" }
- 电源操作
{ "name": "vm-name" }
资源监控接口
获取 VM 性能数据:
GET vmstats://{vm_name}
配置
| 参数 | 描述 | 是否必需 | 默认值 |
|---|---|---|---|
| vcenter_host | vCenter/ESXi 服务器地址 | 是 | - |
| vcenter_user | 登录用户名 | 是 | - |
| vcenter_password | 登录密码 | 是 | - |
| datacenter | 数据中心名称 | 否 | 自动选择第一个 |
| cluster | 集群名称 | 否 | 自动选择第一个 |
| datastore | 存储名称 | 否 | 自动选择最大可用的 |
| network | 网络名称 | 否 | VM Network |
| insecure | 跳过 SSL 验证 | 否 | false |
| api_key | API 访问密钥 | 否 | - |
| log_file | 日志文件路径 | 否 | 控制台输出 |
| log_level | 日志级别 | 否 | INFO |
环境变量
所有配置项都支持通过环境变量设置,遵循以下命名规则:
- 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
安全建议
-
生产环境:
- 使用有效的 SSL 证书
- 启用 API 密钥认证
- 设置适当的日志级别
- 限制 API 访问范围
-
测试环境:
- 设置 insecure: true 以跳过 SSL 验证
- 使用更详细的日志级别(DEBUG)
许可证
MIT 许可证
贡献
欢迎提交问题和 Pull Requests!
更新日志
v0.0.1
- 初始发布
- 基本的 VM 管理功能
- SSE 通信支持
- API 密钥认证
- 性能监控
作者
Bright8192
致谢
- VMware pyvmomi 团队
- MCP 协议开发团队
来源
- 来源:github
- 链接:https://github.com/bright8192/esxi-mcp-server