# π©οΈ 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)
---
## π― 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
- π **Production Ready**: Battle-tested with comprehensive error handling
- π **Full Coverage**: From DNS to Kubernetes, databases to CDN
---
## π οΈ **Features**
### π **Core Capabilities**
**π― 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
|
### ποΈ **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 |
---
## π **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.
---
## π‘ **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())
```
### π₯οΈ **CLI Power User**
```bash
# ποΈ 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
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!
# πΎ Database deployment
mcp-vultr databases create postgres-main --engine postgresql --region ewr
mcp-vultr databases backup postgres-main # Backup by name!
# π Monitoring & analytics
mcp-vultr billing summary --month current
mcp-vultr billing trends --months 6
mcp-vultr instances list --status running --region ewr
```
---
## π― **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
uv run pytest
# π¨ 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 (`uv run python run_tests.py --all-checks`)
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**
| 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](LICENSE) file for details.
---
**β 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)