虚拟机管理协议

Nutanix Prism Central API交互的MCP服务器,提供虚拟机管理、子网查询等功能,支持Kubernetes部署。

  • by leejunsu249
  • Go
  • 云端部署
  • 更新于
在 GitHub 查看 leejunsu249/nutanix-mcp

使用说明

MCP Nutanix

与Nutanix Prism Central API交互的Model Context Protocol(MCP)服务器。

  1. 连接到Prism Central实例
  2. 虚拟机管理(查看列表、创建、开机、扩展资源)
  3. Subnet查询

认证设置

服务器支持通过MCP提示符进行交互式身份验证。

服务器模式

SSE服务器模式

SERVER_MODE=sse 或 SERVER_PORT设置后,将以SSE模式运行并提供HTTP端点:

  • GET /sse -SSE端点
  • POST /message -MCP消息端点

环境变量:

  • SERVER_MODE -启用SSE模式(可选,SERVER_PORT可用)
  • SERVER_PORT -SSE服务器端口(可选,默认为8080)
  • BASE_URL -服务器默认URL(使用Kubertes Service和Ingress时有用)

部署

Kubenetes部署

可以使用SSE模式部署到Kubenetes。

1.生成认证信息Secret:

apiVersion: v1
kind: Secret
metadata:
  name: nutanix-credentials
type: Opaque
stringData:
  endpoint: "your-prism-central-ip-or-hostname"
  username: "your-username"
  password: "your-password"
  template-uuid: "your-template-uuid"  # 선택사항

2.服务器部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nutanix-mcp-server
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nutanix-mcp-server
  template:
    metadata:
      labels:
        app: nutanix-mcp-server
    spec:
      containers:
        - name: nutanix-mcp-server
          image: nutanix-mcp:v1
          imagePullPolicy: Always
          ports:
            - containerPort: 8080
              name: http
          env:
            - name: SERVER_MODE
              value: sse
            - name: SERVER_PORT
              value: "8080"
            - name: NUTANIX_ENDPOINT
              valueFrom:
                secretKeyRef:
                  name: nutanix-credentials
                  key: endpoint
            - name: NUTANIX_USERNAME
              valueFrom:
                secretKeyRef:
                  name: nutanix-credentials
                  key: username
            - name: NUTANIX_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: nutanix-credentials
                  key: password
            - name: NUTANIX_TEMPLATE_UUID
              valueFrom:
                secretKeyRef:
                  name: nutanix-credentials
                  key: template-uuid
                  optional: true

3.服务器访问:

部署后可访问以下地址:

  • http://<ip>:<port>/sse -SSE端点
  • http://<ip>:<port>/message -消息端点

使用方法

VM操作

虚拟机列表:

  • vm_list -查看所有VM列表
  • vm_count -查看VM数量

创建和管理虚拟机:

  • vm_create -从模板创建新VM
    • 参数: name, vm_uuid (模板UUID), num_vcpus, memory_mb, network_uuid
  • vm_power_state_on -打开VM电源
    • 参数: vm_uuid
  • vm_increase_cpus -增加VM vCPU数量
    • 参数: vm_uuid, num_vcpus
  • vm_increase_memory -增加VM内存
    • 参数: vm_uuid, memory_mb

Subnet操作

Subnet列表:

  • subnet_list -查看所有Subnet列表
  • subnet_count -查看Subnet计数

限制

  • 响应大小受MCP协议限制
  • 较大响应大小的资源可能会导致错误
  • 仅支持VM和Subnet资源
  • VM操作仅支持CPU和内存增长(不能减少)