ESXi MCP Server

ESXi MCP Server

镜子 (jìng zi)

MCP-Mirror

虚拟化
访问服务器

README

ESXi MCP 服务器

一个基于 MCP (模型控制协议) 的 VMware ESXi/vCenter 管理服务器,提供简单的 REST API 接口用于虚拟机管理。

功能特性

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

核心功能

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

环境要求

  • Python 3.7+
  • pyVmomi
  • PyYAML
  • uvicorn
  • mcp-core (机器控制协议核心库)

快速开始

  1. 安装依赖:
pip install pyvmomi pyyaml uvicorn mcp-core
  1. 创建配置文件 config.yaml:
vcenter_host: "你的-vcenter-ip"
vcenter_user: "administrator@vsphere.local"
vcenter_password: "你的-密码"
datacenter: "你的-数据中心"        # 可选
cluster: "你的-集群"              # 可选
datastore: "你的-数据存储"          # 可选
network: "VM Network"                # 可选
insecure: true                       # 跳过 SSL 证书验证
api_key: "你的-api-密钥"             # API 访问密钥
log_file: "./logs/vmware_mcp.log"   # 日志文件路径
log_level: "INFO"                    # 日志级别
  1. 运行服务器:
python server.py -c config.yaml

API 接口

认证

所有特权操作都需要先进行身份验证:

POST /sse/messages
Authorization: Bearer 你的-api-密钥

主要工具接口

  1. 创建虚拟机
{
    "name": "虚拟机-名称",
    "cpu": 2,
    "memory": 4096,
    "datastore": "数据存储-名称",
    "network": "网络-名称"
}
  1. 克隆虚拟机
{
    "template_name": "源-虚拟机",
    "new_name": "新-虚拟机-名称"
}
  1. 删除虚拟机
{
    "name": "虚拟机-名称"
}
  1. 电源操作
{
    "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 许可证

贡献

欢迎提交 Issues 和 Pull Requests!

更新日志

v0.0.1

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

作者

Bright8192

鸣谢

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

推荐服务器

Brev

Brev

在云端运行、构建、训练和部署机器学习模型。

官方
本地
Python
metoro-mcp-server

metoro-mcp-server

使用LLM查询和交互由Metoro监控的Kubernetes环境。查看APM、指标、追踪和性能分析信息。

官方
本地
Go
MCP2Lambda

MCP2Lambda

通过 MCP 协议,人工智能模型能够与 AWS Lambda 函数交互,从而在安全的环境中访问私有资源、实时数据和自定义计算。

官方
Python
mcp-k8s-go

mcp-k8s-go

这个项目旨在成为一个连接到 Kubernetes 的 MCP 服务器,同时也是一个用于为 Kubernetes 中任何自定义资源构建更多服务器的库。

本地
Go
Sandbox MCP Server

Sandbox MCP Server

为代码执行提供隔离的 Docker 环境,使用户能够创建和管理容器、执行多语言代码、保存和重现开发环境,从而确保安全性和隔离性。

本地
Python
Room MCP

Room MCP

一个命令行工具,可以使用 Room 协议启用 MCP,允许代理创建点对点虚拟房间并进行交互,以实现目标导向的协作。

本地
JavaScript
MCP 3D Printer Server

MCP 3D Printer Server

通过 MCP 服务器实现与 3D 打印机管理系统的交互,支持 STL 文件操作、切片以及对 OctoPrint、Klipper、Duet 等打印机的控制。

本地
TypeScript
MCP Server Template

MCP Server Template

一个用于在 TypeScript 中创建模型上下文协议 (MCP) 服务器的模板,提供诸如基于容器的依赖注入、基于服务的架构以及与 LLM CLI 的集成等功能,以便通过自然语言获得架构设计反馈。

本地
TypeScript
Ollama MCP Server

Ollama MCP Server

一个桥梁,能够将 Ollama 的本地 LLM 功能无缝集成到 MCP 驱动的应用程序中,允许用户在本地管理和运行 AI 模型,并提供完整的 API 覆盖。

本地
JavaScript
MCP Code Executor

MCP Code Executor

允许大型语言模型 (LLM) 在指定的 Conda 环境中执行 Python 代码,从而能够访问必要的库和依赖项,以实现高效的代码执行。

本地
JavaScript