MCP Nutanix
一种模型上下文协议(MCP)服务器,用于通过大型语言模型(LLM)与Nutanix Prism Central API进行交互。
⚠️ 免责声明
这是一个实验项目
这个项目是作为一个个人项目创建的,旨在探索Go中模型上下文协议框架的功能。它是:
- 非 Nutanix官方产品或工具
- 非 由Nutanix支持、认可或维护
- 非 适用于生产环境
- 按原样提供 无任何保证或担保
使用风险自负:作者对使用此代码可能导致的任何问题、损坏或中断不承担任何责任。
概述
此MCP服务器允许LLM通过以下方式与Nutanix Prism Central交互:
- 使用用户凭据连接到Prism Central实例
- 列出各种资源(VM、群集、主机等)
- 通过基于URI的访问检索特定资源详细信息
入门指南
先决条件
- 达到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凭证配置
服务器支持两种凭据方法:
- 交互式凭据 (默认)-通过MCP提示与Claude配合使用
- 静态凭据 -不支持交互式提示的Cursor等工具需要
MCP客户端配置
要将此服务器与MCP客户端一起使用,您需要配置客户端以连接到服务器。
克劳德桌面/代码
创建或更新 ~/.anthropic/claude_desktop.json:
{
"mcpServers": {
"nutanix": {
"command": "/path/to/mcp-nutanix"
}
}
}Claude在首次使用服务器时会提示您输入凭据。
光标
对于Cursor,您需要通过环境变量提供静态凭据,因为它不支持交互式提示。
创建或更新 ~/.cursor/mcp.json:
{
"mcpServers": {
"nutanix": {
"command": "/path/to/mcp-nutanix",
"env": {
"NUTANIX_ENDPOINT": "your-prism-central-ip-or-hostname",
"NUTANIX_USERNAME": "your-username",
"NUTANIX_PASSWORD": "your-password",
"NUTANIX_INSECURE": "true"
}
}
}
}环境变量:
NUTANIX_ENDPOINT-Prism Central IP或主机名(必需)NUTANIX_USERNAME-API用户名(必需)NUTANIX_PASSWORD-API密码(必需)NUTANIX_INSECURE-对于自签名证书,设置为“true”(可选)
其他MCP客户端
此服务器遵循标准MCP协议,应与支持stdio传输的任何MCP客户端一起工作。有关配置说明,请参阅客户的文档。
用法
一旦MCP服务器配置了您的客户端并连接到Prism Central实例,LLM就可以通过MCP协议与之交互。
资源列表
要列出资源,请使用相应的工具:
vms
clusters
hosts
images
subnetsLLM将收到一个可以解析和分析的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许可证获得许可-有关详细信息,请参阅许可证文件。
致谢
- Nutanix 用于创建Prism API
- Mark3Labs 对于MCP Go库
- Nutanix云原生 Prism Go客户端
贡献
这是一个没有正式贡献过程的实验项目。随意创建问题或拉取请求。
