关于 Nutanix AIops
面向管理 Nutanix Prism Central 的团队,提供 v4 REST API 运维 MCP 服务与 CLI,覆盖虚拟机、存储、网络和灾备,并以审计、预算保护及可撤销记录管理操作。
主要功能
- 01管理集群、主机与虚拟机
- 02查询存储、网络及目录
- 03执行灾备、告警与 LCM 操作
- 04提供确定性健康诊断与 RCA
- 05自动分页并安全处理 ETag
- 06记录审计、风险级别与撤销信息
适用场景
- 01汇总 AHV 与 ESXi 虚拟机清单
- 02定位集群健康及容量问题
- 03排查告警并查看可能原因
- 04在审计下执行虚拟机或存储变更
MCP 相关
作为 MCP 服务,向客户端提供 51 个 Nutanix Prism Central v4 运维工具,涵盖读取与写入。每次调用均写入审计日志,高风险写入支持 dry-run。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
51收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | |
| target | any | 否 | |
| severity | any | 否 |
详细介绍
Nutanix AIops
免责声明:由社区维护的开源项目。**与 Nutanix 无关联,未获其认可或赞助。**产品名称和商标归其所有者所有。采用 MIT 许可证。
面向 Nutanix Prism Central(v4 REST API)的治理型 AI 运维工具——支持集群、主机、VM(AHV + ESXi)、存储、网络、目录、数据保护 / DR、警报、LCM 升级和容量管理,并内置治理机制:统一审计日志、令牌 / 失控预算保护、撤销令牌记录,以及描述性风险等级标签。通过 HTTPS :9440 连接 Prism Central,并使用 HTTP Basic 身份验证(用户名 + 加密密码)。独立运行:除 httpx 和 MCP SDK 外无其他依赖。
为什么选择它,而不是只读 Nutanix MCP
- 自动处理 ETag / If-Match,适用于每次变更操作。v4 API 要求更新或删除时提供实体当前的 ETag——这是常见的易错点。此工具会为你获取并发送
If-Match。 - 自动分页——列表工具会遍历所有 v4 分页,并返回
{"<items>": [...], "returned", "limit", "truncated"}封装结果,让受限读取明确显示已截断,而不会看起来像是完整的环境。 - 缺失不等于空值——Prism Central 未返回的字段会以
null返回,而不是""。v4 会省略很多字段;这两种情况会保持区分。 - 混合虚拟机监控程序的 VM 列表——
vm_list会返回同一 Prism Central 下的 AHV 和 ESXi 虚拟机(适用于虚拟机监控程序迁移环境)。 - 治理机制——审计 / 令牌与调用预算 / 描述性风险等级标签 / 撤销令牌 / 提示词注入净化,并对破坏性写入采用试运行 + 双重确认。
此工具的职责与不负责决定的事项
此工具能够准确、高效地执行 Nutanix Prism Central 操作——读取和写入——并记录每项操作。它不会决定是否允许执行写入操作。该决定由 Agent 判断,或由你连接时使用的账户权限决定:使用仅具有只读(Viewer)角色的 Prism Central 账户连接,写入操作就会在服务器端失败——权限实际由服务器控制。
因此,无需配置只读开关、策略文件或审批关卡。此工具唯一保证的是,任何操作都不会悄无声息:所有调用,无论通过 MCP 还是 CLI,都将写入 ~/.nutanix-aiops/audit.db 中的一条审计记录;对于破坏性写入,工具仍会捕获操作前的状态,并在存在逆向操作时记录该操作。
每个工具都会声明一个
risk_level,并将其作为描述性等级(none/confirm/review)写入审计记录——审核人员可以一眼看出某条记录是否属于高风险删除。这只是一个标签,不是关卡。
正在运行较小型 / 本地模型?请参阅 agent-guardrails.md——其中列出了此工具现在为你强制执行的防护措施(这样你就不必在提示词中重复说明),并为剩余事项提供了现成的系统提示词。
能力矩阵(51 个 MCP 工具)
| 分组 | 工具 | 数量 | 读/写 |
|---|---|---|---|
| 集群 | cluster_list, cluster_health, host_list, cluster_utilization | 4 | 4 个读取 |
| 虚拟机 | vm_list, vm_get, vm_power_on, vm_guest_shutdown, vm_power_off, vm_reboot, vm_create, vm_update, vm_clone, vm_delete, vm_migrate | 11 | 2 个读取 · 9 个写入 |
| 存储 | storage_container_list / _create / _update / _delete | 4 | 1 个读取 · 3 个写入 |
| 网络 | subnet_list, subnet_get, subnet_create, subnet_delete | 4 | 2 个读取 · 2 个写入 |
| 目录 | image_list, image_delete, category_list, category_create, category_assign | 5 | 2 个读取 · 3 个写入 |
| 数据保护 / 灾难恢复 | snapshot_list / _create / _delete / _restore, recovery_point_list, protection_domain_list, vm_protect, pd_failover | 8 | 3 个读取 · 5 个写入 |
| 警报 | alert_list, event_list, audit_list, analyze_alert (RCA), alert_acknowledge, alert_resolve | 6 | 4 个读取 · 2 个写入 |
| LCM(升级) | lcm_inventory, lcm_precheck, lcm_update | 3 | 1 个读取 · 2 个写入 |
| 容量 | task_list, capacity_runway | 2 | 2 个读取 |
| 诊断 / RCA | cluster_health_rca, alert_triage_rca | 2 | 2 个读取 |
| 撤销 | undo_list, undo_apply | 2 | 1 个读取 · 1 个写入 |
| 总计 | 51 | 24 个读取 · 27 个写入 |
诊断 / RCA 是核心读取工具。cluster_health_rca 会对整个环境进行排序——包括容错状态降级、存储池和容器使用率超过 80%(警告)/ 90%(严重)、节点状态不健康或未出现在清单中等情况——最严重的排在前面,每项发现都会引用触发判定的测量百分比或原始 Prism 状态。alert_triage_rca 会按严重性对活动警报分组,并统计各级别数量,标记未确认的严重警报,并显示最早的未解决警报及其持续时间。两者均为只读(risk_level="low"),且具有确定性——不依赖时钟或随机性,相同输入 → 相同结果。analyze_alert 则从单个警报层面提供补充:将警报与相关事件关联,生成可能原因和建议操作的摘要。高风险写入操作(vm_delete、vm_migrate、storage_container_delete、subnet_delete、snapshot_delete、snapshot_restore、pd_failover、image_delete、lcm_update)支持 dry_run,并且在 CLI 中需要二次确认。
安装
uv tool install nutanix-aiops # or: pipx install nutanix-aiops
快速开始
作为 Claude Code 插件使用
安装一次,即可让 Agent 同时获得技能和 MCP 服务:
/plugin marketplace add AIops-tools/marketplace
/plugin install nutanix-aiops@aiops-tools
MCP 服务通过 uv 获取,并固定到此插件声明的软件包版本,因此可以将审计记录追溯到写入该记录的代码。凭据仍需通过 nutanix-aiops init 配置——见下文。
作为 OpenClaw 插件使用
同一捆绑包发布在 ClawHub 上,安装一次即可同时获得技能及其 MCP 服务:
openclaw plugins install clawhub:@zw008/nutanix-aiops
openclaw skills info nutanix-aiops # expect: Visible to model: yes
之后重启 OpenClaw 网关,以便加载插件。MCP 服务通过 uv 获取,并固定到此确切版本,因此 uvx 必须位于 PATH 中——否则技能仍会安装,但会报告 Visible to model: no。凭据配置方式与下文完全相同。
作为 CLI 或独立 MCP 服务使用
nutanix-aiops init # wizard: PC host / port 9440 / username / verify_ssl + encrypted password
nutanix-aiops doctor # config, secrets, connectivity + REST-RBAC preflight
nutanix-aiops overview # one-shot estate summary
nutanix-aiops diagnose cluster-health # worst-first RCA: resiliency, storage, nodes
nutanix-aiops vm list # AHV + ESXi VMs
作为 MCP 服务运行(stdio):
export NUTANIX_AIOPS_MASTER_PASSWORD=... # unlock the encrypted secret store non-interactively
nutanix-aiops mcp
密码随后会存放在哪里:导出的变量可被此 shell 启动的每个进程读取,也会记录在 shell 历史中。在共享或长期运行的主机上,建议使用交互式提示,或在需要它的单个命令运行期间从密钥管理器注入密码。
CLI
nutanix-aiops(Typer):init、overview、doctor、mcp;cluster list/health/hosts/util;vm list/get/power/delete/migrate(delete 和 migrate
需要 --dry-run 和二次确认);diagnose cluster-health、diagnose alert-triage;secret set/list/rm/migrate/rotate-password。
CLI 是便捷子集——完整的 51 个工具均可通过 MCP 服务使用。
治理
每个 MCP 工具都会经过内置的 @governed_tool 执行机制:
- 审计——每次调用(参数、结果、状态、耗时、风险等级,以及操作员提供的审批人/理由)都会记录到
~/.nutanix-aiops/audit.db(可通过NUTANIX_AIOPS_HOME更改位置)。CLI 写入的记录与 MCP 路径相同——不存在未经审计的入口。 - 失控防护——这是安全兜底机制,而非授权关卡:同一调用在短时间内反复触发会启动断路器。使用
NUTANIX_RUNAWAY_MAX=0禁用;也可设置可选的硬性上限NUTANIX_MAX_TOOL_CALLS/NUTANIX_MAX_TOOL_SECONDS。 - 撤销记录——可逆写入会记录基于获取的变更前状态构建的逆向描述符(
vm_update→ 原 CPU/内存,vm_migrate→ 原主机)。 - 风险等级——审计记录中基于
risk_level得出的描述性标签;不会限制任何操作。
凭据
Prism Central 密码以加密形式存储在
~/.nutanix-aiops/secrets.enc 中(Fernet + scrypt)——不会以明文形式存储在磁盘上。
使用来自 NUTANIX_AIOPS_MASTER_PASSWORD 的主密码解锁(MCP/CI),也可通过交互式提示输入(CLI)。非机密连接信息(主机、端口、
用户名、verify_ssl)存储在 ~/.nutanix-aiops/config.yaml 中。旧版明文环境变量
NUTANIX_<TARGET>_PASSWORD 会作为回退选项使用。
注意: Prism Central 账户需要具备 REST API 权限,只有 Web UI 访问权限并不足够。
doctor的 REST-RBAC 预检会尽早发现此问题。
支持范围与限制
- 验证状态。 目前所有行为均通过模拟的 v4 REST 响应进行验证;尚未在实际的 Prism Central 上运行。最快的实机检查方式是运行
nutanix-aiops doctor。完整的实机验证清单请参阅docs/VERIFICATION.md。 - 在 Nutanix Community Edition(CE) 上可免费自测:单节点 CE 集群 + 一台 X-Small Prism Central 虚拟机。
- 验证最不充分的路径: LCM 更新(
lcm_update)、保护域故障转移(pd_failover),尤其是 ESXi 虚拟机列表,都需要实机验证。 - 此版本不涵盖: IAM/用户/角色、Files/Objects/Volumes 服务、报告、X-Play playbook,以及 Prism Central v4 以外的任何内容。
缺少某项功能?
缺少某个工具、API 方言或工作流?欢迎提交 issue 或 PR——欢迎反馈和贡献。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。