mcpField
V
VMware NSX

VMware NSX

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

VMware NSX について

VMware NSXは、NSX Policy APIネットワークを管理するコミュニティプロジェクトで、運用担当者やAIエージェント利用者を対象としています。MCPサーバーはネットワーク設定、インベントリ、ヘルスチェック、トラブルシューティングのツールを提供し、削除操作にはプレビューと依存関係の確認があります。

主な機能

  1. 01セグメントとTier-0/Tier-1ゲートウェイの管理
  2. 02NAT、ルート、IPプールの設定
  3. 03ファブリックインベントリとネットワーク状態の確認
  4. 04VMとセグメントの対応およびポート状態の調査
  5. 05削除プレビューと依存関係の確認

活用シーン

  1. 01セグメント、ゲートウェイ、NATによるアプリケーションネットワーク作成
  2. 02NSX Manager、トランスポートノード、エッジクラスタの状態確認
  3. 03VMの接続セグメント特定とポート状態の確認

MCP 対応

MCPサーバーはNSX Policy APIを通じて、ネットワーク設定、インベントリ、状態確認、トラブルシューティングの読み書きツールを提供します。ローカルstdioとHTTPSに対応し、削除ツールは影響をプレビューし、阻害要因や読み取り失敗があれば拒否します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"zw008-vmware-nsx": {
"command": "uvx",
"args": [
"vmware-nsx-mgmt"
]
}
}
}
起動コマンドuvx vmware-nsx-mgmt

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypivmware-nsx-mgmt1.8.8

ツール

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

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

詳細

VMware NSX

作成者:Wei Zhou、VMware by Broadcom — [email protected] VMware のエンジニアによるコミュニティ主導のプロジェクトであり、VMware の公式製品ではありません。 VMware の公式開発者向けツールについては、developer.broadcom.com をご覧ください。

英語 | 中文

VMware NSX のネットワーク管理:セグメント、ゲートウェイ、NAT、ルーティング、IPAM に特化した 33 個の MCP ツールです。

NSX-T 3.0 以降および NSX 4.x 向けの NSX Policy API スキルです。

ライセンス:MIT

関連スキル

スキル対象範囲ツール数インストール
vmware-aiops ⭐ エントリーポイントVM のライフサイクル、デプロイ、ゲスト操作、クラスター49uv tool install vmware-aiops
vmware-monitor読み取り専用の監視、アラーム、イベント、VM 情報27uv tool install vmware-monitor
vmware-storageデータストア、iSCSI、vSAN11uv tool install vmware-storage
vmware-vksTanzu Namespaces、TKC クラスターのライフサイクル20uv tool install vmware-vks
vmware-nsx-securityDFW マイクロセグメンテーション、セキュリティグループ、Traceflow21uv tool install vmware-nsx-security
vmware-ariaAria Ops のメトリクス、アラート、キャパシティプランニング28uv tool install vmware-aria
vmware-aviAVI/NSX ALB のロードバランシング、AKO28uv tool install vmware-avi
vmware-hardenコンプライアンスベースライン、ドリフト検出6uv tool install vmware-harden

クイックインストール

# Via PyPI
uv tool install vmware-nsx-mgmt

# Or pip
pip install vmware-nsx-mgmt
オフライン/エアギャップ環境へのインストール(ソースから)

このプロジェクトでは最新の PEP 517 ビルドシステム(hatchling)を使用しているため、設計上 setup.py はありません。これは想定どおりであり、ファイルが欠落しているわけではありません。ソースをクローンして ERROR: File "setup.py" or "setup.cfg" not found ... editable mode currently requires a setuptools-based build が表示された場合、pip が 21.3 より古く、setuptools 以外のバックエンドでは 編集可能(-e)インストールを実行できません。編集可能モードは開発者向けの便宜機能であり、ツールの実行には必要ありません。次のいずれかを実行してください。

# From the source tree — a normal (non-editable) install builds a wheel:
pip install .              # NOT  pip install -e .

