zw008/VMware-Storage

☁️ Cloud Platforms
0 Views
0 Installs

🐍 ☁️ - VMware vSphere storage management β€” datastores (NFS/VMFS), iSCSI software adapter and dynamic targets, and vSAN cluster operations. 11 tools with dry-run preview and double-confirmation for iSCSI configuration changes.

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "zw008-vmware-storage": {
      "command": "npx",
      "args": [
        "-y",
        "zw008-vmware-storage"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

VMware Storage

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 β€” 11 MCP tools, domain-focused and lightweight.

Split from vmware-aiops for lighter context and local model compatibility.

License: MIT

Companion Skills

SkillScopeToolsInstall
vmware-aiops ⭐ entry pointVM lifecycle, deployment, guest ops, clusters49uv tool install vmware-aiops
vmware-monitorRead-only monitoring, alarms, events, VM info27uv tool install vmware-monitor
vmware-vksTanzu Namespaces, TKC cluster lifecycle20uv tool install vmware-vks
vmware-nsxNSX networking: segments, gateways, NAT, IPAM33uv tool install vmware-nsx-mgmt
vmware-nsx-securityDFW microsegmentation, security groups, Traceflow21uv tool install vmware-nsx-security
vmware-ariaAria Ops metrics, alerts, capacity planning28uv tool install vmware-aria

Quick Install

# Via PyPI
uv tool install vmware-storage

# Or pip
pip install vmware-storage

Offline / Air-Gapped Install (from source)

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 .

# ...or upgrade pip first, and editable works too:
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)

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

Configuration

mkdir -p ~/.vmware-storage
cp config.example.yaml ~/.vmware-storage/config.yaml
# Edit with your vCenter/ESXi credentials

echo "VMWARE_MY_VCENTER_PASSWORD=your_password" > ~/.vmware-storage/.env
chmod 600 ~/.vmware-storage/.env

# Verify
vmware-storage doctor

MCP Tools (11)

CategoryToolsType
Datastorelist_all_datastores, browse_datastore, scan_datastore_images, list_cached_imagesRead
iSCSIstorage_iscsi_enable, storage_iscsi_status, storage_iscsi_add_target, storage_iscsi_remove_target, storage_rescanRead/Write
vSANvsan_health, vsan_capacityRead

Auto-Remediation Patterns (PoC)

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.

Common Workflows

Set Up iSCSI Storage on a Host

  1. Enable iSCSI adapter: vmware-storage iscsi enable esxi-01
  2. Add target: vmware-storage iscsi add-target esxi-01 10.0.0.100
  3. Verify: vmware-storage iscsi status esxi-01

The add-target command automatically rescans storage. Use --dry-run to preview any write command first.

Find Deployable Images Across Datastores

  1. List all datastores: vmware-storage datastore list
  2. Scan for images: vmware-storage datastore scan-images datastore01
  3. Browse with a pattern: vmware-storage datastore browse datastore01 --pattern "*.iso"

vSAN Health Assessment

  1. Check health: vmware-storage vsan health Cluster-Prod
  2. Check capacity: vmware-storage vsan capacity Cluster-Prod
  3. If issues found, investigate with vmware-monitor for alarms and events

CLI

# Datastore
vmware-storage datastore list
vmware-storage datastore browse datastore01
vmware-storage datastore scan-images datastore01

# iSCSI
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

# vSAN
vmware-storage vsan health Cluster-Prod
vmware-storage vsan capacity Cluster-Prod

# Diagnostics
vmware-storage doctor

MCP Server

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

# With a custom config path
VMWARE_STORAGE_CONFIG=/path/to/config.yaml vmware-storage mcp

# Or via Docker
docker compose up -d

Agent Configuration

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

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

Behind a corporate TLS proxy? uvx may fail with invalid peer certificate: UnknownIssuer. Use the recommended vmware-storage mcp form above (no network needed), or set UV_NATIVE_TLS=true.

Why a Separate Skill?

vmware-aiops has 49 MCP tools β€” too heavy for local LLMs (7B-14B). By splitting storage into its own skill:

  • 11 tools β€” fits comfortably in small model context windows
  • Domain-focused β€” storage admins get only what they need
  • Composable β€” use alongside vmware-monitor or vmware-aiops as needed

Version Compatibility

Python: 3.10+ (since v1.5.27 β€” previously 3.11+). Tested on 3.10 / 3.11 / 3.12.

vSphere / VCFSupportNotes
VCF 9.1 / vSphere 9.1FullReleased 2026-05-12. pyVmomi+vSAN SDK <10.0 works via SOAP.
VCF 9.0 / vSphere 9.0FullpyVmomi 8.0.3+ with bundled vSAN SDK connects to vSphere 9.
8.0FullvSAN SDK built into pyVmomi 8.0.3+
7.0FullAll storage APIs work
6.7CompatibleiSCSI + datastore features work; vSAN limited

Official Broadcom References

Safety

FeatureDescription
Read-heavy7/11 tools are read-only
Input validationIP addresses and ports validated before iSCSI operations
Audit loggingAll operations logged to ~/.vmware-storage/audit.log
No VM operationsCannot create, delete, or modify VMs
Credential safetyPasswords only from environment variables, never config files

Troubleshooting

ProblemCause & 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 browsingDatastore names are case-sensitive. Run datastore list to get the exact name.
vSAN health shows "unknown"vSAN health requires a vCenter connection, not standalone ESXi.
Rescan doesn't discover new LUNsWait 15-30 seconds after adding targets, then rescan again. Verify target IP is reachable from ESXi.
"Password not found" errorVariable names follow VMWARE_<TARGET_UPPER>_PASSWORD (hyphens β†’ underscores). Check ~/.vmware-storage/.env.
Connection timeout to vCenterUse vmware-storage doctor --skip-auth to bypass auth checks on high-latency networks.
"Datastore browse did not finish within Ns"The datastore is very large or busy. Narrow the search with a sub-path and a specific pattern (e.g. datastore browse ds01 --path templates --pattern "*.ova") instead of browsing the root β€” do not just retry the same broad browse.

License

MIT

Related MCP Servers

4everland/4everland-hosting-mcp

πŸŽ–οΈ πŸ“‡ 🏠 🍎 🐧 - An MCP server implementation for 4EVERLAND Hosting enabling instant deployment of AI-generated code to decentralized storage networks like Greenfield, IPFS, and Arweave.

☁️ Cloud Platforms0 views
aashari/mcp-server-aws-sso

πŸ“‡ ☁️ 🏠 - AWS Single Sign-On (SSO) integration enabling AI systems to securely interact with AWS resources by initiating SSO login, listing accounts/roles, and executing AWS CLI commands using temporary credentials.

☁️ Cloud Platforms0 views
agentmetal/mcp

πŸŽ–οΈ πŸ“‡ ☁️ - Provision, SSH into, run commands on, and manage Linux VPSes from an agent β€” pay USDC over x402 or by card over HTTP 402, a running box in under 60s. No signup, no API key to buy.

☁️ Cloud Platforms0 views
alexbakers/mcp-ipfs

πŸ“‡ ☁️ - upload and manipulation of IPFS storage

☁️ Cloud Platforms0 views

Engagement

Views
0
Installs
0
Upvotes
0

Views and upvotes are unique per visitor network (hashed IP). Installs count copy actions.

Status

Health: Not checked yet

We have not completed a health check for this listing yet.

No check timestamp yet.

Unclaimed listing (imported or pending owner verification). Claim it β†’
β˜… Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.