mcpField
E
ESXi MCP Server

ESXi MCP Server

ローカル
github.com/neronainクラウド・インフラ085 週間前に更新

ESXi MCP Server について

ESXi MCP Serverは、MCPを介してVMware ESXiとvCenterの仮想マシンを管理し、性能を監視できます。VMのライフサイクル操作、SSE通信、APIキー認証に対応し、YAML、JSON、環境変数で設定できます。

主な機能

  1. 01ESXiとvCenterへの接続
  2. 02VMの作成、複製、削除、電源操作
  3. 03仮想マシン一覧の取得
  4. 04CPU、メモリ、ストレージ、ネットワークの監視
  5. 05SSE通信とAPIキー認証
  6. 06YAML、JSON、環境変数による設定

活用シーン

  1. 01仮想マシンの作成または複製
  2. 02VMの起動、停止、削除
  3. 03VMのリソース使用状況の確認
  4. 04MCPワークフローからESXiまたはvCenterの管理

MCP 対応

このサーバーは、VMware ESXiとvCenterのVM管理操作および性能データをMCPクライアントに公開します。SSEで通信し、APIキー認証に対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ESXi MCP サーバー

MCP(Model Control Protocol)をベースにした VMware ESXi/vCenter 管理サーバーです。仮想マシン管理用のシンプルな REST API インターフェースを提供します。

特徴

  • ESXi および vCenter Server への接続をサポート
  • SSE(Server-Sent Events)ベースのリアルタイム通信
  • JSON-RPC をサポートする RESTful API インターフェース
  • API キー認証
  • 仮想マシンのライフサイクル全体を管理
  • リアルタイムのパフォーマンス監視
  • SSL/TLS によるセキュアな接続をサポート
  • 柔軟な設定オプション(YAML/JSON/環境変数)

主な機能

  • 仮想マシン管理
    • VM の作成
    • VM のクローン作成
    • VM の削除
    • 電源のオン/オフ操作
    • すべての VM の一覧表示
  • パフォーマンス監視
    • CPU 使用率
    • メモリ使用率
    • ストレージ使用率
    • ネットワークトラフィック統計

要件

  • Python 3.7+
  • pyVmomi
  • PyYAML
  • uvicorn
  • mcp-core(Machine Control Protocol コアライブラリ)

クイックスタート

  1. 依存関係をインストールします:
pip install pyvmomi pyyaml uvicorn mcp-core
  1. 設定ファイル config.yaml を作成します:
vcenter_host: "your-vcenter-ip"
vcenter_user: "[email protected]"
vcenter_password: "your-password"
datacenter: "your-datacenter"        # Optional
cluster: "your-cluster"              # Optional
datastore: "your-datastore"          # Optional
network: "VM Network"                # Optional
insecure: true                       # Skip SSL certificate verification
api_key: "your-api-key"             # API access key
log_file: "./logs/vmware_mcp.log"   # Log file path
log_level: "INFO"                    # Log level
  1. サーバーを実行します:
python server.py -c config.yaml

API インターフェース

認証

すべての特権操作では、最初に認証が必要です:

POST /sse/messages
Authorization: Bearer your-api-key
主なツールインターフェース
  1. VM の作成
{
    "name": "vm-name",
    "cpu": 2,
    "memory": 4096,
    "datastore": "datastore-name",
    "network": "network-name"
}
  1. VM のクローン作成
{
    "template_name": "source-vm",
    "new_name": "new-vm-name"
}
  1. VM の削除
{
    "name": "vm-name"
}
  1. 電源操作
{
    "name": "vm-name"
}
リソース監視インターフェース

VM のパフォーマンスデータを取得します:

GET vmstats://{vm_name}

設定

パラメーター説明必須デフォルト
vcenter_hostvCenter/ESXi サーバーのアドレスはい-
vcenter_userログインユーザー名はい-
vcenter_passwordログインパスワードはい-
datacenterデータセンター名いいえ最初のものを自動選択
clusterクラスター名いいえ最初のものを自動選択
datastoreストレージ名いいえ利用可能な最大のものを自動選択
networkネットワーク名いいえVM Network
insecureSSL 検証をスキップするいいえfalse
api_keyAPI アクセスキーいいえ-
log_fileログファイルのパスいいえコンソール出力
log_levelログレベルいいえINFO

環境変数

すべての設定項目は環境変数で指定できます。環境変数名は次の規則に従います:

  • VCENTER_HOST
  • VCENTER_USER
  • VCENTER_PASSWORD
  • VCENTER_DATACENTER
  • VCENTER_CLUSTER
  • VCENTER_DATASTORE
  • VCENTER_NETWORK
  • VCENTER_INSECURE
  • MCP_API_KEY
  • MCP_LOG_FILE
  • MCP_LOG_LEVEL

セキュリティに関する推奨事項

  1. 本番環境:

    • 有効な SSL 証明書を使用する
    • API キー認証を有効にする
    • 適切なログレベルを設定する
    • API アクセス範囲を制限する
  2. テスト環境:

    • insecure: true を設定して SSL 検証をスキップする
    • より詳細なログレベル(DEBUG)を使用する

ライセンス

MIT ライセンス

貢献

Issue とプルリクエストを歓迎します!

変更履歴

v0.0.1
  • 初回リリース
  • 基本的な VM 管理機能
  • SSE 通信をサポート
  • API キー認証
  • パフォーマンス監視

作者

Bright8192

謝辞

  • VMware pyvmomi チーム
  • MCP Protocol 開発チーム

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。