Skip to main content
Glama
rsp2k
by rsp2k
README.md
<div align="center">

# ๐ŸŒฉ๏ธ Vultr MCP

**The Ultimate Model Context Protocol Server for Vultr Cloud Management**

*Transform your cloud infrastructure with natural language commands*

[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![PyPI version](https://img.shields.io/pypi/v/mcp-vultr.svg)](https://pypi.org/project/mcp-vultr/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io/)
[![Downloads](https://img.shields.io/pypi/dm/mcp-vultr.svg)](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 00000000-0000-0000-0000-000000000001
vultr firewall rule add 00000000-0000-0000-0000-000000000002 --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>

TDQS

B3.2/5.0

Scored across 265 tools

Disambiguation4/5

Most tools have distinct purposes targeting specific resources and actions, with clear naming like 'create_cdn_zone' vs 'update_cdn_zone'. However, there is some overlap in analysis tools (e.g., multiple 'analyze_' tools for different resources) and some redundancy like 'delete_kubernetes_cluster' vs 'delete_kubernetes_cluster_with_resources', which could cause minor confusion.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, using snake_case uniformly. Examples include 'create_domain', 'list_records', 'update_user', and 'delete_serverless_inference'. The pattern is maintained across all 265 tools with no deviations in style.

Tool Count2/5

With 265 tools, the set is extremely large and overwhelming for a cloud provider interface. While Vultr's scope is broad, this many tools suggests poor consolidation and will cause selection paralysis for agents. A well-scoped server should have 3-15 tools; this is an extreme mismatch.

Completeness5/5

The tool surface provides comprehensive CRUD/lifecycle coverage across all Vultr services including compute, storage, networking, databases, Kubernetes, CDN, DNS, and billing. There are no obvious gaps; each service has create, read, update, delete, list, and management operations, ensuring agents can handle full workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues