mcvsphere/README_ZH.md
2025-03-13 17:22:21 +08:00

3.7 KiB
Raw Permalink Blame History

ESXi MCP Server

一个基于 MCP (Model Control Protocol) 的 VMware ESXi/vCenter 管理服务器,提供简单的 REST API 接口来管理虚拟机。

功能特性

  • 支持 ESXi 和 vCenter Server 连接
  • 提供基于 SSE (Server-Sent Events) 的实时通信
  • RESTful API 接口,支持 JSON-RPC
  • 支持 API 密钥认证
  • 完整的虚拟机生命周期管理
  • 实时性能监控
  • 支持 SSL/TLS 安全连接
  • 灵活的配置选项YAML/JSON/环境变量)

主要功能

  • 虚拟机管理
    • 创建虚拟机
    • 克隆虚拟机
    • 删除虚拟机
    • 开机/关机操作
    • 列出所有虚拟机
  • 性能监控
    • CPU 使用率
    • 内存使用情况
    • 存储空间使用
    • 网络流量统计

安装要求

  • Python 3.7+
  • pyVmomi
  • PyYAML
  • uvicorn
  • mcp-core (Machine Control Protocol 核心库)

快速开始

  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"        # 可选
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"                    # 日志级别
  1. 运行服务器:
python server.py -c config.yaml

API 接口

认证

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

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

主要工具接口

  1. 创建虚拟机
{
    "name": "vm-name",
    "cpu": 2,
    "memory": 4096,
    "datastore": "datastore-name",
    "network": "network-name"
}
  1. 克隆虚拟机
{
    "template_name": "source-vm",
    "new_name": "new-vm-name"
}
  1. 删除虚拟机
{
    "name": "vm-name"
}
  1. 电源操作
{
    "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

安全建议

  1. 生产环境建议:

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

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

许可证

MIT License

贡献指南

欢迎提交 Issue 和 Pull Request

更新日志

v0.0.1

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

作者

Bright8192

致谢

  • VMware pyvmomi 团队
  • MCP Protocol 开发团队