# ...or upgrade pip first, and editable works too:
pip install --upgrade pip && pip install -e .

完全なエアギャップ環境のホストでは、ネットワークに接続されたマシンで wheel をビルドしてコピーしてください。これにより、インストール先ではネットワークが不要になります。

# On a connected machine, collect this package + its dependencies as wheels:
pip wheel . -w dist        # → dist/*.whl   (or: uv build, for just this package)

# Copy dist/ to the air-gapped host, then install offline:
pip install --no-index --find-links dist vmware-nsx-mgmt

設定

mkdir -p ~/.vmware-nsx
cp config.example.yaml ~/.vmware-nsx/config.yaml
# Edit with your NSX Manager credentials

echo "VMWARE_NSX_NSX_PROD_PASSWORD=your_password" > ~/.vmware-nsx/.env
chmod 600 ~/.vmware-nsx/.env

# Verify
vmware-nsx doctor

このスキルでできること

カテゴリツール数読み取り/書き込み
セグメント一覧表示、取得、作成、更新、削除52R / 3W
Tier-0 ゲートウェイ一覧表示、取得、BGP ピア、BGP の設定43R / 1W
Tier-1 ゲートウェイ一覧表示、取得、作成、更新、削除52R / 3W
NAT一覧表示、作成、削除31R / 2W
静的ルート一覧表示、作成、削除31R / 2W
IP プール一覧表示、使用状況、作成、削除42R / 2W
ファブリックインベントリトランスポートゾーン、トランスポートノード、エッジクラスター33R / 0W
ヘルスとトラブルシューティングアラーム、トランスポートノードのステータス、エッジクラスターのステータス、マネージャーのステータス、ポートのステータス、VM とセグメントの対応66R / 0W

合計:33 個のツール(読み取り専用 20 個+書き込み 13 個)

一般的なワークフロー

アプリネットワークを作成する(セグメント+T1 ゲートウェイ+NAT)
  1. ゲートウェイを作成します:vmware-nsx gateway create-t1 app-t1 --edge-cluster edge-cluster-01 --tier0 tier0-gw
  2. セグメントを作成します:vmware-nsx segment create app-web-seg --name app-web-seg --tz <tz-overlay-path> --subnet 10.10.1.1/24
  3. SNAT を追加します:vmware-nsx nat create app-t1 --action SNAT --source 10.10.1.0/24 --translated 172.16.0.10
  4. 確認します:vmware-nsx segment list と vmware-nsx nat list app-t1

書き込みコマンドを実行する前に、--dry-run を使ってプレビューしてください。

ネットワークの健全性を確認する
  1. マネージャーのステータス:vmware-nsx health manager-status
  2. トランスポートノード:vmware-nsx health transport-nodes
  3. エッジクラスター:vmware-nsx health edge-clusters
  4. アラーム:vmware-nsx health alarms --severity HIGH(完全一致フィルターです。重大度ごとに個別に照会してください)
VM の接続をトラブルシューティングする
  1. VM のセグメントを特定する:vmware-nsx troubleshoot vm-segment <vm-display-name>
  2. ポートの実現状態を確認する:vmware-nsx troubleshoot port-status <segment-id>(セグメント上のすべてのポート:アタッチメント、実現済みのバインディング、トランスポートノード)
  3. ルートを確認する:vmware-nsx gateway routes-t1 app-t1
  4. BGP を確認する:vmware-nsx gateway bgp-neighbors tier0-gw

MCP ツール(33 — 読み取り 20、書き込み 13)

