Skip to content
Agentmart
Submit a tool

VMware Storage

VMware vSphere storage management with 11 MCP tools: datastores, iSCSI, vSAN.

Connector by zw008 · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 3
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/zw008-vmware-storage

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

VMware vSphere storage management with 11 MCP tools: datastores, iSCSI, vSAN.

Use cases: cloud-management

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
12 read · 3 write · 1 delete
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 16

Read from the source code; the running server may list different tools.

Read 12 · Look things up without changing anything.

  • browse_datastore
  • get_access_info
  • get_datastore_vm_usage
  • get_iscsi_status
  • get_vsan_capacity
  • get_vsan_efficiency
  • get_vsan_health
  • list_all_datastores
  • list_cached_images
  • list_fc_adapters
  • list_storage_device_paths
  • scan_datastore_images

Write 3 · Create, change, send or run things.

  • add_iscsi_target
  • enable_iscsi
  • rescan_storage

Delete 1 · Delete, drop, revoke or wipe things.

  • remove_iscsi_target

Network hosts it talks to 2

  • anthropic.com · found in code
  • github.com · found in code

Files it touches

  • /Users/zw
  • Your home directory (~)
  • ~/.vmware-storage/audit.log
  • C:\\Users\\Administrator
  • Any path the agent passes to its tools

