Nutanix集群信息API服务

一个基于FastAPI的Nutanix Prism Central集群和虚拟机信息获取服务,支持与Dify平台集成实现自然语言查询。

  • by takanorisuzuki
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 takanorisuzuki/nutanix-mcp-server-jp

使用说明

nutanix-mcp-服务器

Nutanix Prism Central 联合获取群集虚拟机信息MCP (Model Context Protocol) 服务器FastAPI 实施

概要

本项目包括:Nutanix环境目标Model Context Protocol (MCP) 服务器Minimum Viable Product (MVP) 中所述修改相应参数的值。主要目的是FastAPI 利用,利用Nutanix Prism Central 中所述方法的备选方法MVP 是未来功能扩展的基础(如获取更多信息、模型操作和安全增强)。 因为是原型,所以请不要在生产环境中使用。

動作環境

  • 操作系统:macOS、Linux、Windows(WSL2含む)
  • Python: 3.12 以上推奨
  • 点数:23.x以上推奨
  • Nutanix Prism Central API公司バージョン:v4.0.2(群集管理API)
  • Nutanix Prism Central API公司バージョン:v4.0(虚拟机管理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用户界面:在浏览器中 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 关于协作

在动态输入提示中Dify 作为自定义工具MCP 注册服务器OpenAPI 架构文件 dify-openapi-schema.json 中所述修改相应参数的值。

Dify 通过在上面使用该模式注册自定义工具,并将该工具分配给代理,可以使用自然语言Nutanix 可以获取和确认群集信息和虚拟机信息。

  1. Dify 在管理屏幕上,从“工具”>“自定义工具”Nutanix MCP Server来修改标记元素的显示属性。
  2. dify-openapi-schema.json 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
  3. 可用的工具getClusters打开getVms查看项目中可用的所有族。
  4. 创建新代理并将其作为工具MCP 指定注册服务器的自定义工具。
  5. 在代理画面上用“告诉我集群的信息”等自然语言提问的话MCP 你可以向服务器咨询一下,然后把结果还给我。

关于连接地址: Dify 打开Podman 在上面动作时dify-openapi-schema.json不更改MCP 作为服务器地址 http://host.containers.internal:8000 中所述修改相应参数的值。
Docker 等其他环境中 http://host.docker.internal:8000等适当的主机名IP 请换成地址。

更新履歴

  • 2025-04-18:版本 v0.1.0 初始版本。
    • /clusters 单击功能区上 /vms 实施端点。
    • Nutanix棱镜中央との連携。
    • FastAPI 根据…;根据REST API 服务器。
    • .env 的明细栏样式中定义的设置。
    • OpenAPI 模式Dify 用于协作。

貢献方法

贡献是非常欢迎的。关于功能改善和错误修正Pull Request 中所述修改相应参数的值。在进行大的变更之前,首先Issue 请站起来讨论。

许可证

项目名称LICENSE 在文件中列出的条件下许可。

未来扩展计划

  • 添加虚拟机详细信息(网卡/磁盘配置)
  • 实现单个群集的详细显示端点
  • Nutanix API vmm 集成操作系统API 部署(例如启动和停止虚拟机)
  • Dify 支持对话