返回市场
MCP-nutanix

MCP-nutanix

作者:thunderboltsid11 星标更新:2025-08-14

项目介绍

MCP Nutanix

这是一个通过大型语言模型(LLMs)与Nutanix Prism Central API交互的模型上下文协议(MCP)服务器。

⚠️ 免责声明

这是一个实验性项目

该项目作为一个个人项目创建,旨在探索Go框架中模型上下文协议的能力。它:

  • 不是官方的Nutanix产品或工具
  • 不被Nutanix支持、认可或维护
  • 不适合生产环境
  • 按现状提供,没有任何担保或保证

自行承担风险:作者不对使用此代码可能产生的任何问题、损害或停机负责。

概述

此MCP服务器允许LLMs通过以下方式与Nutanix Prism Central进行交互:

  1. 使用用户凭据连接到Prism Central实例
  2. 列出各种资源(虚拟机、集群、主机等)
  3. 通过基于URI的访问获取特定资源的详细信息

实现使用了Prism Go客户端与Prism Central通信,并使用了MCP Go库来实现模型上下文协议。

快速开始

预备条件

  • Go 1.23或更高版本
  • 访问Nutanix Prism Central实例
  • 构建所需的工具如makego fmt

构建

# 克隆仓库
git clone https://github.com/thunderboltsid/mcp-nutanix.git
cd mcp-n-utanix

# 构建MCP服务器
make build

凭证配置

服务器支持两种凭证方法:

  1. 交互式凭证(默认) - 与Claude通过MCP提示工作
  2. 静态凭证 - 对于不支持交互式提示的工具如Cursor是必需的

MCP客户端配置

要使用此服务器与MCP客户端,您需要配置客户端以连接到服务器。

Claude Desktop/Code

创建或更新~/.anthropic/claude_desktop.json

{
  "mcpServers": {
    "nutanix": {
      "command": "/path/to/mcp-nutanix"
    }
  }
}

Claude会在首次使用服务器时提示您输入凭证。

Cursor

对于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实例,LLMs就可以通过MCP协议与其交互。

资源列表

要列出资源,请使用适当的工具:

vms
clusters
hosts
images
subnets

LLM将收到一个资源的JSON列表,它可以解析和分析。

资源访问

要访问特定资源,请使用资源URI:

vm://{uuid}
cluster://{uuid}
host://{uuid}

LLM将收到关于特定资源的详细JSON信息。

开发

项目结构

mcp-nutanix/
├── bin/                  # 编译的二进制文件
├── internal/             # 内部包
│   ├── client/           # Prism Central客户端处理
│   ├── codegen/          # 代码生成工具
│   └── json/             # JSON辅助工具
├── pkg/                  # 组件
│   ├── prompts/          # MCP提示实现
│   ├── resources/        # 资源处理器
│   └── tools/            # 工具处理器
└── Makefile              # 构建和实用命令

代码生成

项目使用代码生成来创建资源和工具处理器。要更新这些:

make generate

限制

  • 响应大小受MCP协议限制
  • 部分具有大响应大小的资源可能会导致错误
  • 当前实现没有分页支持
  • 仅支持读操作,不支持创建/更新/删除

许可证

本项目根据MIT许可证发布 - 查看LICENSE文件了解详情。

致谢

贡献

这是一个实验性项目,没有正式的贡献流程。欢迎创建问题或拉取请求。