Tools (16)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_iscsi_target

    [WRITE] Add an iSCSI send (dynamic discovery) target to an ESXi host's software iSCSI adapter, then automatically rescan all HBAs and VMFS volumes to discover new LUNs. Without confirm=True this only previews: it returns blast_radius (the adapter, the send targets configured now, and the adapters the rescan touches) and changes nothing. Show it to the user. Do not set confirm=True on your own because the user asked earlier — they have not seen the preview yet. Refused when software iSCSI is not enabled (run enable_iscsi first) or the host's storage view cannot be read. A duplicate address:por…

  • browse_datastoreread-only

    [READ] Search a datastore folder and all its subfolders for files. Use this for arbitrary files or a glob; prefer scan_datastore_images for deployable images. datastore_name comes from list_all_datastores. Returns the list envelope: 'items' holds one row per file, and 'returned'/'total'/'truncated' state whether the listing is complete. All matches are returned, so truncated is always false. Args: datastore_name: Datastore name. path: Datastore-relative folder to start from (empty for root); a leading '/' or '..' is refused. The search is recursive, so the root retur…

  • enable_iscsi

    [WRITE] Enable the software iSCSI adapter (vmhba) on an ESXi host. Required prerequisite before add_iscsi_target. Without confirm=True this only previews: it returns blast_radius (the host, its current adapters, whether the software adapter already exists) and changes nothing. Show it to the user. Do not set confirm=True on your own because the user asked earlier — they have not seen the preview yet. Already enabled returns action "noop" with the HBA device and IQN. Non-disruptive (no reboot, no impact on existing datastores). Refused when the host's storage view cannot be read. Returns a dic…

  • get_access_inforead-only

    [READ] Which account this server uses, and whether it holds each tool's vSphere privileges. Use this when a tool fails with NoPermission, or before a write, to check what the configured account may do. Asks vCenter/ESXi about the current session (needs only System.View, so any account can ask about itself). Returns target, account, the privilege states, and for one tool its requires/verdict/meaning; without tool, every tool grouped by verdict. Gotchas: privileges are checked on the root folder only. A verdict of not_granted_at_root is NOT "no access" — the privilege may be granted on a specif…

  • get_datastore_vm_usageread-only

    [READ] Which VMs take the space on one datastore, largest first. Use this for "is this datastore filling up, and who is using it?". datastore_name comes from list_all_datastores. Reads vCenter's own per-VM accounting (storage.perDatastoreUsage), so it is space on disk, not the provisioned VMDK sizes browse_datastore shows. Returns {datastore: {name, type, total_gb, used_gb, free_gb, usage_pct}, items, returned, total, truncated, attributed_gb, unattributed_gb, unmeasured_vms, note}. Each item: name, vm_id, template, committed_gb (on disk), uncommitted_gb (thin headroom it may still grow into…

  • get_iscsi_statusread-only

    [READ] Get the software iSCSI adapter state and configured send targets for an ESXi host. Returns {host, enabled, hba_device, iqn, send_targets: [{address, port}]}; when the adapter is disabled, enabled=false with null device/IQN and an empty target list. Use this before enable_iscsi / add_iscsi_target / remove_iscsi_target to check prerequisites, and afterwards to verify the change took effect. Args: host_name: ESXi host name exactly as shown in vCenter inventory (FQDN or IP). Errors if not found. No host listing here — get names from vmware-monitor list_esxi_hosts. …

  • get_vsan_capacityread-only

    [READ] Get space usage of a cluster's vSAN datastore for capacity planning. Returns {cluster_name, vsan_enabled, datastore_name, accessible, total_gb, used_gb, free_gb, usage_pct}. When the vSAN datastore is inaccessible (accessible=false) the four figures are null with a message, not 0 — vCenter answers 0 for a datastore it cannot reach, and 0 GB used reads as a healthy empty datastore. accessible=null means the summary did not say. If vSAN is not enabled on the cluster, returns vsan_enabled=false with an explanatory message rather than an error; errors only if the cluster name is not found.…

  • get_vsan_efficiencyread-only

    [READ] Get vSAN data-efficiency (deduplication + compression) status for a cluster. Returns {cluster_name, vsan_enabled, dedup_enabled, compression_enabled}. Reads it via the vSAN Management SDK (VsanVcClusterConfigSystem), not base pyVmomi. When vSAN reports no data-efficiency config (space efficiency off, or an OSA cluster without it), dedup_enabled/compression_enabled come back null with a message rather than a fabricated false. Errors only if the cluster name is not found. Use get_vsan_capacity for space usage and get_vsan_health for disk-group layout. No side effects. Note: vSAN Global …

  • get_vsan_healthread-only

    [READ] Get vSAN overall health, per-check-group health, and per-host disk-group layout for a cluster. Returns {cluster_name, vsan_enabled, overall_health, overall_health_description, health_queried, health_not_queried_reason, health_checked_at, test_groups: [{group_id, group_name, group_health}], host_count, hosts_read, hosts_not_read: [{host, reason}], disk_groups_complete, disk_groups: [{host, cache_disk, cache_size_gb, capacity_disks}]}. overall_health is what vSAN reports — green / yellow / red, and sometimes "unknown", which is vSAN's own answer. When the health service could not be aske…

  • list_all_datastoresread-only

    [READ] List all datastores with capacity, usage percentage, and accessibility. Use this first for the datastore_name that browse_datastore and scan_datastore_images require. Returns the list envelope: 'items' holds one row per datastore, and 'returned'/'total'/'truncated' state whether the listing is complete. Every datastore is enumerated before limit is applied, so total is the real count and truncated is true only when limit cut rows off. Args: target: Optional vCenter/ESXi target name from config. limit: Max datastores to return (None = all).

  • list_cached_imagesread-only

    [READ] List deployable images (OVA/OVF/ISO/VMDK) from the local cache registry — instant, no vCenter connection or datastore I/O. Reads ~/.vmware-storage/image_registry.json, which scan_datastore_images fills; results may be stale, and are empty until a scan has run. For a live listing use scan_datastore_images instead. Returns the list envelope: 'items' holds {target, datastore, name, ds_path, size_mb, type, modified} and is empty if nothing matches, while 'returned'/'total'/'truncated' state whether the listing is complete. The whole registry is filtered in memory, so truncated is always fa…

  • list_fc_adaptersread-only

    [READ] List Fibre Channel HBAs (FC and FCoE) per ESXi host: vmhba, model, driver, status, port type, WWPN/WWNN and reported link speed. Use this for "which FC adapters does each host have" or to find a host's WWPNs; use list_storage_device_paths for devices and paths behind them. Scope with cluster OR host; with neither, every host on the target is read (only the adapter list is fetched, so this stays cheap). Returns the list envelope ('items', 'returned', 'total', 'truncated', 'next_offset') plus hosts_without_fc (read, no FC HBA) and hosts_not_read [{host, reason}]. A host in hosts_not_rea…

  • list_storage_device_pathsread-only

    [READ] SCSI multipath state per device (NAA) across the hosts of one scope: which hosts see it, path counts and states, working paths, adapters, target WWPN, PSP/SATP policy, and the VMFS datastores on it. Use for: "does datastore X have dead or disabled paths on any host" (datastore=X), "which hosts see naa.… and through which adapters" (cluster + device), "do hosts see different numbers of paths" (cluster + only_differences=true), "which devices and datastores depend on vmhba2" (host + adapter). Exactly one of cluster, host or datastore is required — this tool will not read every host at on…

  • remove_iscsi_targetcan change or delete data

    [WRITE] Remove an iSCSI send target from an ESXi host's software iSCSI adapter, then rescan all HBAs and VMFS volumes. Destructive: LUNs served only through this target become inaccessible after the rescan. Without confirm=True this only previews: it returns blast_radius (the static targets it discovered, the paths that go with them, the devices and VMFS datastores that lose all or some paths) and changes nothing. Show that to the user and get their explicit decision. Do not set confirm=True on your own because the user asked earlier — they have not seen what it cuts off yet. Refused when a d…

  • rescan_storage

    [WRITE] Rescan all HBAs and VMFS volumes on an ESXi host to discover newly presented LUNs and datastores. Use this when a storage array presents new LUNs, or after out-of-band SAN changes. Not needed after add_iscsi_target / remove_iscsi_target — those rescan automatically. Without confirm=True this only previews: it returns blast_radius (the host, every adapter the rescan touches, the mounted VMFS volumes) and changes nothing. Show it to the user. Do not set confirm=True on your own because the user asked earlier — they have not seen the preview yet. Deletes nothing, but it is I/O-visible on…

Show 1 more tools
  • scan_datastore_imagesread-only

    [READ] Scan a datastore for deployable images (OVA, ISO, OVF, VMDK). Use this for a live scan of one datastore; prefer list_cached_images for a cached answer. datastore_name comes from list_all_datastores. Returns the list envelope: 'items' holds one row per image, and 'returned'/'total'/'truncated' state whether the listing is complete. All patterns are browsed, so truncated is always false. Args: datastore_name: Datastore name. path: Datastore-relative subdirectory (empty for root); a leading '/' or '..' is refused. The images found replace this datastore's cached …

Signals

Stars
3
Forks
0
Open issues
1
Weekly downloads
578
Last commit
Oct 24, 2026 (5 days ago)
Last release
Oct 19, 2026 (10 days ago)
Last package publish
Oct 19, 2026 (10 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.zw008/vmware-storage
Version
1.8.8
Auth
No auth
Packages
pypi vmware-storage
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from zw008

Cite this page

VMware Storage MCP server. Agent Mart. https://agentmart.dev/connectors/zw008-vmware-storage (last updated 2026-10-24)