MCP-Nutanix 中心服务器
语言类型:英语 翻译结果:Nutanix Prism Central 的 MCP 服务器
服务介绍
MCP Nutanix
一个用于通过大型语言模型(LLMs)与Nutanix Prism Central API交互的模型上下文协议(MCP)服务器。
⚠️ 免责声明
这是一个实验性项目
该项目是作为个人项目创建的,旨在探索Go中的模型上下文协议框架的能力。它:
- 不是 Nutanix的官方产品或工具
- 不受 Nutanix的支持、认可或维护
- 不适合 生产环境
- 按原样提供,不提供任何保证或担保
使用风险自负:作者不对因使用此代码而可能产生的任何问题、损害或中断负责。
概述
这个MCP服务器允许LLMs通过以下方式与Nutanix Prism Central交互:
- 使用用户凭据连接到Prism Central实例
- 列出各种资源(虚拟机、集群、主机等)
- 通过基于URI的访问检索特定资源的详细信息
实现使用了Prism Go客户端与Prism Central通信,并使用MCP Go库来实现模型上下文协议。
开始
前提条件
- Go 1.23 或更高版本
- 访问Nutanix Prism Central实例
- 构建所需的工具如
make和go fmt
构建
# Clone the repository
git clone https://github.com/thunderboltsid/mcp-nutanix.git
cd mcp-nutanix
# Build the MCP server
make build
运行
./bin/mcp-nutanix
服务器将启动并提示输入Prism Central凭据。
使用
一旦MCP服务器运行并连接到您的Prism Central实例,LLMs就可以通过MCP协议与其交互。
资源列表
要列出资源,请使用适当的工具:
vms
clusters
hosts
images
subnets
LLM将收到一个可以解析和分析的JSON格式的资源列表。
资源访问
要访问特定资源,请使用资源URI:
vm://{uuid}
cluster://{uuid}
host://{uuid}
LLM将收到关于特定资源的详细JSON信息。
开发
项目结构
mcp-nutanix/
├── bin/ # Compiled binaries
├── internal/ # Internal packages
│ ├── client/ # Prism Central client handling
│ ├── codegen/ # Code generation utilities
│ └── json/ # JSON helpers
├── pkg/ # components
│ ├── prompts/ # MCP prompt implementations
│ ├── resources/ # Resource handlers
│ └── tools/ # Tool handlers
└── Makefile # Build and utility commands
代码生成
该项目使用代码生成来创建资源和工具处理程序。要更新这些内容:
make generate
限制
- 响应大小受MCP协议限制
- 某些响应大小较大的资源可能导致错误
- 当前实现中没有分页支持
- 仅支持读取操作,不支持创建/更新/删除
许可证
本项目根据MIT许可证授权 - 详情请参阅LICENSE文件。
致谢
- Nutanix 创建了Prism API
- Mark3Labs 提供了MCP Go库
- Nutanix Cloud Native 提供了Prism Go客户端
贡献
这是一个实验性项目,没有正式的贡献流程。欢迎随时创建问题或拉取请求。