Skip to main content

VMware vSphere storage management: datastores, iSCSI, vSAN. Domain-focused MCP skill.

Project description

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

Skill Scope Tools Install
vmware-aiops ⭐ entry point VM lifecycle, deployment, guest ops, clusters 31 uv tool install vmware-aiops
vmware-monitor Read-only monitoring, alarms, events, VM info 8 uv tool install vmware-monitor
vmware-vks Tanzu Namespaces, TKC cluster lifecycle 20 uv tool install vmware-vks
vmware-nsx NSX networking: segments, gateways, NAT, IPAM 31 uv tool install vmware-nsx-mgmt
vmware-nsx-security DFW microsegmentation, security groups, Traceflow 20 uv tool install vmware-nsx-security
vmware-aria Aria Ops metrics, alerts, capacity planning 18 uv tool install vmware-aria

Quick Install

# Via PyPI
uv tool install vmware-storage

# Or pip
pip install 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)

Category Tools Type
Datastore list_all_datastores, browse_datastore, scan_datastore_images, list_cached_images Read
iSCSI storage_iscsi_enable, storage_iscsi_status, storage_iscsi_add_target, storage_iscsi_remove_target, storage_rescan Read/Write
vSAN vsan_health, vsan_capacity Read

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

# Run directly
uvx --from vmware-storage 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-mcp",
      "env": {
        "VMWARE_STORAGE_CONFIG": "~/.vmware-storage/config.yaml"
      }
    }
  }
}

Why a Separate Skill?

vmware-aiops has 33 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

vSphere Support Notes
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

Safety

Feature Description
Read-heavy 6/11 tools are read-only
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

Troubleshooting

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.
vSAN health shows "unknown" vSAN health requires a vCenter connection, not standalone ESXi.
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 Variable names follow VMWARE_<TARGET_UPPER>_PASSWORD (hyphens → underscores). Check ~/.vmware-storage/.env.
Connection timeout to vCenter Use vmware-storage doctor --skip-auth to bypass auth checks on high-latency networks.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vmware_storage-1.5.7.tar.gz (109.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vmware_storage-1.5.7-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

File details

Details for the file vmware_storage-1.5.7.tar.gz.

File metadata

  • Download URL: vmware_storage-1.5.7.tar.gz
  • Upload date:
  • Size: 109.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vmware_storage-1.5.7.tar.gz
Algorithm Hash digest
SHA256 b305e4a7dc144538acddfaba5012e61534e455e0adfc303101cfbdf5045d4782
MD5 4b352038b6ddc01a8fffd2f5f1822e75
BLAKE2b-256 e39e8c57097b57865fa6e3749b9e06706cd2a99867b26eeb08c4a3134e8fac97

See more details on using hashes here.

File details

Details for the file vmware_storage-1.5.7-py3-none-any.whl.

File metadata

  • Download URL: vmware_storage-1.5.7-py3-none-any.whl
  • Upload date:
  • Size: 23.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vmware_storage-1.5.7-py3-none-any.whl
Algorithm Hash digest
SHA256 2050b41b31789a54e2afc79d3973f11e38ffc5ce5c01d181bae5be3d196fc62c
MD5 0545b49cdaf38665f57dbe5d472c0cde
BLAKE2b-256 c7bfd2485a7d152d31d8d8f52c44ae3fa0823115b1f2ec6b9139e95148b4a33f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page