Esxi Mcp Server

Esxi Mcp Server

🚀 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 文件。

注意:此文档是根据原始内容重新编写的,并未直接从源代码生成。如需引用,请参考官方文档或源代码。

  • 0 关注
  • 0 收藏,27 浏览
  • system 提出于 2025-10-01 21:00

相似服务问题

相关AI产品