mcp-vultr

rsp2k/mcp-vultr

3.3

If you are the rightful owner of mcp-vultr and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

Vultr MCP is a comprehensive Model Context Protocol server designed for managing Vultr cloud services through natural language commands.

Tools
3
Resources
0
Prompts
0

🌩️ Vultr MCP

The Ultimate Model Context Protocol Server for Vultr Cloud Management

Transform your cloud infrastructure with natural language commands

Python 3.10+ PyPI version License: MIT MCP Compatible Downloads

🚀 Quick Start📖 Documentation🛠️ Features💡 Examples🤝 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
  • 🚀 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

🎯 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)

🎨 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)
ServiceToolsSmart Identifiers
Instances14label, hostname
Bare Metal18label, hostname
Reserved IPs11IP address
SSH Keys5name
Snapshots6description
Backups2UUID
Regions5Region code
Plans10Plan ID
🌐 Networking & DNS (54 tools)
ServiceToolsSmart Identifiers
DNS Management14Domain name
VPCs & VPC 2.015description
Load Balancers16name, label
CDN & Edge15Origin/CDN domain
Firewall10description
🗄️ Storage & Data (53 tools)
ServiceToolsSmart Identifiers
Managed Databases41name, label
Block Storage12label
Object Storage12name, label
Storage Gateways14name, label
🐳 Containers & Apps (45 tools)
ServiceToolsSmart Identifiers
Kubernetes24Cluster name/label
Container Registry10Registry name
Serverless Inference10Service name/label
Marketplace11App name
🔧 Management & Operations (40+ tools)
ServiceToolsSmart Identifiers
Billing & Account12Account info
Users & Subaccounts23Email, name
Startup Scripts10Script name
ISO Images7Filename
Operating Systems8OS name

🚀 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.


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

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

# 🌈 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

# 📈 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,2470.234s │ 0.456s │     85.2% │       0.1% │
│ GET /records  │    3,8910.189s │ 0.312s │     92.1% │       0.3% │
│ POST /records │      4560.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

# 😤 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

ServiceSmart IdentifierExample
🖥️ Instanceslabel, hostnameweb-server, api.company.com
🔑 SSH Keysnamelaptop-key, ci-deploy-key
🔥 Firewall Groupsdescriptionweb-servers, database-tier
📸 Snapshotsdescriptionbackup-2024-01, pre-upgrade
🌐 Reserved IPsIP address192.168.1.100
🐳 Container Registriesnamemy-app-registry
💾 Block Storagelabeldatabase-storage
🌐 VPCsdescriptionproduction-network
📜 Startup Scriptsnamedocker-setup
🖥️ Bare Metallabel, hostnamedb-server-01
🌐 CDN ZonesOrigin/CDN domaincdn.mysite.com
☸️ Kubernetesname, labelprod-cluster
⚖️ Load Balancersname, labelapi-lb
🗄️ Databasesname, labelpostgres-main
💎 Object Storagename, labelmedia-bucket
🚀 Inference Servicesname, labelml-api
🚪 Storage Gatewaysname, labelfile-gateway
👥 Subaccountsname, emaildev-team
👤 UsersEmail addressadmin@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

📚 API Reference

🎓 Tutorials & Examples


🛠️ 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

  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

MetricValue
🛠️ MCP Tools335+
📦 Service Modules27
🐍 Python Support3.10+
📈 Test Coverage90%+
📚 DocumentationComprehensive
PerformanceProduction 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 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