mcp-vultr


Namemcp-vultr JSON
Version 2.0.2 PyPI version JSON
download
home_pageNone
SummaryA comprehensive Model Context Protocol (MCP) server for managing Vultr DNS records
upload_time2025-08-07 05:07:54
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords vultr dns mcp model-context-protocol dns-management api mcp-server
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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
- πŸš€ **Production Ready**: Battle-tested with comprehensive error handling
- 🌐 **Full Coverage**: From DNS to Kubernetes, databases to CDN

---

## πŸ› οΈ **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>

### πŸ—οΈ **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.

---

## πŸ’‘ **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**

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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "mcp-vultr",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "Ryan Malloy <ryan@supported.systems>",
    "keywords": "vultr, dns, mcp, model-context-protocol, dns-management, api, mcp-server",
    "author": null,
    "author_email": "Ryan Malloy <ryan@supported.systems>",
    "download_url": "https://files.pythonhosted.org/packages/11/b4/5e3c5940db150264edef31dc9d8508bff98443c849fd3a9db3c5c0765802/mcp_vultr-2.0.2.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n\n# \ud83c\udf29\ufe0f Vultr MCP\n\n**The Ultimate Model Context Protocol Server for Vultr Cloud Management**\n\n*Transform your cloud infrastructure with natural language commands*\n\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![PyPI version](https://img.shields.io/pypi/v/mcp-vultr.svg)](https://pypi.org/project/mcp-vultr/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-green.svg)](https://modelcontextprotocol.io/)\n[![Downloads](https://img.shields.io/pypi/dm/mcp-vultr.svg)](https://pypi.org/project/mcp-vultr/)\n\n[\ud83d\ude80 Quick Start](#-quick-start) \u2022 [\ud83d\udcd6 Documentation](#-documentation) \u2022 [\ud83d\udee0\ufe0f Features](#-features) \u2022 [\ud83d\udca1 Examples](#-examples) \u2022 [\ud83e\udd1d Contributing](#-contributing)\n\n</div>\n\n---\n\n## \ud83c\udfaf What is Vultr MCP?\n\n**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.\n\n### \u26a1 **Why Choose Vultr MCP?**\n\n- \ud83c\udf9b\ufe0f **Complete Control**: Manage every aspect of your Vultr infrastructure\n- \ud83e\udde0 **AI-Native**: Built specifically for natural language cloud management  \n- \ud83d\udd0d **Smart Identifiers**: Use human names instead of cryptic UUIDs\n- \ud83d\ude80 **Production Ready**: Battle-tested with comprehensive error handling\n- \ud83c\udf10 **Full Coverage**: From DNS to Kubernetes, databases to CDN\n\n---\n\n## \ud83d\udee0\ufe0f **Features**\n\n### \ud83c\udf1f **Core Capabilities**\n\n<table>\n<tr>\n<td width=\"50%\">\n\n**\ud83c\udfaf Smart Management**\n- \ud83d\udd24 Human-readable identifiers\n- \ud83d\udee1\ufe0f Intelligent validation  \n- \ud83d\udcca Real-time analytics\n- \ud83d\udd04 Bulk operations\n\n</td>\n<td width=\"50%\">\n\n**\u26a1 Developer Experience**\n- \ud83d\udc0d Native Python API\n- \ud83d\udda5\ufe0f Rich CLI interface\n- \ud83d\udcda Comprehensive docs\n- \ud83e\uddea Full test coverage\n\n</td>\n</tr>\n</table>\n\n### \ud83c\udfd7\ufe0f **Service Coverage (335+ Tools)**\n\n<details>\n<summary><strong>\ud83d\udda5\ufe0f Compute & Infrastructure (67 tools)</strong></summary>\n\n| Service | Tools | Smart Identifiers |\n|---------|-------|------------------|\n| **Instances** | 14 | `label`, `hostname` |\n| **Bare Metal** | 18 | `label`, `hostname` |\n| **Reserved IPs** | 11 | IP address |\n| **SSH Keys** | 5 | `name` |\n| **Snapshots** | 6 | `description` |\n| **Backups** | 2 | UUID |\n| **Regions** | 5 | Region code |\n| **Plans** | 10 | Plan ID |\n\n</details>\n\n<details>\n<summary><strong>\ud83c\udf10 Networking & DNS (54 tools)</strong></summary>\n\n| Service | Tools | Smart Identifiers |\n|---------|-------|------------------|\n| **DNS Management** | 14 | Domain name |\n| **VPCs & VPC 2.0** | 15 | `description` |\n| **Load Balancers** | 16 | `name`, `label` |\n| **CDN & Edge** | 15 | Origin/CDN domain |\n| **Firewall** | 10 | `description` |\n\n</details>\n\n<details>\n<summary><strong>\ud83d\uddc4\ufe0f Storage & Data (53 tools)</strong></summary>\n\n| Service | Tools | Smart Identifiers |\n|---------|-------|------------------|\n| **Managed Databases** | 41 | `name`, `label` |\n| **Block Storage** | 12 | `label` |\n| **Object Storage** | 12 | `name`, `label` |\n| **Storage Gateways** | 14 | `name`, `label` |\n\n</details>\n\n<details>\n<summary><strong>\ud83d\udc33 Containers & Apps (45 tools)</strong></summary>\n\n| Service | Tools | Smart Identifiers |\n|---------|-------|------------------|\n| **Kubernetes** | 24 | Cluster `name`/`label` |\n| **Container Registry** | 10 | Registry `name` |\n| **Serverless Inference** | 10 | Service `name`/`label` |\n| **Marketplace** | 11 | App name |\n\n</details>\n\n<details>\n<summary><strong>\ud83d\udd27 Management & Operations (40+ tools)</strong></summary>\n\n| Service | Tools | Smart Identifiers |\n|---------|-------|------------------|\n| **Billing & Account** | 12 | Account info |\n| **Users & Subaccounts** | 23 | Email, name |\n| **Startup Scripts** | 10 | Script `name` |\n| **ISO Images** | 7 | Filename |\n| **Operating Systems** | 8 | OS name |\n\n</details>\n\n---\n\n## \ud83d\ude80 **Quick Start**\n\n### \ud83d\udce6 **Installation**\n\n```bash\n# \ud83c\udfc3\u200d\u2642\ufe0f Fast installation with uv (recommended)\nuv add mcp-vultr\n\n# \ud83d\udce6 Traditional pip installation  \npip install mcp-vultr\n```\n\n### \u2699\ufe0f **Setup with Claude Code**\n\n```bash\n# \ud83d\udd11 Set your Vultr API key\nexport VULTR_API_KEY=\"your-vultr-api-key\"\n\n# \ud83d\udd0c Add to Claude Code (one command!)\nclaude mcp add vultr vultr-mcp-server --env VULTR_API_KEY=\"${VULTR_API_KEY}\"\n```\n\n### \ud83c\udf89 **Start Managing!**\n\n```bash\n# \ud83d\ude80 Launch the MCP server\nvultr-mcp-server\n```\n\n**That's it!** You now have 335+ Vultr management tools available through natural language in Claude Code.\n\n---\n\n## \ud83d\udca1 **Examples**\n\n### \ud83d\udde3\ufe0f **Natural Language Commands**\n\n```\n\ud83e\uddd1\u200d\ud83d\udcbb \"Create a web server instance called 'my-website' in New Jersey\"\n\ud83e\udd16 \u2705 Created instance 'my-website' (Ubuntu 22.04, 1GB RAM) in ewr region\n\n\ud83e\uddd1\u200d\ud83d\udcbb \"Add a DNS record for blog.example.com pointing to my-website\"  \n\ud83e\udd16 \u2705 Added A record: blog.example.com \u2192 192.168.1.100 (TTL: 300)\n\n\ud83e\uddd1\u200d\ud83d\udcbb \"Scale my Kubernetes cluster to 5 nodes\"\n\ud83e\udd16 \u2705 Scaled cluster 'production' node pool to 5 nodes\n\n\ud83e\uddd1\u200d\ud83d\udcbb \"Show me this month's billing breakdown by service\"\n\ud83e\udd16 \ud83d\udcca Monthly costs: Instances $45, Kubernetes $120, Storage $23...\n```\n\n### \ud83d\udc0d **Python API**\n\n```python\nimport asyncio\nfrom mcp_vultr import VultrDNSClient, VultrDNSServer\n\nasync def deploy_website():\n    \"\"\"\ud83d\ude80 Deploy a complete website infrastructure\"\"\"\n    \n    # High-level DNS client\n    dns = VultrDNSClient(\"your-api-key\")\n    \n    # Full API client with smart identifiers\n    vultr = VultrDNSServer(\"your-api-key\")\n    \n    # \ud83c\udf10 Create domain and DNS records\n    await dns.create_domain(\"mysite.com\", \"192.168.1.100\") \n    await dns.add_a_record(\"mysite.com\", \"www\", \"192.168.1.100\")\n    await dns.add_mx_record(\"mysite.com\", \"@\", \"mail.mysite.com\", 10)\n    \n    # \ud83d\udda5\ufe0f Deploy instance with smart naming\n    instance = await vultr.create_instance(\n        region=\"ewr\",\n        plan=\"vc2-1c-1gb\", \n        os_id=387,\n        label=\"web-server\",  # \ud83c\udff7\ufe0f Human-readable name!\n        hostname=\"web.mysite.com\"\n    )\n    \n    # \ud83d\udd25 Configure firewall by description\n    firewall = await vultr.get_firewall_group(\"web-servers\")\n    \n    # \ud83d\udcca Get real-time metrics\n    stats = await vultr.get_instance_bandwidth(\"web-server\")  # By name!\n    \n    print(f\"\u2705 Deployed {instance['label']} with {stats['incoming']}GB traffic\")\n\nasyncio.run(deploy_website())\n```\n\n### \ud83d\udda5\ufe0f **CLI Power User**\n\n```bash\n# \ud83c\udfd7\ufe0f Infrastructure management with smart names\nmcp-vultr instances create --label \"api-server\" --region ewr --plan vc2-2c-4gb\nmcp-vultr instances start api-server                    # Start by name!\nmcp-vultr instances attach-volume api-server db-storage # Attach by names!\n\n# \ud83c\udf10 DNS management\nmcp-vultr domains create api.mycompany.com 192.168.1.200\nmcp-vultr records add api.mycompany.com A @ 192.168.1.200\nmcp-vultr setup-website api.mycompany.com 192.168.1.200 --ssl\n\n# \ud83d\udc33 Kubernetes cluster management  \nmcp-vultr k8s create production-cluster --region ewr --nodes 3\nmcp-vultr k8s scale production-cluster --nodes 5       # Scale by name!\nmcp-vultr k8s get-costs production-cluster             # Cost analysis!\n\n# \ud83d\udcbe Database deployment\nmcp-vultr databases create postgres-main --engine postgresql --region ewr\nmcp-vultr databases backup postgres-main               # Backup by name!\n\n# \ud83d\udcca Monitoring & analytics\nmcp-vultr billing summary --month current\nmcp-vultr billing trends --months 6\nmcp-vultr instances list --status running --region ewr\n```\n\n---\n\n## \ud83c\udfaf **Smart Identifier Resolution**\n\n**Stop wrestling with UUIDs!** Vultr MCP's killer feature is **smart identifier resolution** - use human-readable names instead of cryptic UUIDs across all services.\n\n### \ud83c\udff7\ufe0f **Before vs After**\n\n```bash\n# \ud83d\ude24 The old way (UUIDs everywhere)\nvultr instance stop cb676a46-66fd-4dfb-b839-443f2e6c0b60\nvultr firewall rule add 5f2a4b6c-7b8d-4e9f-a1b2-3c4d5e6f7a8b --port 443\n\n# \ud83c\udf89 The Vultr MCP way (human names!)\nmcp-vultr instances stop web-server  \nmcp-vultr firewall rules add web-servers --port 443\n```\n\n### \ud83e\udde0 **Smart Resolution Across All Services**\n\n| Service | Smart Identifier | Example |\n|---------|------------------|---------|\n| \ud83d\udda5\ufe0f **Instances** | `label`, `hostname` | `web-server`, `api.company.com` |\n| \ud83d\udd11 **SSH Keys** | `name` | `laptop-key`, `ci-deploy-key` |\n| \ud83d\udd25 **Firewall Groups** | `description` | `web-servers`, `database-tier` |\n| \ud83d\udcf8 **Snapshots** | `description` | `backup-2024-01`, `pre-upgrade` |\n| \ud83c\udf10 **Reserved IPs** | IP address | `192.168.1.100` |\n| \ud83d\udc33 **Container Registries** | `name` | `my-app-registry` |\n| \ud83d\udcbe **Block Storage** | `label` | `database-storage` |\n| \ud83c\udf10 **VPCs** | `description` | `production-network` |\n| \ud83d\udcdc **Startup Scripts** | `name` | `docker-setup` |\n| \ud83d\udda5\ufe0f **Bare Metal** | `label`, `hostname` | `db-server-01` |\n| \ud83c\udf10 **CDN Zones** | Origin/CDN domain | `cdn.mysite.com` |\n| \u2638\ufe0f **Kubernetes** | `name`, `label` | `prod-cluster` |\n| \u2696\ufe0f **Load Balancers** | `name`, `label` | `api-lb` |\n| \ud83d\uddc4\ufe0f **Databases** | `name`, `label` | `postgres-main` |\n| \ud83d\udc8e **Object Storage** | `name`, `label` | `media-bucket` |\n| \ud83d\ude80 **Inference Services** | `name`, `label` | `ml-api` |\n| \ud83d\udeaa **Storage Gateways** | `name`, `label` | `file-gateway` |\n| \ud83d\udc65 **Subaccounts** | `name`, `email` | `dev-team` |\n| \ud83d\udc64 **Users** | Email address | `admin@company.com` |\n\n---\n\n## \ud83c\udfd7\ufe0f **Architecture**\n\n```\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502                        \ud83e\udd16 AI Assistant                          \u2502\n\u2502                     (Claude Code/Desktop)                       \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                           \u2502 Natural Language Commands\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502                   \ud83d\udce1 Vultr MCP Server                           \u2502\n\u2502                      (335+ Tools)                               \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502  \ud83c\udf10 DNS  \ud83d\udda5\ufe0f Compute  \ud83d\udc33 K8s  \ud83d\uddc4\ufe0f DB  \ud83d\udd25 Security  \ud83d\udcbe Storage    \u2502\n\u2502  \ud83d\udcca Analytics  \ud83c\udf0d CDN  \u2696\ufe0f LB  \ud83d\ude80 Serverless  \ud83d\udc65 Users          \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                           \u2502 Smart API Calls\n\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502                      \u2601\ufe0f Vultr Cloud API                         \u2502\n\u2502              (Complete Infrastructure Management)                \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\n---\n\n## \ud83d\udcd6 **Documentation**\n\n### \ud83d\ude80 **Getting Started**\n\n- [\u26a1 Quick Start Guide](#-quick-start)\n- [\ud83d\udd27 Installation & Setup](#-installation)  \n- [\ud83c\udfaf First Steps with Claude Code](#-setup-with-claude-code)\n\n### \ud83d\udcda **API Reference**\n\n- [\ud83d\udc0d Python API Documentation](https://git.supported.systems/MCP/mcp-vultr/blob/main/docs/api.md)\n- [\ud83d\udda5\ufe0f CLI Command Reference](https://git.supported.systems/MCP/mcp-vultr/blob/main/docs/cli.md)\n- [\ud83e\udd16 MCP Tools Reference](https://git.supported.systems/MCP/mcp-vultr/blob/main/docs/mcp-tools.md)\n\n### \ud83c\udf93 **Tutorials & Examples**\n\n- [\ud83c\udfd7\ufe0f Infrastructure as Code with Natural Language](https://git.supported.systems/MCP/mcp-vultr/blob/main/examples/iac.md)\n- [\ud83c\udf10 Complete Website Deployment](https://git.supported.systems/MCP/mcp-vultr/blob/main/examples/website.md)\n- [\u2638\ufe0f Kubernetes Cluster Management](https://git.supported.systems/MCP/mcp-vultr/blob/main/examples/kubernetes.md)\n\n---\n\n## \ud83d\udee0\ufe0f **Development**\n\n### \ud83c\udfc3\u200d\u2642\ufe0f **Quick Setup**\n\n```bash\n# \ud83d\udce5 Clone the repository\ngit clone https://git.supported.systems/MCP/mcp-vultr.git\ncd mcp-vultr\n\n# \u26a1 Install with uv (recommended)\nuv sync --extra dev\n\n# \ud83e\uddea Run tests\nuv run pytest\n\n# \ud83c\udfa8 Format code  \nuv run black src tests && uv run isort src tests\n\n# \ud83d\udd0d Type checking\nuv run mypy src\n```\n\n### \ud83d\udce6 **Build & Publish**\n\n```bash\n# \ud83c\udfd7\ufe0f Build package\nuv build\n\n# \u2705 Check integrity\nuv run twine check dist/*\n\n# \ud83d\ude80 Publish to PyPI\nuv run twine upload dist/*\n```\n\n---\n\n## \ud83e\udd1d **Contributing**\n\nWe \u2764\ufe0f contributions! Whether it's:\n\n- \ud83d\udc1b **Bug Reports**: Found an issue? Let us know!\n- \u2728 **Feature Requests**: Have ideas? We want to hear them!\n- \ud83d\udcdd **Documentation**: Help make our docs even better\n- \ud83e\uddea **Testing**: Add tests, improve coverage\n- \ud83d\udcbb **Code**: Submit PRs for new features or fixes\n\n### \ud83d\ude80 **How to Contribute**\n\n1. \ud83c\udf74 **Fork** the repository\n2. \ud83c\udf3f **Create** a feature branch (`git checkout -b feature/amazing-feature`)\n3. \u270d\ufe0f **Make** your changes\n4. \u2705 **Test** everything (`uv run python run_tests.py --all-checks`)\n5. \ud83d\udcdd **Commit** your changes (`git commit -m 'Add amazing feature'`)\n6. \ud83d\udce4 **Push** to the branch (`git push origin feature/amazing-feature`)\n7. \ud83c\udf89 **Open** a Pull Request\n\n---\n\n## \ud83d\udcca **Project Stats**\n\n<div align=\"center\">\n\n| Metric | Value |\n|--------|-------|\n| \ud83d\udee0\ufe0f **MCP Tools** | **335+** |\n| \ud83d\udce6 **Service Modules** | **27** |\n| \ud83d\udc0d **Python Support** | **3.10+** |\n| \ud83d\udcc8 **Test Coverage** | **90%+** |\n| \ud83d\udcda **Documentation** | **Comprehensive** |\n| \u26a1 **Performance** | **Production Ready** |\n\n</div>\n\n---\n\n## \ud83d\ude4f **Acknowledgments**\n\n- \ud83c\udf29\ufe0f **Vultr** for their comprehensive cloud API\n- \ud83e\udd16 **Anthropic** for the Model Context Protocol specification  \n- \ud83d\udc0d **Python Community** for amazing tools and libraries\n- \ud83d\ude80 **FastMCP** for the excellent MCP framework\n- \ud83d\udc65 **Contributors** who make this project amazing\n\n---\n\n## \ud83d\udcc4 **License**\n\nThis project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.\n\n---\n\n<div align=\"center\">\n\n**\u2b50 Star us on [GitLab](https://git.supported.systems/MCP/mcp-vultr) if you find Vultr MCP useful!**\n\nMade with \u2764\ufe0f for the cloud infrastructure community\n\n[\ud83d\ude80 Get Started](#-quick-start) \u2022 [\ud83d\udcd6 Documentation](#-documentation) \u2022 [\ud83d\udc1b Report Issues](https://git.supported.systems/MCP/mcp-vultr/issues) \u2022 [\ud83d\udcac Discussions](https://git.supported.systems/MCP/mcp-vultr/discussions)\n\n</div>\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A comprehensive Model Context Protocol (MCP) server for managing Vultr DNS records",
    "version": "2.0.2",
    "project_urls": {
        "Bug Tracker": "https://git.supported.systems/MCP/mcp-vultr/issues",
        "Changelog": "https://git.supported.systems/MCP/mcp-vultr/blob/main/CHANGELOG.md",
        "Documentation": "https://mcp-vultr.readthedocs.io/",
        "Homepage": "https://git.supported.systems/MCP/mcp-vultr",
        "Repository": "https://git.supported.systems/MCP/mcp-vultr.git"
    },
    "split_keywords": [
        "vultr",
        " dns",
        " mcp",
        " model-context-protocol",
        " dns-management",
        " api",
        " mcp-server"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "24bf01b58a52300851bd24a95442e2ab02239d3e19f2e36ab9f1c094b8e48612",
                "md5": "029a9a42b7148653b08bed4ba6d6fc87",
                "sha256": "3dee69b7c9955c20f20c008eb89f7939095d7aadf64dc60b67e0c98a6ad67c7f"
            },
            "downloads": -1,
            "filename": "mcp_vultr-2.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "029a9a42b7148653b08bed4ba6d6fc87",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 124551,
            "upload_time": "2025-08-07T05:07:53",
            "upload_time_iso_8601": "2025-08-07T05:07:53.044668Z",
            "url": "https://files.pythonhosted.org/packages/24/bf/01b58a52300851bd24a95442e2ab02239d3e19f2e36ab9f1c094b8e48612/mcp_vultr-2.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "11b45e3c5940db150264edef31dc9d8508bff98443c849fd3a9db3c5c0765802",
                "md5": "60fa438f064e7776242609fa34f2934d",
                "sha256": "ce2d1c8447ec5aaedeadcc2bcf162ea232b44c210cba685022d17d3920c865e0"
            },
            "downloads": -1,
            "filename": "mcp_vultr-2.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "60fa438f064e7776242609fa34f2934d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 124182,
            "upload_time": "2025-08-07T05:07:54",
            "upload_time_iso_8601": "2025-08-07T05:07:54.739904Z",
            "url": "https://files.pythonhosted.org/packages/11/b4/5e3c5940db150264edef31dc9d8508bff98443c849fd3a9db3c5c0765802/mcp_vultr-2.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-07 05:07:54",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "mcp-vultr"
}
        
Elapsed time: 1.11551s