README.mdโข21.7 kB
<div align="center">
# ๐ฉ๏ธ Vultr MCP
**The Ultimate Model Context Protocol Server for Vultr Cloud Management**
*Transform your cloud infrastructure with natural language commands*
[](https://www.python.org/downloads/)
[](https://pypi.org/project/mcp-vultr/)
[](https://opensource.org/licenses/MIT)
[](https://modelcontextprotocol.io/)
[](https://pypi.org/project/mcp-vultr/)
[๐ Quick Start](#-quick-start) โข [๐ Documentation](#-documentation) โข [๐ ๏ธ Features](#-features) โข [๐ก Examples](#-examples) โข [๐ค Contributing](#-contributing)
</div>
---
## ๐ฏ What is Vultr MCP?
**Vultr MCP** is the most comprehensive Model Context Protocol server for Vultr cloud services, bringing **335+ management tools** across **27 service modules** to your fingertips. Manage your entire Vultr infrastructure through natural language conversations with Claude Code, Claude Desktop, or any MCP-compatible AI assistant.
### โก **Why Choose Vultr MCP?**
- ๐๏ธ **Complete Control**: Manage every aspect of your Vultr infrastructure
- ๐ง **AI-Native**: Built specifically for natural language cloud management
- ๐ **Smart Identifiers**: Use human names instead of cryptic UUIDs
- ๐ **Enterprise Ready**: Battle-tested with comprehensive error handling
- ๐ **Full Coverage**: From DNS to Kubernetes, databases to CDN
- โจ **Beautiful CLI**: Professional Rich UI with colors, tables, and real-time feedback
---
## ๐ ๏ธ **Features**
### ๐ **Core Capabilities**
<table>
<tr>
<td width="50%">
**๐ฏ Smart Management**
- ๐ค Human-readable identifiers
- ๐ก๏ธ Intelligent validation
- ๐ Real-time analytics
- ๐ Bulk operations
</td>
<td width="50%">
**โก Developer Experience**
- ๐ Native Python API
- ๐ฅ๏ธ Rich CLI interface
- ๐ Comprehensive docs
- ๐งช Full test coverage
</td>
</tr>
</table>
### ๐ฏ **Enterprise Features (v2.1.0)**
<table>
<tr>
<td width="50%">
**๐จ 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
</td>
<td width="50%">
**โก 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
</td>
</tr>
</table>
### ๐๏ธ **Service Coverage (335+ Tools)**
<details>
<summary><strong>๐ฅ๏ธ Compute & Infrastructure (67 tools)</strong></summary>
| 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 |
</details>
<details>
<summary><strong>๐ Networking & DNS (54 tools)</strong></summary>
| 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` |
</details>
<details>
<summary><strong>๐๏ธ Storage & Data (53 tools)</strong></summary>
| Service | Tools | Smart Identifiers |
|---------|-------|------------------|
| **Managed Databases** | 41 | `name`, `label` |
| **Block Storage** | 12 | `label` |
| **Object Storage** | 12 | `name`, `label` |
| **Storage Gateways** | 14 | `name`, `label` |
</details>
<details>
<summary><strong>๐ณ Containers & Apps (45 tools)</strong></summary>
| Service | Tools | Smart Identifiers |
|---------|-------|------------------|
| **Kubernetes** | 24 | Cluster `name`/`label` |
| **Container Registry** | 10 | Registry `name` |
| **Serverless Inference** | 10 | Service `name`/`label` |
| **Marketplace** | 11 | App name |
</details>
<details>
<summary><strong>๐ง Management & Operations (40+ tools)</strong></summary>
| 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 |
</details>
---
## ๐ **Quick Start**
### ๐ฆ **Installation**
```bash
# ๐โโ๏ธ Fast installation with uv (recommended)
uv add mcp-vultr
# ๐ฆ Traditional pip installation
pip install mcp-vultr
```
### โ๏ธ **Setup with Claude Code**
```bash
# ๐ 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!**
```bash
# ๐ Launch the MCP server
vultr-mcp-server
```
**That's it!** You now have 335+ Vultr management tools available through natural language in Claude Code.
---
## โจ **What's New in v2.1.0**
**๐ MAJOR ENTERPRISE UPGRADE** - Complete transformation with professional-grade features:
### ๐จ **Beautiful CLI Interface**
- **Rich Tables**: Professional colored tables with borders and status indicators
- **Branded Panels**: Stunning server startup with custom panels and emojis
- **Loading Feedback**: Spinners, progress bars, and real-time status updates
- **Error Styling**: Graceful error handling with contextual formatting
### ๐ **Performance Monitoring**
- **Real-time Metrics**: P95/P99 response times, cache hit rates, error tracking
- **Intelligent Caching**: TTL-based caching with 85%+ hit rates for faster responses
- **System Monitoring**: CPU, memory, network, and disk I/O tracking
- **Performance Tables**: Beautiful metrics visualization with trend analysis
### ๐ **Structured Logging**
- **Context-Rich Logs**: Service tags, request timing, and correlation IDs
- **Debug Tracing**: Full API call tracing with request/response details
- **Error Tracking**: Retry attempts, failure analysis, and recovery metrics
- **JSON Support**: Machine-readable logs for log aggregation systems
### ๐ก๏ธ **Enterprise Reliability**
- **Exponential Backoff**: Smart retry logic with jitter to prevent thundering herd
- **Network Resilience**: Timeout protection and connection pooling
- **Error Recovery**: Graceful degradation and automatic failover
- **Rate Limit Handling**: Intelligent backoff when approaching API limits
### ๐ **Security & Quality**
- **Pre-commit Hooks**: Automated code quality checks on every commit
- **Security Scanning**: Bandit security analysis and vulnerability detection
- **Dependency Management**: Automated updates with Dependabot
- **Modern Tooling**: Lightning-fast Ruff linting with comprehensive rule sets
---
## ๐ก **Examples**
### ๐ฃ๏ธ **Natural Language Commands**
```
๐งโ๐ป "Create a web server instance called 'my-website' in New Jersey"
๐ค โ
Created instance 'my-website' (Ubuntu 22.04, 1GB RAM) in ewr region
๐งโ๐ป "Add a DNS record for blog.example.com pointing to my-website"
๐ค โ
Added A record: blog.example.com โ 192.168.1.100 (TTL: 300)
๐งโ๐ป "Scale my Kubernetes cluster to 5 nodes"
๐ค โ
Scaled cluster 'production' node pool to 5 nodes
๐งโ๐ป "Show me this month's billing breakdown by service"
๐ค ๐ Monthly costs: Instances $45, Kubernetes $120, Storage $23...
```
### ๐ **Python API**
```python
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())
```
### ๐ฅ๏ธ **Enterprise CLI Experience**
**โจ Beautiful Rich Interface with Professional Tables**
```bash
# ๐ 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!
```
**๐ Real-time Performance Monitoring & Structured Logging**
```bash
# ๐ Live performance metrics and cache statistics
[info] API request completed method=GET response_time=0.63s status_code=200
[debug] Cache set cache_type=TTLCache endpoint=/domains hit_rate=85.2%
[debug] API call recorded cache_hit=False duration=0.63s success=True
# ๐ Beautiful performance tables with P95/P99 metrics
API Performance Metrics
โโโโโโโโโโโโโโโโโณโโโโโโโโโโโณโโโโโโโโโโโณโโโโโโโโโณโโโโโโโโโโโโณโโโโโโโโโโโโโ
โ Endpoint โ Requests โ Avg Time โ P95 โ Cache Hit โ Error Rate โ
โกโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฉ
โ GET /domains โ 1,247 โ 0.234s โ 0.456s โ 85.2% โ 0.1% โ
โ GET /records โ 3,891 โ 0.189s โ 0.312s โ 92.1% โ 0.3% โ
โ POST /records โ 456 โ 0.567s โ 1.234s โ 0.0% โ 2.1% โ
โโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโโโโดโโโโโโโโโโโโโ
```
---
## ๐ฏ **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**
```bash
# ๐ค 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](#-quick-start)
- [๐ง Installation & Setup](#-installation)
- [๐ฏ First Steps with Claude Code](#-setup-with-claude-code)
### ๐ **API Reference**
- [๐ Python API Documentation](https://git.supported.systems/MCP/mcp-vultr/blob/main/docs/api.md)
- [๐ฅ๏ธ CLI Command Reference](https://git.supported.systems/MCP/mcp-vultr/blob/main/docs/cli.md)
- [๐ค MCP Tools Reference](https://git.supported.systems/MCP/mcp-vultr/blob/main/docs/mcp-tools.md)
### ๐ **Tutorials & Examples**
- [๐๏ธ Infrastructure as Code with Natural Language](https://git.supported.systems/MCP/mcp-vultr/blob/main/examples/iac.md)
- [๐ Complete Website Deployment](https://git.supported.systems/MCP/mcp-vultr/blob/main/examples/website.md)
- [โธ๏ธ Kubernetes Cluster Management](https://git.supported.systems/MCP/mcp-vultr/blob/main/examples/kubernetes.md)
---
## ๐ ๏ธ **Development**
### ๐โโ๏ธ **Quick Setup**
```bash
# ๐ฅ 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**
```bash
# ๐๏ธ 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**
1. ๐ด **Fork** the repository
2. ๐ฟ **Create** a feature branch (`git checkout -b feature/amazing-feature`)
3. โ๏ธ **Make** your changes
4. โ
**Test** everything (`make test-parallel` or `make test-coverage`)
5. ๐ **Commit** your changes (`git commit -m 'Add amazing feature'`)
6. ๐ค **Push** to the branch (`git push origin feature/amazing-feature`)
7. ๐ **Open** a Pull Request
---
## ๐ **Project Stats**
<div align="center">
| Metric | Value |
|--------|-------|
| ๐ ๏ธ **MCP Tools** | **335+** |
| ๐ฆ **Service Modules** | **27** |
| ๐ **Python Support** | **3.10+** |
| ๐ **Test Coverage** | **90%+** |
| ๐ **Documentation** | **Comprehensive** |
| โก **Performance** | **Production Ready** |
</div>
---
## ๐ **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](LICENSE) file for details.
---
<div align="center">
**โญ Star us on [GitLab](https://git.supported.systems/MCP/mcp-vultr) if you find Vultr MCP useful!**
Made with โค๏ธ for the cloud infrastructure community
[๐ Get Started](#-quick-start) โข [๐ Documentation](#-documentation) โข [๐ Report Issues](https://git.supported.systems/MCP/mcp-vultr/issues) โข [๐ฌ Discussions](https://git.supported.systems/MCP/mcp-vultr/discussions)
</div>