mcp-nutanix 是一个实验性的 Model Context Protocol(MCP)服务器,旨在让大语言模型(LLM)能够与 Nutanix Prism Central API 进行交互。该项目由个人创建,用于探索 Go 语言中 Model Context Protocol 框架的能力。
用途 该服务器充当 LLM 与 Nutanix Prism Central 之间的桥梁,使 LLM 可以通过 MCP 协议查询和管理 Prism Central 中的资源。
主要能力
- 使用用户凭据连接到 Prism Central 实例。
- 列出各种资源,例如虚拟机(VMs)、集群(Clusters)、主机(Hosts)等。
- 通过基于 URI 的访问方式检索特定资源的详细信息。
使用方式
- 环境要求:Go 1.23 或更高版本、可访问的 Nutanix Prism Central 实例、以及 make 和 go fmt 等构建工具。
- 凭据配置:支持两种凭据方式——交互式凭据(默认,适用于 Claude 等支持 MCP 提示的客户端)和静态凭据(适用于 Cursor 等不支持交互式提示的客户端)。
- MCP 客户端配置:
- 对于 Claude Desktop/Code,创建或更新 ~/.anthropic/claude_desktop.json,首次使用服务器时 Claude 会提示输入凭据。
- 对于 Cursor,需通过环境变量提供静态凭据,创建或更新 ~/.cursor/mcp.json。
- 环境变量包括:NUTANIX_ENDPOINT(Prism Central IP 或主机名,必填)、NUTANIX_USERNAME(API 用户名,必填)、NUTANIX_PASSWORD(API 密码,必填)、NUTANIX_INSECURE(设置为 "true" 以使用自签名证书,可选)。
- 其他 MCP 客户端:该服务器遵循标准 MCP 协议,应可与任何支持 stdio 传输的 MCP 客户端配合使用,具体配置请参考客户端文档。
- 配置完成后,LLM 即可通过 MCP 协议与 Prism Central 实例交互。
- 资源列表:使用相应工具列出资源,LLM 将收到可解析和分析的 JSON 资源列表。
- 资源访问:使用资源 URI 访问特定资源,LLM 将收到该资源的详细 JSON 信息。
项目结构 项目使用代码生成来创建资源和工具处理器,更新时需运行相应命令。
适用场景 适用于希望探索 MCP 框架与 Nutanix Prism Central 集成的开发者,或需要在 LLM 中查询 Prism Central 资源的实验性场景。
限制
- 响应大小受 MCP 协议限制,某些响应较大的资源可能导致错误。
- 当前实现不支持分页。
- 仅支持读取操作,不支持创建、更新或删除。
- 该项目为实验性项目,并非 Nutanix 官方产品,不受支持、认可或维护,不适合生产环境,按原样提供且无任何保证,使用风险自负。
- 许可证为 MIT。