カテゴリツール種類
セグメントlist_segments, get_segment, create_segment, update_segment, delete_segment読み取り/書き込み
Tier-0 GWlist_tier0_gateways, get_tier0_gateway, get_bgp_neighbors, configure_tier0_bgp読み取り/書き込み
Tier-1 GWlist_tier1_gateways, get_tier1_gateway, create_tier1_gateway, update_tier1_gateway, delete_tier1_gateway読み取り/書き込み
NATlist_nat_rules, create_nat_rule, delete_nat_rule読み取り/書き込み
静的ルートlist_static_routes, create_static_route, delete_static_route読み取り/書き込み
IP プールlist_ip_pools, get_ip_pool_usage, create_ip_pool, delete_ip_pool読み取り/書き込み
ファブリックlist_transport_zones, list_transport_nodes, list_edge_clusters読み取り
健全性list_nsx_alarms(重大度ごと、完全一致)、get_transport_node_status, get_edge_cluster_status, get_nsx_manager_status読み取り
トラブルシューティングget_logical_port_status(セグメント上のすべてのポートの実現状態)、get_segment_port_for_vm(VM の表示名で検索)読み取り

ツールごとのエンドポイントとメソッドの全一覧:skills/vmware-nsx/references/capabilities.md。

CLI

# Segments
vmware-nsx segment list
vmware-nsx segment get app-web-seg
vmware-nsx segment create app-web-seg --name app-web-seg --tz <tz-overlay-path> --subnet 10.10.1.1/24
vmware-nsx segment delete app-web-seg

# Gateways
vmware-nsx gateway list-t0
vmware-nsx gateway list-t1
vmware-nsx gateway create-t1 app-t1 --edge-cluster edge-cluster-01 --tier0 tier0-gw
vmware-nsx gateway bgp-neighbors tier0-gw
vmware-nsx gateway routes-t1 app-t1

# NAT
vmware-nsx nat list app-t1
vmware-nsx nat create app-t1 --action SNAT --source 10.10.1.0/24 --translated 172.16.0.10
vmware-nsx nat delete-rule --tier1 app-t1 --rule-id rule-01

# Static Routes
vmware-nsx route list app-t1
vmware-nsx route create app-t1 --network 192.168.100.0/24 --next-hop 10.10.1.254

# IP Pools
vmware-nsx ippool list
vmware-nsx ippool create tep-pool
vmware-nsx ippool add-subnet tep-pool --start 192.168.100.10 --end 192.168.100.50 --cidr 192.168.100.0/24

# Health & Troubleshooting
vmware-nsx health alarms --severity HIGH   # exact match: LOW | MEDIUM | HIGH | CRITICAL
vmware-nsx health transport-nodes
vmware-nsx health manager-status
vmware-nsx troubleshoot vm-segment my-vm-01          # VM display name
vmware-nsx troubleshoot port-status app-web-seg      # segment ID

# Diagnostics
vmware-nsx doctor

MCP サーバー

uv tool install vmware-nsx-mgmt の実行後、1 つのコマンドで MCP サーバーを起動できます(v1.5.15 以降):

# Recommended — single command, no network re-resolve
vmware-nsx mcp

# Or via Docker
docker compose up -d
エージェントの設定

AI エージェントの MCP 設定に追加します:

{
  "mcpServers": {
    "vmware-nsx": {
      "command": "vmware-nsx",
      "args": ["mcp"],
      "env": {
        "VMWARE_NSX_CONFIG": "~/.vmware-nsx/config.yaml"
      }
    }
  }
}
代替方法:uvx(インストール不要)または従来のエントリーポイント
# Run without installing (requires PyPI access each launch)
uvx --from vmware-nsx-mgmt vmware-nsx mcp

# Legacy entry point (still works, kept for backward compatibility)
vmware-nsx-mcp

企業の TLS プロキシ経由で接続していますか? uvx は invalid peer certificate: UnknownIssuer で失敗する場合があります。 上記の推奨形式 vmware-nsx mcp(ネットワーク接続不要)を使用するか、UV_NATIVE_TLS=true を設定してください。

その他のエージェント設定テンプレート(Claude Code、Cursor、Goose、Continue など)は examples/mcp-configs/ にあります。

バージョンの互換性

