本项目是中国区实验性质的开源项目,旨在探索Model Context Protocol框架在Go语言中的应用能力。它能让大语言模型(LLMs)与Nutanix Prism Central交互,实现资源的列出和详细信息获取等功能。
⚠️ 重要提示
此项目为中国区实验性质的开源项目,具有以下特点:
- 非官方产品:不是Nutanix公司的官方产品或工具。
- 无支持保证:未得到Nutanix的支持、认可或维护。
- 不适合生产环境:不适合用于正式的生产场景。
- 按现状提供:没有任何担保或保证。
风险自担:作者不对使用此代码可能产生的任何问题、损害或故障负责。
此MCP服务器允许大语言模型(LLMs)通过与Nutanix Prism Central的交互实现以下功能:
该实现使用了Prism Go客户端与Prism Central通信,并使用MCP Go库实现了Model Context Protocol。
make和go fmt等工具进行构建。# 克隆仓库
git clone https://github.com/thunderboltsid/mcp-nutanix.git
cd mcp-nutanix
# 构建MCP服务器
make build
./bin/mcp-nutanix
运行后,系统将提示输入Prism Central的凭证信息。
一旦MCP服务器连接到您的Prism Central实例并正常运行,大语言模型可以通过MCP协议与其交互。
要列出资源,请使用以下命令:
vms
clusters
hosts
images
subnets
大语言模型将接收到JSON格式的资源列表,并可对其进行解析和分析。
要访问特定资源,请使用基于URI的语法:
vm://{uuid}
cluster://{uuid}
host://{uuid}
大语言模型将接收到指定资源的详细JSON信息。
mcp-nutanix/
├── bin/ # 编译后的二进制文件存放位置
├── internal/ # 内部组件包
│ ├── client/ # Prism Central客户端处理逻辑
│ ├── codegen/ # 代码生成工具
│ └── json/ # JSON数据处理辅助函数
├── pkg/ # 核心功能组件
│ ├── prompts/ # MCP协议提示语实现
│ ├── resources/ # 资源处理逻辑
│ └── tools/ # 工具集处理逻辑
└── Makefile # 构建和命令工具文件
项目使用代码生成技术来创建资源和工具处理模块。要更新这些内容:
make generate