关于 ESXi MCP Server
ESXi MCP Server 是一个面向 VMware ESXi 与 vCenter 的虚拟机管理服务,通过简单的 REST 风格接口提供虚拟机管理能力。适合需要通过程序或 AI 客户端管理虚拟化环境的运维人员。
主要功能
- 01支持 ESXi 与 vCenter Server 连接
- 02虚拟机创建、克隆、删除与开关机
- 03列出全部虚拟机
- 04CPU、内存、存储与网络性能监控
- 05API Key 认证与 SSL/TLS 支持
- 06支持 YAML、JSON 与环境变量配置
适用场景
- 01通过 AI 客户端批量创建或克隆虚拟机
- 02查看虚拟机的资源使用情况
- 03在测试环境中跳过 SSL 验证进行调试
MCP 相关
该项目是一个基于 MCP 的服务,将虚拟机管理与性能监控能力通过接口提供给 MCP 客户端调用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ESXi MCP 服务
基于 MCP(Model Control Protocol)的 VMware ESXi/vCenter 管理服务,提供用于虚拟机管理的简易 REST API 接口。
功能特性
- 支持连接 ESXi 和 vCenter Server
- 基于 SSE(Server-Sent Events)的实时通信
- 支持 JSON-RPC 的 RESTful API 接口
- API 密钥身份验证
- 完整的虚拟机生命周期管理
- 实时性能监控
- 支持 SSL/TLS 安全连接
- 灵活的配置选项(YAML/JSON/环境变量)
核心功能
- 虚拟机管理
- 创建虚拟机
- 克隆虚拟机
- 删除虚拟机
- 开机/关机操作
- 列出所有虚拟机
- 性能监控
- CPU 使用率
- 内存使用率
- 存储使用率
- 网络流量统计
要求
- Python 3.7+
- pyVmomi
- PyYAML
- uvicorn
- mcp-core(Machine Control Protocol 核心库)
快速开始
- 安装依赖:
pip install pyvmomi pyyaml uvicorn mcp-core
- 创建配置文件
config.yaml:
vcenter_host: "your-vcenter-ip"
vcenter_user: "[email protected]"
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
主要工具接口
- 创建虚拟机
{
"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_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 许可证
参与贡献
欢迎提交 Issues 和 Pull Requests!
更新日志
v0.0.1
- 初始发布
- 基本的虚拟机管理功能
- 支持 SSE 通信
- API 密钥身份验证
- 性能监控
作者
Bright8192
致谢
- VMware pyvmomi 团队
- MCP Protocol 开发团队
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。