MCP Nutanix について
MCP Nutanix は、LLM を Nutanix Prism Central に接続する実験的な MCP サーバーです。インフラリソースの読み取りと取得に対応し、対話式または固定の認証情報を設定できます。
主な機能
- 01VM、クラスター、ホスト、イメージ、サブネットの一覧
- 02URI によるリソース詳細の取得
- 03対話式または固定認証情報に対応
- 04Prism Central への読み取り専用アクセス
活用シーン
- 01Prism Central のリソース一覧を確認
- 02VM やホストの詳細を取得
- 03MCP クライアントから Nutanix インフラを照会
MCP 対応
MCP サーバーは、Prism Central のリソース一覧ツールと URI による詳細情報を MCP クライアントに公開します。stdio トランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Nutanix
LLM(大規模言語モデル)を介して Nutanix Prism Central API とやり取りするための Model Context Protocol(MCP)サーバーです。
⚠️ 免責事項
これは実験的なプロジェクトです
このプロジェクトは、Go の Model Context Protocol フレームワークの機能を探るために個人プロジェクトとして作成されました。以下の点にご注意ください。
- Nutanix の公式製品またはツールではありません
- Nutanix によるサポート、推奨、保守は受けていません
- 本番環境での使用には適していません
- いかなる保証もなく、現状のまま提供されます
自己責任でご使用ください:このコードの使用によって発生する可能性のある問題、損害、停止について、作成者は一切責任を負いません。
概要
この MCP サーバーを使用すると、LLM は以下の操作を通じて Nutanix Prism Central とやり取りできます。
- ユーザーの認証情報を使用して Prism Central インスタンスに接続する
- 各種リソース(VM、クラスター、ホストなど)の一覧を取得する
- URI ベースのアクセスで特定のリソースの詳細を取得する
この実装では、Prism Central との通信に Prism Go Client を、Model Context Protocol の実装に MCP Go library を使用しています。
はじめに
前提条件
- 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
認証情報の設定
このサーバーでは、2 種類の認証方法をサポートしています。
- 対話型認証情報(デフォルト) - MCP プロンプトを介して Claude で使用できます
- 静的認証情報 - 対話型プロンプトをサポートしない 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 インスタンスに接続すると、LLM は 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 の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
謝辞
- Prism API を作成した Nutanix
- MCP Go library を提供する Mark3Labs
- Prism Go Client を提供する Nutanix Cloud Native
貢献
これは実験的なプロジェクトであり、正式な貢献プロセスはありません。お気軽に issue や pull request を作成してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。