vCenter MCP服务器
Spring Boot MCP服务器,将VMware vCenter操作作为AI助手的工具公开。通过vAPI连接;支持资源清册、VM详细信息和VM电源/迁移(具有写权限)。
特性
- vCenter vAPI –基于会话的身份验证,VMware SDK风格的服务
- MCP工具 –集群、资源池、虚拟机、数据中心、主机、数据存储、版本;VM电源和迁移
- Cloud Foundry –使用服务绑定进行部署;可选的 坦祖市场 出版
MCP工具
| 类别 | 工具 |
|---|---|
| 库存 | getClusters, getResourcePoolsInCluster, getVMsInCluster, getVMsInResourcePool, listAllVirtualMachines |
| VM详细信息 | getVMResourceSummary, getVMLocationDetails, getVMResourcePool, getHostVersion |
| 扩展的 | listDataCenters, getVCenterVersion, listDataStoresWithCapacity, listClusterResources, listHosts |
| 电力/迁移 | powerOnVM, powerOffVM, resetVM, restartVM, shutdownVM, migrateVM (需要vCenter写入) |
所有工具都接受友好名称(例如VM名称);如果适用,将返回重复名称警告。
配置
- 环境变量:
VCENTER_HOST,VCENTER_PORT,VCENTER_USERNAME,VCENTER_PASSWORD,VCENTER_INSECURE - CF(中文翻译:穿越火线):使用用户提供的带密钥的服务
host,port,username,password,insecure(参见 部署). - 优先级:VCAP_SERVICES(来自绑定)覆盖env和
application.properties.
______________________________________________________________________
部署
如何运行应用程序(本地或Cloud Foundry)。有关向Tanzu市场发布的信息,请参阅 市场.
本地
export VCENTER_HOST=vcenter.example.com VCENTER_USERNAME=user VCENTER_PASSWORD=pass # etc.
mvn spring-boot:runCloud Foundry
应用程序部署于 没有公共路线 和一个 私人路线 上 apps.internal 因此,它只能在内部网络上访问。
- 目标\
cf api https://api. → cf login → cf target -o -s
- vCenter凭据(用户提供的服务)
cf create-user-provided-service vcenter-service \
-p '{"host":"","port":443,"username":"","password":"
","insecure":true}'- 构建和推送(无公共路线)
mvn clean package -DskipTests
cf push -f manifest.yml --no-route- 私人路线 (这样其他应用程序就可以在内部网络上访问它)
cf map-route vcenter-mcp-server apps.internal --hostname vcenter-mcp-server- 重新启动并验证
cf restage vcenter-mcp-server
cf app vcenter-mcp-server && cf logs vcenter-mcp-server --recent应用程序可在以下网址访问 vcenter-mcp-server.apps.internal;没有公共URL。
______________________________________________________________________
市场(Tanzu平台10.3)
如何 发布 将部署的应用程序作为市场产品, 消耗 它,以及 更新 上市。要求应用程序 部署 第一种(专用网络,没有公共路由)。
发布产品
- 来自回购(with
service.yml目前):
cf publish-service vcenter-mcp-server -f service.yml- 启用访问:
cf enable-service-access vcenter-mcp-service -p standard- 确认:
cf marketplace你应该看看 vcenter mcp服务 (显示名称:vCenter AI Tools)和 标准 计划。
使用该服务
cf create-service vcenter-mcp-service standard my-vcenter-mcp
cf bind-service my-vcenter-mcp
cf restage 绑定的应用程序获取连接详细信息(例如 VCAP_SERVICES)并且可以通过专用网络使用vCenter MCP工具。
更新列表
- 更改描述/计划/元数据:编辑
service.yml,然后运行\
cf publish-service vcenter-mcp-server -f service.yml 再次(和 cf enable-service-access 如果需要)。
- 重新部署应用程序 (新建):关注 部署 (构建、推送
--no-route,绘制路线图,重新开始),然后运行cf publish-service vcenter-mcp-server -f service.yml如果你的平台需要的话。
______________________________________________________________________
建筑(简洁)
- VC企业配置 / VCenterConfigProcessor –
vcenter.*属性和VCAP_SERVICES绑定。 - Vapi客户端 –vAPI会话、WebClient、服务外观(集群、资源池、虚拟机、数据中心、主机、数据存储、设备)。
- VC企业服务 –MCP
@Tool方法; name→ID解析和重复名称警告。 - 端点:
/api/session,/api/vcenter/{cluster|resource-pool|vm|datacenter|host|datastore},/api/appliance/system/version.
安全
- 通过env或CF用户提供的服务绑定获得凭据。
- SSL:
VCENTER_INSECUREfor dev(跳过验证)。 - VM电源和迁移需要vCenter写入权限。
发展
mvn clean package
mvn test
mvn spring-boot:run故障排除
- SSL错误 –设置
VCENTER_INSECURE=true对于dev。 - 身份验证/连接 –检查绑定或环境中的vCenter主机、端口和凭据。
- 日志 –
cf logs vcenter-mcp-server --recent(vAPI调用、配置、会话)。
