
VMware Storage
io.github.zw008Published by GitHub account zw008v1.8.8Updated Oct 27, 2026
VMware vSphere storage management with 11 MCP tools: datastores, iSCSI, vSAN.
The publisher's own server: Tigris MCP Server
Overview
Community MCP server for VMware vSphere storage: lets an assistant inspect datastores, iSCSI, vSAN health and Fibre Channel paths, and make gated iSCSI changes.
- What you can do
- List and browse datastores, scan for deployable images and check per-VM datastore usage
- Read iSCSI adapter status, add or remove iSCSI targets and rescan storage, with a confirm gate on writes
- Check vSAN health, capacity and efficiency
- List Fibre Channel adapters and storage device paths, including per-host path differences
- Show which vSphere account the server uses and which privileges it holds
- When to use it
- Useful for storage or virtualization admins who want an assistant to survey vSphere datastores, diagnose iSCSI or Fibre Channel path issues, or assess vSAN health without giving it broad VM management tools. Its 16 tools are aimed at small local models and least-privilege service accounts.
- Requirements
- Runs locally as a Python package (Python 3.10+) installed with uv or pip, started with the mcp subcommand. Needs a vCenter or ESXi target configured in a config file, with passwords supplied through environment variables such as VMWARE_ _PASSWORD, and a vSphere account with at least a read-only role on the root folder. Network access to vCenter/ESXi.
Installation
In SourceWeft
- Open VMware Storage in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
VMware Storage
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 — [email protected] This is a community-driven project by a VMware engineer, not an official VMware product. For official VMware developer tools see developer.broadcom.com.
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.
Upgrading to 2.0
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.
Companion Skills
Quick Install
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:
For a truly air-gapped host, build the wheels on a connected machine and copy them over — the target then needs no network:
Configuration
MCP Tools (16)
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
- Enable iSCSI adapter:
vmware-storage iscsi enable esxi-01 - Add target:
vmware-storage iscsi add-target esxi-01 10.0.0.100 - 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
- List all datastores:
vmware-storage datastore list - Scan for images:
vmware-storage datastore scan-images datastore01 - Browse with a pattern:
vmware-storage datastore browse datastore01 --pattern "*.iso"
vSAN Health Assessment
- Check health:
vmware-storage vsan health Cluster-Prod - Check capacity:
vmware-storage vsan capacity Cluster-Prod - If issues found, investigate with
vmware-monitorfor alarms and events
Check Fibre Channel Paths
- Dead or disabled paths behind a datastore:
vmware-storage paths devices --datastore ds-fc-01 - Hosts that see a shared device through a different number of paths than their peers, or not at all:
vmware-storage paths devices --cluster Cluster-Prod --only-differences - WWPNs for the SAN team:
vmware-storage paths fc-adapters --cluster Cluster-Prod
Hosts 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.
CLI
MCP Server
After uv tool install vmware-storage, start the MCP server with one command (v1.5.15+):
Agent Configuration
Add to your AI agent's MCP config:
Alternative: uvx (no install) or legacy entry point
Behind a corporate TLS proxy? uvx may fail with
invalid peer certificate: UnknownIssuer. Use the recommendedvmware-storage mcpform above (no network needed), or setUV_NATIVE_TLS=true.
Why a Separate Skill?
vmware-aiops has 61 MCP tools — too heavy for local LLMs (7B-14B). By splitting storage into its own skill:
- 16 tools — fits comfortably in small model context windows
- Domain-focused — storage admins get only what they need
- Least privilege — can run under a vCenter service account with storage read-only permissions
- 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.
Official Broadcom References
- SDKs: https://developer.broadcom.com/sdks — VCF Python SDK, vSAN Management SDK (bundled in pyVmomi)
- REST APIs: https://developer.broadcom.com/xapis — vSAN Management API, VCF API
- CLI Tools: https://developer.broadcom.com/tools — PowerCLI 9.1, ESXCLI
Safety
Troubleshooting
Remote access (HTTPS) and limiting tools
By default vmware-storage mcp speaks stdio to one local client and offers every tool. Two options change that
(vmware-policy ≥ 1.21.0).
Serve over HTTPS so clients on other machines can connect. Every caller needs a bearer token:
Connect a client (Claude Code shown; any MCP client that supports streamable HTTP and custom headers works):
- The server will not start without a token, refuses Host/Origin values outside
--public-name, and checks before it binds that unauthenticated requests get 401. Use a certificate your clients trust for those names. - Behind a TLS-terminating reverse proxy on the same machine use
--transport http --host 127.0.0.1 --public-name mcp.example.comand pass theAuthorizationheader through. - Behind a load balancer or gateway on another machine, keep
--transport https(a self-signed certificate is fine), list in--public-namethe host name the balancer sends asHost, and have it forwardAuthorization. Its health probe can useGET /healthz, which needs no token and returns only{"status": "ok"}(vmware-policy ≥ 1.23.0). - Send
traceparentorX-Request-IDwith each request to have it stored on the audit row;vmware-audit log --correlation-id IDthen finds the calls behind one platform request. - The audit log records each caller as
token:<name>. Calls run side by side, also on the same target: the server keeps up toVMWARE_MCP_POOL_SIZE(default 2) sessions per target, each one a login on that target, and a call waits at most 300 s for a free session (vmware-policy ≥ 1.22.0). - Everyone who can reach the endpoint acts with this server's account. Tokens identify callers; they grant
nothing on the platform. Run one endpoint per privilege level.
vmware-storage access-infoshows which account that is and what it may do. - Several people or roles on one endpoint: run
vmware-audit roles enableonce, then give each token a role (vmware-audit token create NAME --role reader, or a role inroles.yamlnaming tools and targets; vmware-policy ≥ 1.24.0). A role limits what the token may call on this endpoint; it cannot grant more than the account has. See vmware-policy's README, "Roles for network callers".
Offer only read tools, plus the writes you choose:
Tools not offered do not appear in the client's tool list. A bad value or an unknown write tool stops the server (exit 2). This limits what clients are offered; it is not authorization, so the account itself should be least-privilege.
Details: skills/vmware-storage/references/setup-guide.md ("Serving MCP over HTTPS", "Limiting which tools are offered").
License
Source: README.md at commit 0c385a4
Tools
0Version history
1- v1.8.8LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Other Storage integrations
Tigris MCP Server
dev.storageOfficial publisher
Remote MCP endpoint that connects AI assistants to Tigris for bucket and object management in cloud object storage.
Kinnovis Self-Storage
ai.b77Official publisher
Lets an assistant manage Kinnovis self-storage tariffs from chat.
File Storage
ai.b77Official publisher
Remote MCP server that lets an assistant upload files from a chat and return public CDN links for them.

Bulk File Downloader — URL Lists to Storage, Links & SHA-256
Published by GitHub account kriton-dev
Bulk File Downloader — URL Lists to Storage, Links & SHA-256's hosted MCP server; credential required; Streamable HTTP.

SSH Host Storage & Remote Exec
Published by GitHub account xlbbb-cn
Local stdio MCP server that stores SSH hosts with encrypted credentials and lets an assistant run remote commands, interactive prompts and multi-step playbooks.