M

MCP-ESXi 服务器

基于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 (机器控制协议核心库)

快速开始

  1. 安装依赖项:
pip install pyvmomi pyyaml uvicorn mcp-core
  1. 创建配置文件 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
  1. 运行服务器:
python server.py -c config.yaml

API 接口

认证

所有特权操作都需要先进行认证:

POST /sse/messages Authorization: Bearer your-api-key

主要工具接口

  1. 创建 VM
{ "name": "vm-name", "cpu": 2, "memory": 4096, "datastore": "datastore-name", "network": "network-name" }
  1. 克隆 VM
{ "template_name": "source-vm", "new_name": "new-vm-name" }
  1. 删除 VM
{ "name": "vm-name" }
  1. 电源操作
{ "name": "vm-name" }

资源监控接口

获取 VM 性能数据:

GET vmstats://{vm_name}

配置

参数描述是否必需默认值
vcenter_hostvCenter/ESXi 服务器地址-
vcenter_user登录用户名-
vcenter_password登录密码-
datacenter数据中心名称自动选择第一个
cluster集群名称自动选择第一个
datastore存储名称自动选择最大可用的
network网络名称VM Network
insecure跳过 SSL 验证false
api_keyAPI 访问密钥-
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

安全建议

  1. 生产环境:

    • 使用有效的 SSL 证书
    • 启用 API 密钥认证
    • 设置适当的日志级别
    • 限制 API 访问范围
  2. 测试环境:

    • 设置 insecure: true 以跳过 SSL 验证
    • 使用更详细的日志级别(DEBUG)

许可证

MIT 许可证

贡献

欢迎提交问题和 Pull Requests!

更新日志

v0.0.1

  • 初始发布
  • 基本的 VM 管理功能
  • SSE 通信支持
  • API 密钥认证
  • 性能监控

作者

Bright8192

致谢

  • VMware pyvmomi 团队
  • MCP 协议开发团队

来源