关于 ESXi MCP Server
ESXi MCP Server 让用户通过 MCP 管理 VMware ESXi 和 vCenter 虚拟机并监控其性能。它支持虚拟机生命周期操作、SSE 通信、API 密钥认证,以及通过 YAML、JSON 或环境变量配置。
主要功能
- 01连接 ESXi 和 vCenter
- 02创建、克隆、删除及开关虚拟机
- 03列出虚拟机
- 04监控 CPU、内存、存储和网络
- 05SSE 通信与 API 密钥认证
- 06支持 YAML、JSON 和环境变量配置
适用场景
- 01创建或克隆虚拟机
- 02启动、关闭或删除虚拟机
- 03查看虚拟机资源使用情况
- 04将 MCP 工作流连接到 ESXi 或 vCenter 管理
MCP 相关
该服务向 MCP 客户端提供 VMware ESXi 和 vCenter 虚拟机管理操作及性能数据,通过 SSE 通信并支持 API 密钥认证。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。