๐ Vultr MCP
The Ultimate Model Context Protocol Server for Vultr Cloud Management
Transform your cloud infrastructure with natural language commands
This project offers a comprehensive solution for managing Vultr cloud services. It provides over 335 management tools across 27 service modules, enabling users to interact with their Vultr infrastructure using natural language through compatible AI assistants.
๐ Quick Start โข ๐ Documentation โข ๐ ๏ธ Features โข ๐ก Examples โข ๐ค Contributing
๐ Quick Start
๐ฆ Installation
# ๐โโ๏ธ Fast installation with uv (recommended)
uv add mcp-vultr
# ๐ฆ Traditional pip installation
pip install mcp-vultr
โ๏ธ Setup with Claude Code
# ๐ Set your Vultr API key
export VULTR_API_KEY="your-vultr-api-key"
# ๐ Add to Claude Code (one command!)
claude mcp add vultr vultr-mcp-server --env VULTR_API_KEY="${VULTR_API_KEY}"
๐ Start Managing!
# ๐ Launch the MCP server
vultr-mcp-server
That's it! You now have 335+ Vultr management tools available through natural language in Claude Code.
โจ Features
๐ Core Capabilities
| Property | Details |
|---|---|
| Smart Management | - ๐ค Human-readable identifiers - ๐ก๏ธ Intelligent validation - ๐ Real-time analytics - ๐ Bulk operations |
| Developer Experience | - ๐ Native Python API - ๐ฅ๏ธ Rich CLI interface - ๐ Comprehensive docs - ๐งช Full test coverage |
๐ฏ Enterprise Features (v2.1.0)
| Property | Details |
|---|---|
| Beautiful CLI Interface | - ๐ Rich colors and professional tables - ๐ Real-time performance metrics - ๐ Loading spinners and progress bars - โจ Branded panels and status indicators |
| Structured Logging | - ๐ท๏ธ Contextual logging with service tags - โฑ๏ธ Request timing and performance data - ๐ Debug-level API call tracing - ๐ Error tracking with retry attempts |
| Performance & Reliability | - ๐พ Intelligent TTL-based caching (85%+ hit rate) - ๐ Exponential backoff retry with jitter - ๐ Real-time P95/P99 performance monitoring - ๐ก๏ธ Network timeout and error resilience |
| Security & Quality | - ๐ก๏ธ Pre-commit hooks with 7 quality checks - ๐ Bandit security scanning - ๐ค Dependabot automated updates - โก Ruff lightning-fast linting |
๐๏ธ Service Coverage (335+ Tools)
๐ฅ๏ธ Compute & Infrastructure (67 tools)
| Service | Tools | Smart Identifiers | |---------|-------|------------------| | **Instances** | 14 | `label`, `hostname` | | **Bare Metal** | 18 | `label`, `hostname` | | **Reserved IPs** | 11 | IP address | | **SSH Keys** | 5 | `name` | | **Snapshots** | 6 | `description` | | **Backups** | 2 | UUID | | **Regions** | 5 | Region code | | **Plans** | 10 | Plan ID |๐ Networking & DNS (54 tools)
| Service | Tools | Smart Identifiers | |---------|-------|------------------| | **DNS Management** | 14 | Domain name | | **VPCs & VPC 2.0** | 15 | `description` | | **Load Balancers** | 16 | `name`, `label` | | **CDN & Edge** | 15 | Origin/CDN domain | | **Firewall** | 10 | `description` |๐๏ธ Storage & Data (53 tools)
| Service | Tools | Smart Identifiers | |---------|-------|------------------| | **Managed Databases** | 41 | `name`, `label` | | **Block Storage** | 12 | `label` | | **Object Storage** | 12 | `name`, `label` | | **Storage Gateways** | 14 | `name`, `label` |๐ณ Containers & Apps (45 tools)
| Service | Tools | Smart Identifiers | |---------|-------|------------------| | **Kubernetes** | 24 | Cluster `name`/`label` | | **Container Registry** | 10 | Registry `name` | | **Serverless Inference** | 10 | Service `name`/`label` | | **Marketplace** | 11 | App name |๐ง Management & Operations (40+ tools)
| Service | Tools | Smart Identifiers | |---------|-------|------------------| | **Billing & Account** | 12 | Account info | | **Users & Subaccounts** | 23 | Email, name | | **Startup Scripts** | 10 | Script `name` | | **ISO Images** | 7 | Filename | | **Operating Systems** | 8 | OS name |๐ป Usage Examples
Basic Usage
import asyncio
from mcp_vultr import VultrDNSClient, VultrDNSServer
async def deploy_website():
"""๐ Deploy a complete website infrastructure"""
# High-level DNS client
dns = VultrDNSClient("your-api-key")
# Full API client with smart identifiers
vultr = VultrDNSServer("your-api-key")
# ๐ Create domain and DNS records
await dns.create_domain("mysite.com", "192.168.1.100")
await dns.add_a_record("mysite.com", "www", "192.168.1.100")
await dns.add_mx_record("mysite.com", "@", "mail.mysite.com", 10)
# ๐ฅ๏ธ Deploy instance with smart naming
instance = await vultr.create_instance(
region="ewr",
plan="vc2-1c-1gb",
os_id=387,
label="web-server", # ๐ท๏ธ Human-readable name!
hostname="web.mysite.com"
)
# ๐ฅ Configure firewall by description
firewall = await vultr.get_firewall_group("web-servers")
# ๐ Get real-time metrics
stats = await vultr.get_instance_bandwidth("web-server") # By name!
print(f"โ
Deployed {instance['label']} with {stats['incoming']}GB traffic")
asyncio.run(deploy_website())
Advanced Usage
# ๐ Stunning domain overview with colors and status indicators
$ mcp-vultr domains list
Vultr DNS Domains (49 found)
โโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโโโโโโโโโโโโโโโณโโโโโโโโโโโโโโ
โ Domain โ Created โ DNSSEC โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ api.mycompany.com โ 2024-01-15T10:30:00+00:00 โ โ
enabled โ
โ webapp.io โ 2024-03-22T14:20:00+00:00 โ โ disabled โ
โ blog.example.com โ 2024-07-10T09:15:00+00:00 โ โ
enabled โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโ
# ๐ Professional server startup with branded panels
$ mcp-vultr server
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Vultr MCP Server โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ ๐ Starting Vultr DNS MCP Server โ
โ ๐ API Key: your-key-abc123... โ
โ ๐ Press Ctrl+C to stop โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
# ๐๏ธ Infrastructure management with smart names
mcp-vultr instances create --label "api-server" --region ewr --plan vc2-2c-4gb
mcp-vultr instances start api-server # Start by name!
mcp-vultr instances attach-volume api-server db-storage # Attach by names!
# ๐ DNS management with real-time feedback
mcp-vultr domains create api.mycompany.com 192.168.1.200
mcp-vultr records add api.mycompany.com A @ 192.168.1.200
mcp-vultr setup-website api.mycompany.com 192.168.1.200 --ssl
# ๐ณ Kubernetes cluster management
mcp-vultr k8s create production-cluster --region ewr --nodes 3
mcp-vultr k8s scale production-cluster --nodes 5 # Scale by name!
mcp-vultr k8s get-costs production-cluster # Cost analysis!
๐ฏ Smart Identifier Resolution
Stop wrestling with UUIDs! Vultr MCP's killer feature is smart identifier resolution - use human-readable names instead of cryptic UUIDs across all services.
๐ท๏ธ Before vs After
# ๐ค The old way (UUIDs everywhere)
vultr instance stop cb676a46-66fd-4dfb-b839-443f2e6c0b60
vultr firewall rule add 5f2a4b6c-7b8d-4e9f-a1b2-3c4d5e6f7a8b --port 443
# ๐ The Vultr MCP way (human names!)
mcp-vultr instances stop web-server
mcp-vultr firewall rules add web-servers --port 443
๐ง Smart Resolution Across All Services
| Service | Smart Identifier | Example |
|---|---|---|
| ๐ฅ๏ธ Instances | label, hostname |
web-server, api.company.com |
| ๐ SSH Keys | name |
laptop-key, ci-deploy-key |
| ๐ฅ Firewall Groups | description |
web-servers, database-tier |
| ๐ธ Snapshots | description |
backup-2024-01, pre-upgrade |
| ๐ Reserved IPs | IP address | 192.168.1.100 |
| ๐ณ Container Registries | name |
my-app-registry |
| ๐พ Block Storage | label |
database-storage |
| ๐ VPCs | description |
production-network |
| ๐ Startup Scripts | name |
docker-setup |
| ๐ฅ๏ธ Bare Metal | label, hostname |
db-server-01 |
| ๐ CDN Zones | Origin/CDN domain | cdn.mysite.com |
| โธ๏ธ Kubernetes | name, label |
prod-cluster |
| โ๏ธ Load Balancers | name, label |
api-lb |
| ๐๏ธ Databases | name, label |
postgres-main |
| ๐ Object Storage | name, label |
media-bucket |
| ๐ Inference Services | name, label |
ml-api |
| ๐ช Storage Gateways | name, label |
file-gateway |
| ๐ฅ Subaccounts | name, email |
dev-team |
| ๐ค Users | Email address | admin@company.com |
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ค AI Assistant โ
โ (Claude Code/Desktop) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Natural Language Commands
โโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ก Vultr MCP Server โ
โ (335+ Tools) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ DNS ๐ฅ๏ธ Compute ๐ณ K8s ๐๏ธ DB ๐ฅ Security ๐พ Storage โ
โ ๐ Analytics ๐ CDN โ๏ธ LB ๐ Serverless ๐ฅ Users โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Smart API Calls
โโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ๏ธ Vultr Cloud API โ
โ (Complete Infrastructure Management) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Documentation
๐ Getting Started
- โก Quick Start Guide
- ๐ง Installation & Setup
- ๐ฏ First Steps with Claude Code
๐ API Reference
๐ Tutorials & Examples
- ๐๏ธ Infrastructure as Code with Natural Language
- ๐ Complete Website Deployment
- โธ๏ธ Kubernetes Cluster Management
๐ ๏ธ Development
๐โโ๏ธ Quick Setup
# ๐ฅ Clone the repository
git clone https://git.supported.systems/MCP/mcp-vultr.git
cd mcp-vultr
# โก Install with uv (recommended)
uv sync --extra dev
# ๐งช Run tests (multiple performance modes)
make test-fast # โก Quick tests (30-60s)
make test-parallel # ๐ Parallel execution (60-120s)
make test-coverage # ๐ Full coverage (180-300s)
# ๐ฏ Targeted testing
make test-unit # Unit tests only
make test-mcp # MCP server tests
make test-error # Error handling tests
# ๐ Performance monitoring
python test_performance_benchmark.py
# ๐จ Format code
uv run black src tests && uv run isort src tests
# ๐ Type checking
uv run mypy src
๐ฆ Build & Publish
# ๐๏ธ Build package
uv build
# โ
Check integrity
uv run twine check dist/*
# ๐ Publish to PyPI
uv run twine upload dist/*
๐ค Contributing
We โค๏ธ contributions! Whether it's:
- ๐ Bug Reports: Found an issue? Let us know!
- โจ Feature Requests: Have ideas? We want to hear them!
- ๐ Documentation: Help make our docs even better
- ๐งช Testing: Add tests, improve coverage
- ๐ป Code: Submit PRs for new features or fixes
๐ How to Contribute
- ๐ด Fork the repository
- ๐ฟ Create a feature branch (
git checkout -b feature/amazing-feature) - โ๏ธ Make your changes
- โ
Test everything (
make test-parallelormake test-coverage) - ๐ Commit your changes (
git commit -m 'Add amazing feature') - ๐ค Push to the branch (
git push origin feature/amazing-feature) - ๐ Open a Pull Request
๐ Project Stats
| Metric | Value |
|---|---|
| ๐ ๏ธ MCP Tools | 335+ |
| ๐ฆ Service Modules | 27 |
| ๐ Python Support | 3.10+ |
| ๐ Test Coverage | 90%+ |
| ๐ Documentation | Comprehensive |
| โก Performance | Production Ready |
๐ Acknowledgments
- ๐ฉ๏ธ Vultr for their comprehensive cloud API
- ๐ค Anthropic for the Model Context Protocol specification
- ๐ Python Community for amazing tools and libraries
- ๐ FastMCP for the excellent MCP framework
- ๐ฅ Contributors who make this project amazing
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
โญ Star us on GitLab if you find Vultr MCP useful!
Made with โค๏ธ for the cloud infrastructure community
๐ Get Started โข ๐ Documentation โข ๐ Report Issues โข ๐ฌ Discussions