NSX バージョンサポート注意事項
NSX 9.1完全Policy API をサポートしています。注意:VDS 7.0 以降が必要です(NSX 9 では N-VDS が削除されています)。
NSX 9.0完全Policy API をサポートしています。注意:ベアメタルエージェント/物理サーバーの L2 オーバーレイが削除されています。
NSX 4.x完全最新の Policy API とすべての機能に対応しています
NSX-T 3.2完全すべての機能が動作します
NSX-T 3.1完全ルートテーブルの形式に軽微な違いがあります
NSX-T 3.0互換IP プールのサブネット API が導入されたバージョンです
NSX-T 2.5制限ありPolicy API が不完全なため、一部のツールが失敗する場合があります
NSX-V (6.x)非対応API が異なります(SOAP ベース)
VCF との互換性
VCF バージョンバンドルされている NSXサポート
VCF 9.1NSX 9.1完全
VCF 9.0NSX 9.0完全
VCF 5.xNSX 4.x完全
VCF 4.3-4.5NSX-T 3.1-3.2完全
Broadcom 公式リファレンス

安全性

機能説明
読み取り中心33 個のツールのうち 20 個は読み取り専用です
二重確認CLI の書き込みコマンドでは、2 回確認を求められます
ドライランモードすべての書き込みコマンドで --dry-run によるプレビューが可能です
MCP の削除プレビュー5 つの MCP 削除ツールは、デフォルトでプレビューを表示します。confirm=True を指定しない場合、削除対象(blast_radius)、blockers、unmeasured を返し、何も削除しません。ブロッカーが残っている場合、または読み取りに失敗した場合は、confirm=True が拒否されます
依存関係のチェックポートが接続されている間は、セグメントの削除が拒否されます。セグメント、NAT ルール、静的ルート、インターフェイス、VPN/DNS フォワーダー/LB サービスが依存している間は、Tier-1 の削除が拒否され、何も削除されません(--dry-run でも同じチェックが実行されます)。MCP では、アドレスが割り当てられている間は IP プールの削除が拒否されます。割り当ての確認には、Policy の ip-allocations、または NSX の pool_usage カウントが使われます。後者は、Policy に表示されないアドレス(例:TEP プール)も対象です。また、pool_usage を読み取れない場合も削除は拒否されます。NAT ルールと静的ルートの削除にブロッカーはありません。プレビューには、ルールの一致条件、またはルートのネットワークとネクストホップが表示されます
入力検証CIDR、IP、VLAN ID、ゲートウェイの存在が検証されます
監査ログすべての操作が ~/.vmware-nsx/audit.log に記録されます
ファイアウォール操作なしDFW ルールやセキュリティグループの作成・変更はできません
認証情報の安全性パスワードは環境変数からのみ取得されます
プロンプトインジェクション対策NSX オブジェクト名は出力前にサニタイズされます

トラブルシューティング

問題原因と対処方法
「Segment not found」Policy API では display_name ではなく、セグメントの id が使われます。正確な ID を取得するには segment list を実行してください。
NAT の作成時に「gateway not found」で失敗するNAT には Tier-1(または Tier-0)ゲートウェイが必要です。gateway list-t1 で確認してください。ゲートウェイにはエッジクラスターが必要です。
BGP ネイバーが Connect/Active のままになるピアに到達できない、ASN が一致しない、TCP 179 がブロックされている、または MD5 パスワードが一致しない可能性があります。
トランスポートノードが「degraded」になるTEP に到達できない(MTU >= 1600 を確認してください)、NTP 同期の問題、またはホストスイッチ設定の不一致が考えられます。
「Password not found」変数名を確認してください:VMWARE_NSX_<TARGET_UPPER>_PASSWORD(ハイフンはアンダースコアに置き換えます)。~/.vmware-nsx/.env を確認してください。
接続がタイムアウトする高遅延ネットワークで認証チェックを回避するには、vmware-nsx doctor --skip-auth を使用してください。

リモートアクセス(HTTPS)とツールの制限

デフォルトでは、vmware-nsx mcp はローカルの 1 つのクライアントと stdio で通信し、すべてのツールを提供します。次の 2 つのオプションで動作を変更できます (vmware-policy ≥ 1.21.0)。

HTTPS で提供すると、別のマシン上のクライアントも接続できます。呼び出し元にはすべてベアラートークンが必要です。

