mcpField
E
ESXi MCP Server

ESXi MCP Server

本地服务
github.com/neronain云与基础设施085 周前更新

关于 ESXi MCP Server

ESXi MCP Server 让用户通过 MCP 管理 VMware ESXi 和 vCenter 虚拟机并监控其性能。它支持虚拟机生命周期操作、SSE 通信、API 密钥认证,以及通过 YAML、JSON 或环境变量配置。

主要功能

  1. 01连接 ESXi 和 vCenter
  2. 02创建、克隆、删除及开关虚拟机
  3. 03列出虚拟机
  4. 04监控 CPU、内存、存储和网络
  5. 05SSE 通信与 API 密钥认证
  6. 06支持 YAML、JSON 和环境变量配置

适用场景

  1. 01创建或克隆虚拟机
  2. 02启动、关闭或删除虚拟机
  3. 03查看虚拟机资源使用情况
  4. 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 核心库)

快速开始

  1. 安装依赖:
pip install pyvmomi pyyaml uvicorn mcp-core
  1. 创建配置文件 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
  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_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 许可证

参与贡献

欢迎提交 Issues 和 Pull Requests!

更新日志

v0.0.1
  • 初始发布
  • 基本的虚拟机管理功能
  • 支持 SSE 通信
  • API 密钥身份验证
  • 性能监控

作者

Bright8192

致谢

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。