Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
VMware vSphere storage management with 11 MCP tools: datastores, iSCSI, vSAN.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"vmware-storage": {
"command": "uvx",
"args": [
"vmware-storage"
]
}
}
}在终端中运行这条命令
claude mcp add vmware-storage -- uvx vmware-storage粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"vmware-storage": {
"command": "uvx",
"args": [
"vmware-storage"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"vmware-storage": {
"type": "stdio",
"command": "uvx",
"args": [
"vmware-storage"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 zw008 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.8.8)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Spec Driven Development, Remote Desktop Commander, AvaHR
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况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.
Read hiring data and create inactive assessment and questionnaire drafts for human review.
按原文从作者的仓库复制。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 | 中文
VMware vSphere storage management: datastores, iSCSI, vSAN, and read-only Fibre Channel / multipath diagnostics — 16 MCP tools, domain-focused and lightweight.
Split from vmware-aiops for lighter context and local model compatibility.
2.0 renames 10 of its MCP tools (all but the four that already started with a verb) so every name starts with a verb (e.g. fc_adapter_list → list_fc_adapters, storage_device_paths → list_storage_device_paths, storage_iscsi_add_target → add_iscsi_target). The full old → new table is in RELEASE_NOTES.md. Three tools also change a parameter: browse_datastore and scan_datastore_images take datastore_name (was ds_name, now the same as vmware-aiops' browse_datastore), and list_all_datastores gains an optional limit (same as vmware-monitor's). Everything else stays: same tools, safety gates and CLI commands (the CLI still takes the datastore name as before). If an agent prompt, script or ~/.vmware/rules.yaml names a tool, update it — though deny rules written with the old names keep working with vmware-policy ≥ 1.18 (vmware-audit policy lists any rule the renames widened), and vmware-pilot ≥ 1.13 translates old names in saved workflows. 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.
| 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-vks](https://github.com/vmware-skills/VMware-VKS) | Tanzu Namespaces, TKC cluster lifecycle | 20 | uv tool install vmware-vks |
| [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 |
# Via PyPI
uv tool install vmware-storage
pip install vmware-storage
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-storage
mkdir -p ~/.vmware-storage
cp config.example.yaml ~/.vmware-storage/config.yaml
echo "VMWARE_MY_VCENTER_PASSWORD=your_password" > ~/.vmware-storage/.env chmod 600 ~/.vmware-storage/.env
vmware-storage doctor
| Category | Tools | Type |
|---|---|---|
| Datastore | list_all_datastores, get_datastore_vm_usage, browse_datastore, scan_datastore_images, list_cached_images | Read |
| iSCSI | enable_iscsi, get_iscsi_status, add_iscsi_target, remove_iscsi_target, rescan_storage | Read/Write |
| vSAN | get_vsan_health, get_vsan_capacity, get_vsan_efficiency | Read |
| FC / multipath | list_fc_adapters, list_storage_device_paths | Read |
| Access | get_access_info — which account the server uses and whether it holds each tool's vSphere privileges (root folder) | Read |
The patterns/ directory hosts L5 auto-remediation candidate patterns from the Enterprise Harness Engineering framework. The first PoC pattern, patterns/iscsi-target-stale-rescan.yaml, describes an iSCSI HBA rescan as a low-risk, reversible, repeatable operation. The pattern schema is documented here only — runtime enforcement is not yet wired up, so this is a reference design, not production auto-remediation.
vmware-storage iscsi enable esxi-01vmware-storage iscsi add-target esxi-01 10.0.0.100vmware-storage iscsi status esxi-01The add-target command automatically rescans storage. Use --dry-run to preview any write command first.
vmware-storage datastore listvmware-storage datastore scan-images datastore01vmware-storage datastore browse datastore01 --pattern "*.iso"vmware-storage vsan health Cluster-Prodvmware-storage vsan capacity Cluster-Prodvmware-monitor for alarms and eventsvmware-storage paths devices --datastore ds-fc-01vmware-storage paths devices --cluster Cluster-Prod --only-differencesvmware-storage paths fc-adapters --cluster Cluster-ProdHosts that could not be read are listed in hosts_not_read and are never reported as missing a device. Path states are reported as vSphere reports them — standby is not flagged.
# Datastore
vmware-storage datastore list vmware-storage datastore browse datastore01 vmware-storage datastore scan-images datastore01
vmware-storage iscsi status esxi-01 vmware-storage iscsi enable esxi-01 vmware-storage iscsi add-target esxi-01 192.168.1.100 vmware-storage iscsi remove-target esxi-01 192.168.1.100 vmware-storage iscsi rescan esxi-01
vmware-storage vsan health Cluster-Prod vmware-storage vsan capacity Cluster-Prod
vmware-storage paths fc-adapters --cluster Cluster-Prod vmware-storage paths devices --datastore ds-fc-01
vmware-storage doctor
After `uv tool install vmware-storage`, start the MCP server with one command (v1.5.15+):
# Recommended — single command, no network re-resolve
vmware-storage mcp
VMWARE_STORAGE_CONFIG=/path/to/config.yaml vmware-storage mcp
docker compose up -d
Add to your AI agent's MCP config:
{
"mcpServers": { "vmware-storage": { "command": "vmware-storage", "args": ["mcp"], "env": { "VMWARE_STORAGE_CONFIG": "~/.vmware-storage/config.yaml" } } } }
Alternative: uvx (no install) or legacy entry point
# Run without installing (requires PyPI access each launch)
uvx --from vmware-storage vmware-storage mcp
vmware-storage-mcp
Behind a corporate TLS proxy? uvx may fail with
invalid peer certificate: UnknownIssuer.
Use the recommended
vmware-storage mcpform above (no network needed), or setUV_NATIVE_TLS=true.
vmware-aiops has 61 MCP tools — too heavy for local LLMs (7B-14B). By splitting storage into its own skill:
Python: 3.10+ (since v1.5.27 — previously 3.11+). Tested on 3.10 / 3.11 / 3.12.
| vSphere / VCF | Support | Notes |
|---|---|---|
| VCF 9.1 / vSphere 9.1 | Full | Released 2026-05-12. pyVmomi+vSAN SDK <10.0 works via SOAP. |
| VCF 9.0 / vSphere 9.0 | Full | pyVmomi 8.0.3+ with bundled vSAN SDK connects to vSphere 9. |
| 8.0 | Full | vSAN SDK built into pyVmomi 8.0.3+ |
| 7.0 | Full | All storage APIs work |
| 6.7 | Compatible | iSCSI + datastore features work; vSAN limited |
| Feature | Description |
|---|---|
| Read-heavy | 12/16 tools are read-only |
| Preview by default (MCP) | The 4 write tools take confirm (default false): a call without it changes nothing and returns blast_radius (host, adapters, and for target removal the paths, devices and datastores behind the target). confirm=true is refused when a datastore would lose every path or part of the blast radius could not be read. the old dry_run alias was removed in 2.4.3 and is refused as an unknown argument |
| Input validation | IP addresses and ports validated before iSCSI operations |
| Audit logging | All operations logged to ~/.vmware-storage/audit.log |
| No VM operations | Cannot create, delete, or modify VMs |
| Credential safety | Passwords only from environment variables, never config files |
| Problem | Cause & Fix |
|---|---|
| iSCSI enable fails with "already enabled" | Not an error — adapter is already active. Run iscsi status to see configured targets. |
| "Datastore not found" when browsing | Datastore names are case-sensitive. Run datastore list to get the exact name. |
get_vsan_health returns overall_health: null | null = not asked (see health_not_queried_reason), never a measurement; a string is always vSAN's own answer, including its own "unknown". Usual cause: connected to standalone ESXi, but the health service runs in vCenter. |
| Rescan doesn't discover new LUNs | Wait 15-30 seconds after adding targets, then rescan again. Verify target IP is reachable from ESXi. |
| "Password not found" error | Varia
只显示了开头部分;其余内容请在仓库中阅读