loading…
Search for a command to run...
loading…
Manages and views virtual machines across multiple cloud providers (AWS, Azure, Alibaba Cloud). Enables AI assistants to list, inspect, and control VMs through
Manages and views virtual machines across multiple cloud providers (AWS, Azure, Alibaba Cloud). Enables AI assistants to list, inspect, and control VMs through a unified MCP interface.
Cloud VM MCP is a Model Context Protocol (MCP) server for managing and viewing virtual machines across multiple cloud providers (AWS, Azure, Alibaba Cloud). It enables AI assistants to list, inspect, and control VMs through a unified interface.
# Install from PyPI
pip install cloud-vm-mcp-py
# Or using uv
uv add cloud-vm-mcp-py
VM MCP can be used in two ways: as an MCP server or as a direct command-line tool.
Start the MCP server:
uv run vm-mcp
Available MCP Tools:
list_vms: List all VMs across configured providers
provider (optional), tenant (optional), region (optional)list_providers: List all configured cloud providers
get_vm_details: Get detailed information about a specific VM
vm_id (composite ID format: provider:tenant:region:instance)start_vm: Start a virtual machine
vm_idstop_vm: Stop a virtual machine
vm_id, force (optional, default: false)To use Cloud VM MCP with Claude Desktop, add the following configuration to your claude_desktop_config.json:
{
"mcpServers": {
"vm": {
"command": "uvx",
"args": ["cloud-vm-mcp-py"],
"env": {
"MCP_TRANSPORT": "stdio",
"PROVIDERS_CONFIG_PATH": "/path/to/your/providers.yaml"
}
}
}
}
Configuration File Location:
~/Library/Application Support/Claude/claude_desktop_config.jsonYou can manage VMs directly using the CLI:
List all VMs:
PROVIDERS_CONFIG_PATH=./providers.yaml uv run python cli.py list
Filter by provider/tenant/region:
uv run python cli.py list --provider aws --tenant production --region us-east-1
Get VM details:
uv run python cli.py info aws:production:us-east-1:i-1234567890abcdef0
Start/Stop VMs:
uv run python cli.py start aws:production:us-east-1:i-1234567890abcdef0
uv run python cli.py stop azure:corp-main:eastus:web-server --force
List configured providers:
uv run python cli.py providers
You can inspect and test the MCP server using the MCP Inspector:
npx @modelcontextprotocol/inspector uv run vm-mcp -e PROVIDERS_CONFIG_PATH=/path/to/providers.yaml
Cloud VM MCP uses a YAML configuration file to define cloud provider credentials. Set the PROVIDERS_CONFIG_PATH environment variable to point to your configuration file.
Create a providers.yaml file with your provider credentials:
Example providers.yaml:
providers:
aws:
accounts:
- alias: production
access_key_id: AKIAIOSFODNN7EXAMPLE
secret_access_key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
regions:
- us-east-1
- us-west-2
- alias: staging
access_key_id: AKIAI44QH8DHBEXAMPLE
secret_access_key: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
regions:
- us-east-1
azure:
directories:
- alias: corp-main
tenant_id: 00000000-0000-0000-0000-000000000000
client_id: 11111111-1111-1111-1111-111111111111
client_secret: your-client-secret-here
subscription_ids:
- 22222222-2222-2222-2222-222222222222
alibaba:
accounts:
- alias: china-prod
access_key_id: LTAI5tYourAccessKeyId
access_key_secret: YourAccessKeySecret
regions:
- cn-hangzhou
- ap-southeast-1
MCP_TRANSPORT: stdio, sse, streamable-http (defaults to stdio)PROVIDERS_CONFIG_PATH: Path to YAML configuration file (required)chmod 600 providers.yaml)VMs are identified using a composite ID format:
{provider}:{tenant_alias}:{region}:{instance_id}
Examples:
aws:production:us-east-1:i-1234567890abcdef0azure:corp-main:eastus:web-server-01alibaba:china-prod:cn-hangzhou:i-bp1234567890abcdefuv syncuv run pre-commit install# Run all tests
uv run pytest tests/ -v
# Run with coverage
uv run pytest tests/ --cov=vm_mcp --cov-report=html
uv run ruff check .
uv run ruff format .
rm -rf dist
uv build
uv publish --username __token__ --password YOUR_PYPI_API_KEY
MIT License - See LICENSE for details.
Run in your terminal:
claude mcp add cloud-vm-mcp -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.