Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
vSphere with Tanzu (VKS): Namespace and TanzuKubernetesCluster lifecycle. Requires vSphere 8.x+.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
VMWARE_VKS_CONFIG必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"vmware-vks": {
"command": "uvx",
"args": [
"vmware-vks",
"mcp"
],
"env": {
"VMWARE_VKS_CONFIG": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add vmware-vks --env VMWARE_VKS_CONFIG=your-value -- uvx vmware-vks mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"vmware-vks": {
"command": "uvx",
"args": [
"vmware-vks",
"mcp"
],
"env": {
"VMWARE_VKS_CONFIG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"vmware-vks": {
"type": "stdio",
"command": "uvx",
"args": [
"vmware-vks",
"mcp"
],
"env": {
"VMWARE_VKS_CONFIG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
VMWARE_VKS_CONFIG envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント vmware-skills で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(3.5.0)がレジストリに届いたのは6 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Microsoft Exchange Online MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Exchange Online admin for MSPs: forwarding audits, EWS posture and offboarding, no PowerShell
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
For a read-only check of this skill with your model and agent host, use the shared model-fit self-test in the marketplace root.
Author: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com
This is a community-driven project by a VMware engineer, not an official VMware product.
For official VMware developer tools see developer.broadcom.com.
English | 中文
MCP Skill + CLI for VMware vSphere Kubernetes Service (VKS) management — Supervisor clusters, vSphere Namespaces, and VKS Cluster lifecycle. 25 MCP tools.
3.0 renames the two kubeconfig tools: get_supervisor_kubeconfig → issue_supervisor_kubeconfig, get_tkc_kubeconfig → issue_tkc_kubeconfig. They issue a credential (a Supervisor bearer token) rather than read something, and a get_ name told agents otherwise. Parameters, annotations, safety and CLI commands (vmware-vks kubeconfig supervisor / kubeconfig get) are unchanged; callers of the old names must switch (saved vmware-pilot workflows are translated by Pilot ≥ 2.0.0). Deny rules in ~/.vmware/rules.yaml naming the old names keep working with vmware-policy ≥ 1.19.0. Details in RELEASE_NOTES.md.
2.0 renames the three VM Service tools: list_vm_snapshots → list_vm_service_snapshots, list_vm_groups → list_vm_service_groups, list_vm_network_interfaces → list_vm_service_network_interfaces. The reason is a name clash: in the family's 2.0, vmware-aiops and vmware-monitor call their vSphere VM snapshot tool list_vm_snapshots, while these list Kubernetes VM Service (vm-operator) objects. Trap: an agent prompt, script or saved workflow that still calls list_vm_snapshots with vmware-aiops or vmware-monitor also loaded now reaches the vSphere tool, not this one — update it. A VKS-scoped deny rule naming list_vm_snapshots now also matches the aiops/monitor tool (vmware-policy ≥ 1.18 matches both names; vmware-audit policy lists such rules). Parameters, safety gates and CLI commands are unchanged; the full table is in RELEASE_NOTES.md. If an install older than 2.0 shares that rules.yaml, give it vmware-policy ≥ 1.18.2 too: it matches each rule against both the old and the new name, so one file serves both.
Part of the VMware MCP Skills family. Each skill handles a distinct domain — install only what you need.
| Skill | Scope | Tools | Install |
|---|---|---|---|
| [vmware-aiops](https://github.com/vmware-skills/VMware-AIops) ⭐ entry point | VM lifecycle, deployment, guest ops, clusters | 49 | uv tool install vmware-aiops |
| [vmware-monitor](https://github.com/vmware-skills/VMware-Monitor) | Read-only monitoring, alarms, events, VM info | 27 | uv tool install vmware-monitor |
| [vmware-storage](https://github.com/vmware-skills/VMware-Storage) | Datastores, iSCSI, vSAN | 11 | uv tool install vmware-storage |
| [vmware-nsx](https://github.com/vmware-skills/VMware-NSX) | NSX networking: segments, gateways, NAT, IPAM | 33 | uv tool install vmware-nsx-mgmt |
| [vmware-nsx-security](https://github.com/vmware-skills/VMware-NSX-Security) | DFW microsegmentation, security groups, Traceflow | 21 | uv tool install vmware-nsx-security |
| [vmware-aria](https://github.com/vmware-skills/VMware-Aria) | Aria Ops metrics, alerts, capacity planning | 28 | uv tool install vmware-aria |
uv tool installRun vmware-vks check after setup to verify all requirements are met.
# Install
uv tool install vmware-vks
mkdir -p ~/.vmware-vks cp config.example.yaml ~/.vmware-vks/config.yaml
echo "VMWARE_VKS_VCENTER01_PASSWORD=your_password" > ~/.vmware-vks/.env chmod 600 ~/.vmware-vks/.env
vmware-vks check
vmware-vks supervisor status domain-c1 vmware-vks namespace list vmware-vks tkc list vmware-vks tkc create my-cluster -n dev --version v1.28.4+vmware.1 --vm-class best-effort-large vmware-vks tkc create my-cluster -n dev --apply
This project uses the modern PEP 517 build system (hatchling), so there is no `setup.py` by design — that is expected, not a missing file. If you cloned the source and hit ERROR: File "setup.py" or "setup.cfg" not found ... editable mode currently requires a setuptools-based build, your pip is older than 21.3 and cannot do an *editable* (-e) install with a non-setuptools backend. Editable mode is a developer convenience, not needed to run the tool — do one of:
# From the source tree — a normal (non-editable) install builds a wheel:
pip install . # NOT pip install -e .
pip install --upgrade pip && pip install -e .
For a truly air-gapped host, build the wheels on a connected machine and copy them over — the target then needs no network:
# On a connected machine, collect this package + its dependencies as wheels:
pip wheel . -w dist # → dist/*.whl (or: uv build, for just this package)
pip install --no-index --find-links dist vmware-vks
vmware-vks checkvmware-vks tkc versions -n devvmware-vks namespace create dev --cluster domain-c1 --storage-policy --cpu 16000 --memory 32768 --apply (get the policy ID from vmware-vks supervisor storage-policies)vmware-vks tkc create dev-cluster -n dev --version v1.28.4+vmware.1 --control-plane 1 --workers 3 --vm-class best-effort-large --applyvmware-vks kubeconfig get dev-cluster -n dev -o ./kubeconfig — writes an owner-only file instead of printing the tokenvmware-vks tkc get dev-cluster -n devvmware-vks tkc scale dev-cluster -n dev --workers 6vmware-vks tkc get dev-cluster -n dev (watch phase)vmware-vks namespace listvmware-vks storage -n devvmware-vks namespace update dev --cpu 32000 --memory 65536| Tool | Description | Type |
|---|---|---|
check_vks_compatibility | vCenter version check + WCP status | Read |
get_supervisor_upgrade_risk | vCenter 9.1.0/9.1.1 pre-upgrade advisory scope; VUMDB schema remains unmeasured; links to the official checker | Read |
get_supervisor_status | Supervisor cluster status and K8s API endpoint | Read |
list_supervisor_storage_policies | vCenter storage policies (policy ID, name, description) | Read |
For an upgrade from vCenter 8.0 Update 3 or 9.0.0–9.0.2 to 9.1.0/9.1.1, run supervisor upgrade-risk before scheduling. Its report cannot inspect the VUMDB schema or establish upgrade clearance. If a Supervisor/VKS environment is in scope, follow the Broadcom checker and remediation instructions or VDT, then back up vCenter and Supervisor before upgrading.
| Tool | Description | Type |
|---|---|---|
list_namespaces | All vSphere Namespaces with status | Read |
get_namespace | Namespace detail (quotas, storage, roles) | Read |
create_namespace | Create Namespace; previews by default (confirm=True applies) | Write |
update_namespace | Modify quotas and storage policy | Write |
delete_namespace | Delete with TKC guard (rejects if clusters exist) | Write |
list_vm_classes | Available VM classes for TKC sizing | Read |
| Tool | Description | Type |
|---|---|---|
list_tkc_clusters | TanzuKubernetesCluster list with status | Read |
get_tkc_cluster | Cluster detail (nodes, health, conditions) | Read |
get_tkc_available_versions | Supported K8s versions on Supervisor | Read |
create_tkc_cluster | Create TKC; previews the YAML plan by default (confirm=True applies) | Write |
scale_tkc_cluster | Scale worker node count | Write |
upgrade_tkc_cluster | Upgrade K8s version | Write |
delete_tkc_cluster | Delete with workload guard | Write |
| Tool | Description | Type |
|---|---|---|
issue_supervisor_kubeconfig | Supervisor kubeconfig — credential (bearer token); inline or owner-only file | Write |
issue_tkc_kubeconfig | TKC kubeconfig — credential (bearer token); inline or owner-only file | Write |
get_harbor_info | Embedded Harbor registry info (id, cluster, version, URL, health, storage used) | Read |
list_namespace_storage_usage | PVC list and capacity stats | Read |
VCF 9.1 TKC access: In one live 9.1 report, issue_tkc_kubeconfig put a Supervisor JWT into the guest kubeconfig and the TKC API rejected it with 401. Treat the generated file as unverified for guest access; test it against the guest API before use. See issue #27. Supervisor-scoped TKC reads are unaffected in that report.
| Tool | Description | Type |
|---|---|---|
list_vm_service_snapshots | VirtualMachineSnapshot objects in a vSphere Namespace | Read |
list_vm_service_groups | VirtualMachineGroup objects and their boot order in a Namespace | Read |
list_vm_service_network_interfaces | Network interfaces (multi-NIC) of one VM Service VirtualMachine | Read |
| Tool | Description | Type |
|---|---|---|
get_access_info | Which account the server uses and whether it holds each tool's vSphere privileges on the root folder. Kubernetes calls are authorized by the namespace's own permissions, which it does not check | Read |
User (Natural Language)
↓ AI Agent (Claude Code / Goose / Cursor) ↓ reads SKILL.md ↓ vmware-vks CLI ─── or ─── vmware-vks MCP Server (stdio) │ ├─ Layer 1: pyVmomi (/sdk) + vSphere Automation REST (/api) │ Supervisor status, storage policies, Namespace CRUD, VM classes, Harbor │ Two session stores: the SOAP session from SmartConnect, and a separate │ REST session id from POST /api/session (vmware-api-session-id header) │ └─ Layer 2: kubernetes client → Supervisor K8s API endpoint TKC CR apply / get / delete (cluster.x-k8s.io API version auto-detected: prefers v1 when Supervisor serves it, falls back to v1beta1 for vSphere 8.0) Kubeconfig built in-memory from the POST /wcp/login bearer token (a third credential, and no temp file on disk) ↓ vCenter Server 8.x+ (Workload Management enabled) ↓ Supervisor Cluster → vSphere Namespaces → TanzuKubernetesCluster
# Pre-flight diagnostics
vmware-vks check
#
冒頭だけを表示しています。続きはリポジトリで読めます