vmware-audit token create alice          # prints the token once; give it to alice
vmware-audit token list                  # names only
vmware-audit token revoke alice          # refused from its next request, no restart
vmware-nsx mcp --transport https --host 0.0.0.0 --port 8443 \
    --cert /etc/vmware-mcp/server.pem --key /etc/vmware-mcp/server-key.pem \
    --public-name mcp.example.com

クライアントを接続します(Claude Code の例です。ストリーミング可能な HTTP とカスタムヘッダーに対応する MCP クライアントであれば、どれでも使用できます)。

claude mcp add --transport http vmware-nsx https://mcp.example.com:8443/mcp \
    --header "Authorization: Bearer $VMWARE_MCP_TOKEN"
{
  "mcpServers": {
    "vmware-nsx": {
      "type": "http",
      "url": "https://mcp.example.com:8443/mcp",
      "headers": { "Authorization": "Bearer ${VMWARE_MCP_TOKEN}" }
    }
  }
}
  • トークンがないとサーバーは起動せず、--public-name に含まれない Host/Origin 値を拒否します。また、バインド前に認証されていないリクエストに 401 を返すことを確認します。クライアントがこれらの名前を信頼する証明書を使用してください。
  • 同じマシン上の TLS 終端リバースプロキシの背後で使用する場合は、--transport http --host 127.0.0.1 --public-name mcp.example.com を指定し、Authorization ヘッダーを転送してください。
  • 別のマシン上のロードバランサーまたはゲートウェイの背後で使用する場合は、--transport https を指定します(自己署名証明書でもかまいません)。ロードバランサーが Host として送信するホスト名を --public-name に列挙し、Authorization を転送するようにしてください。 ヘルスプローブには GET /healthz を使用できます。トークンは不要で、{"status": "ok"} のみを返します (vmware-policy ≥ 1.23.0)。
  • 各リクエストに traceparent または X-Request-ID を指定すると、監査ログの行に保存されます。 vmware-audit log --correlation-id ID を実行すると、1 つのプラットフォームリクエストに関連する呼び出しを見つけられます。
  • 監査ログでは、各呼び出し元は token:<name> として記録されます。呼び出しは、ターゲットの有無にかかわらず並行して実行されます。各ターゲットは最大 VMWARE_MCP_POOL_SIZE 個のセッション(デフォルトは 2)を保持し、各セッションはターゲットへのログインです。すべてのセッションが使用中の場合、呼び出しは最大 300 秒間、空きができるのを待ちます。
  • エンドポイントにアクセスできるユーザーは全員、このサーバーのアカウントで操作します。 トークンは呼び出し元を識別するもので、プラットフォーム上の権限を付与するものではありません。権限レベルごとにエンドポイントを 1 つ実行してください。
  • 1 つのエンドポイントで複数のユーザーやロールを扱う場合: vmware-audit roles enable を 1 回実行し、各トークンにロールを割り当てます(vmware-audit token create NAME --role reader を実行するか、ツールとターゲットを指定するロールを roles.yaml に記述します。vmware-policy ≥ 1.24.0)。ロールは、このエンドポイントでトークンが呼び出せるものを制限します。アカウントの権限を超える権限は付与できません。vmware-policy の README の「Roles for network callers」を参照してください。

読み取りツールと、選択した書き込みツールだけを提供します:

vmware-nsx mcp --expose read --allow-write create_ip_pool
# or: VMWARE_NSX_MCP_EXPOSE=read VMWARE_NSX_MCP_ALLOW_WRITE=create_ip_pool vmware-nsx mcp

提供対象外のツールは、クライアントのツール一覧に表示されません。不正な値または不明な書き込みツールを指定すると、サーバーは終了します (exit 2)。これはクライアントに提供するツールを制限するもので、認可ではありません。そのため、アカウント自体には最小権限を適用してください。

詳細は skills/vmware-nsx/references/setup-guide.md の「Serving MCP over HTTPS」と「Limiting which tools are offered」を参照してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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