vmware-storage
AI-powered VMware storage management for vSphere. Manage datastores, iSCSI targets, and vSAN via natural language with 11 MCP tools.
README
<!-- mcp-name: io.github.zw008/vmware-storage -->
VMware Storage
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.
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
- 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
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.