README
🚀 ESXi MCP 服务器管理器
ESXi MCP 服务器管理器是一个基于 MCP(模型控制协议)的 VMware ESXi/vCenter 管理服务器,它提供简单的 REST API 接口,可用于高效地管理虚拟机。
🚀 快速开始
安装依赖项
执行以下命令安装所需依赖:
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" # 可选
cluster: "your-cluster" # 可选
datastore: "your-datastore" # 可选
network: "VM Network" # 可选
insecure: true # 忽略 SSL 证书验证
api_key: "your-api-key" # API 访问密钥
log_file: "./logs/vmware_mcp.log" # 日志文件路径
log_level: "INFO" # 日志级别
运行服务器
使用以下命令启动服务器:
python server.py -c config.yaml
✨ 主要特性
- 广泛的连接支持:支持 ESXi 和 vCenter Server 连接。
- 实时通信能力:基于 SSE(服务器发送事件)实现实时通信。
- 灵活的 API 接口:提供 RESTful API 接口,支持 JSON - RPC。
- 安全的认证机制:采用 API 密钥认证。
- 全面的 VM 管理:具备完整的虚拟机生命周期管理功能。
- 实时性能监控:可实时监控虚拟机的 CPU、内存、存储使用率和网络流量。
- 安全连接保障:支持 SSL/TLS 安全连接。
- 多样的配置方式:提供灵活的配置选项,支持 YAML、JSON 或环境变量配置。
📦 安装指南
本项目的运行需要以下依赖:
- Python 3.7+
- pyVmomi
- PyYAML
- uvicorn
- mcp - core(机器控制协议核心库)
💻 使用示例
基础用法
认证
所有特权操作都需要先进行认证,示例如下:
POST /sse/messages
Authorization: Bearer your-api-key
创建 VM
{
"name": "vm-name",
"cpu": 2,
"memory": 4096,
"datastore": "数据存储名称",
"network": "网络名称"
}
克隆 VM
{
"template_name": "源 VM 名称",
"new_name": "新 VM 名称"
}
删除 VM
{
"name": "vm-name"
}
电源操作
{
"name": "vm-name"
}
获取 VM 性能数据
GET vmstats://{vm_name}
📚 详细文档
API 接口
认证
所有特权操作都需要先进行认证,请求示例如下:
POST /sse/messages
Authorization: Bearer your-api-key
主工具接口
- 创建 VM:使用上述 JSON 数据创建虚拟机。
- 克隆 VM:使用上述 JSON 数据克隆虚拟机。
- 删除 VM:使用上述 JSON 数据删除虚拟机。
- 电源操作:使用上述 JSON 数据对虚拟机进行开机/关机操作。
资源监控接口
通过以下请求获取 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
🔧 技术细节
核心功能
虚拟机管理
- 创建 VM
- 克隆 VM
- 删除 VM
- 开机/关机操作
- 列出所有 VM
性能监控
- CPU 使用率
- 内存使用率
- 存储使用率
- 网络流量统计
📄 许可证
本项目采用 MIT License。
贡献
欢迎提出问题和拉取请求!
变更记录
v0.1
- 初始版本发布
知识产权声明
本项目遵守 MIT 许可证,具体内容请参考 LICENSE 文件。
注意:此文档是根据原始内容重新编写的,并未直接从源代码生成。如需引用,请参考官方文档或源代码。
Scan to contact