Handing an assistant this much reach over a cloud is only reasonable if the destructive half behaves differently from the rest, and here it does: 96 operations are classified as dangerous and require a typed confirmation with the impact spelled out first. The per-environment credential blocks matter for the same reason — production and development are separate configurations, and which one is default is a deliberate setting rather than whatever was last used.
A broad CloudStack management server: virtual machines, storage and snapshots, networking and VPCs, accounts and domains, Kubernetes, templates and ISOs, quotas and autoscaling. It targets CloudStack 4.20 and covers 32 API categories, so most of what you would do through the CloudStack API is reachable by describing it instead of composing the call.
- Virtual machine lifecycle: `deploy_virtual_machine`, `start_virtual_machine`, `stop_virtual_machine`, `destroy_virtual_machine` and `list_virtual_machines`
- Storage: `create_volume`, `delete_volume`, `create_snapshot`, `delete_snapshot` and `create_volume_from_snapshot`
- Networking and security: `list_networks`, `list_load_balancers`, `list_public_ip_addresses`, `list_port_forwarding_rules`, `create_security_group` and `delete_security_group`
- Inventory and capacity: `list_zones`, `list_hosts`, `list_templates`, `list_service_offerings` and `list_volume_metrics`
- 96 dangerous operations behind a confirmation system — deletes, destroys, purges, scales and restarts are detected automatically
- Rich warnings on those operations, with severity and impact, and a typed confirmation such as "destroy permanently" before they run
Node.js 18.0 or higher and CloudStack API credentials with the permissions you intend to use. Clone, `npm install`, `npm run build` (package `cloudstack-mcp-server`, version 3.0.5). Credentials go in environment variables — `CLOUDSTACK_PROD_API_URL`, `CLOUDSTACK_PROD_API_KEY` and `CLOUDSTACK_PROD_SECRET_KEY`, with a matching set per environment and `CLOUDSTACK_DEFAULT_ENVIRONMENT` choosing which is active. A file at `config/cloudstack.json` is the alternative, pointed at by `CLOUDSTACK_CONFIG`.
