关于 nutanix-mcp-server
nutanix-mcp-server 是基于 FastAPI 的原型,用于从 Nutanix Prism Central 获取集群和虚拟机信息。它提供基础设施数据端点及用于 Dify 自定义工具注册的 OpenAPI 模式;README 提醒不要用于生产环境。
主要功能
- 01获取集群信息
- 02获取虚拟机信息
- 03连接 Prism Central API
- 04通过 .env 配置凭据
- 05提供 Dify 的 OpenAPI 模式
适用场景
- 01查看 Nutanix 集群基本信息
- 02检查虚拟机名称和资源配置
- 03将 Nutanix 数据注册为 Dify 自定义工具
MCP 相关
项目自述为 MCP 服务,提供集群和虚拟机信息端点,并说明可将 getClusters 和 getVms 注册到 Dify。README 将其定位为 MVP 原型,并建议不要用于生产环境。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
nutanix-mcp-server
使用 FastAPI 实现的 MCP(Model Context Protocol)服务,可与 Nutanix Prism Central 集成并获取集群和虚拟机信息
概述
本项目实现了面向 Nutanix 环境的 Model Context Protocol(MCP)服务最小可行产品(MVP)。主要目的是使用 FastAPI 从 Nutanix Prism Central 获取集群信息。本 MVP 将作为未来扩展功能(获取更多信息、模型操作、增强安全性等)的基础。 这是一个原型,请勿用于生产环境。
运行环境
- OS:macOS、Linux、Windows(包括 WSL2)
- Python:推荐 3.12 或更高版本
- pip:推荐 23.x 或更高版本
- Nutanix Prism Central API 版本:v4.0.2(Cluster Management API)
- Nutanix Prism Central API 版本:v4.0(Virtual Machine Management API)
用法
设置步骤
# リポジトリをクローン
git clone https://github.com/takanorisuzuki/nutanix-mcp-server-jp.git
cd nutanix-mcp-server-jp
# 仮想環境を作成・有効化(任意)
python3 -m venv venv
source venv/bin/activate # Windows の場合は venv\Scripts\activate
# 依存パッケージをインストール
pip install -r requirements.txt
# .env ファイルを作成
cp .env.example .env
.env 文件的编写方式
创建 .env 文件并定义认证信息和连接信息,如下所示。
PRISM_CENTRAL_IP=192.168.10.11
PRISM_CENTRAL_PORT=9440
PRISM_CENTRAL_USERNAME=admin
PRISM_CENTRAL_PASSWORD=your_password_here
# VERIFY_SSL="false"
请将
.env文件放在项目根目录。.gitignore会将其排除在提交内容之外。
- 关于 SSL 验证:
目前,为了支持自签名证书,已禁用证书验证(
verify=False)。在生产环境中,请执行适当的 SSL 验证。.env中的所有值都会作为字符串处理。使用VERIFY_SSL时,需将其用引号括起来,例如"false",或者在代码中将字符串转换为布尔类型。
启动服务
使用 uvicorn 启动 MCP 服务:
uvicorn app:app --reload
MCP 服务将在 http://127.0.0.1:8000 启动。
检查 API 端点
-
Swagger UI:在浏览器中访问
http://127.0.0.1:8000/docs,即可查看和测试 API 文档。 -
使用 curl 检查:
/clusters:返回 Nutanix 集群的基本信息(UUID、集群名称、节点配置等)。/vms:返回 Prism Central 上的虚拟机信息(名称、vCPU、内存配置等)。
curl -v http://127.0.0.1:8000/clusters curl -v http://127.0.0.1:8000/vms
与 Dify 集成
本仓库包含 OpenAPI 架构文件 dify-openapi-schema.json,用于将 MCP 服务注册为 Dify 的自定义工具。
在 Dify 中使用此架构注册自定义工具,并将该工具分配给 Agent,即可通过自然语言获取和查看 Nutanix 集群信息或虚拟机信息。
- 在 Dify 管理界面中,通过“工具”>“自定义工具”创建
Nutanix MCP Server。 - 粘贴
dify-openapi-schema.json中定义的架构。 - 确认可用工具中显示
getClusters和getVms,并且测试运行正常。 - 创建新的 Agent,并指定将 MCP 服务注册为工具的自定义工具。
- 在 Agent 页面中用自然语言提问,例如“请告诉我集群信息”,MCP 服务便会返回查询结果。
关于连接地址: 如果 Dify 在 Podman 上运行,无需更改 dify-openapi-schema.json,即可使用
http://host.containers.internal:8000作为 MCP 服务地址。
在 Docker 等其他环境中,请替换为http://host.docker.internal:8000等适当的主机名或 IP 地址。
更新日志
- 2025-04-18:发布初始版本
v0.1.0。- 实现
/clusters和/vms端点。 - 集成 Nutanix Prism Central。
- 使用 FastAPI 构建 REST API 服务。
- 通过
.env将认证信息和连接目标配置外置。 - 支持将 OpenAPI 架构用于 Dify 集成。
- 实现
贡献方式
欢迎贡献。请提交 Pull Request 来改进功能或修复错误。进行重大更改前,请先创建 Issue 进行讨论。
许可证
本项目依据 LICENSE 文件中注明的条款授权。
未来扩展计划
- 添加虚拟机详细信息(NIC / 磁盘配置)
- 实现用于显示单个集群详细信息的端点
- 集成 Nutanix API vmm,引入操作类 API(例如启动/停止虚拟机)
- 支持通过 Dify 进行对话式操作
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。