🚀 🌩️ Vultr MCP
Vultr云管理的终极模型上下文协议服务器
通过自然语言命令变革你的云基础设施

🚀 快速开始 • 📖 详细文档 • 🛠️ 主要特性 • 💡 使用示例 • 🤝 贡献代码
🚀 快速开始
📦 安装指南
uv add mcp-vultr
pip install mcp-vultr
⚙️ 与Claude Code进行设置
export VULTR_API_KEY="your-vultr-api-key"
claude mcp add vultr vultr-mcp-server --env VULTR_API_KEY="${VULTR_API_KEY}"
🎉 开始管理!
vultr-mcp-server
就是这么简单! 现在你可以在Claude Code中通过自然语言使用335多种Vultr管理工具了。
✨ 主要特性
🌟 核心功能
| 功能分类 |
详情 |
| 🎯 智能管理 |
- 🔤 人类可读的标识符 - 🛡️ 智能验证 - 📊 实时分析 - 🔄 批量操作 |
| ⚡ 开发者体验 |
- 🐍 原生Python API - 🖥️ 丰富的CLI界面 - 📚 全面的文档 - 🧪 完整的测试覆盖 |
🎯 企业级特性(v2.1.0)
| 功能分类 |
详情 |
| 🎨 美观的CLI界面 |
- 🌈 丰富的颜色和专业的表格 - 📊 实时性能指标 - 🔄 加载指示器和进度条 - ✨ 品牌面板和状态指示器
📝 结构化日志记录 - 🏷️ 带有服务标签的上下文日志记录 - ⏱️ 请求计时和性能数据 - 🔍 调试级API调用跟踪 - 📊 带有重试尝试的错误跟踪 |
| ⚡ 性能与可靠性 |
- 💾 基于智能TTL的缓存(命中率85%以上) - 🔄 带抖动的指数退避重试 - 📈 实时P95/P99性能监控 - 🛡️ 网络超时和错误恢复能力
🔒 安全与质量 - 🛡️ 带有7项质量检查的预提交钩子 - 🔍 Bandit安全扫描 - 🤖 Dependabot自动更新 - ⚡ Ruff快速代码检查 |
🏗️ 服务覆盖范围(335+工具)
🖥️ 计算与基础设施(67个工具)
| 服务 |
工具数量 |
智能标识符 |
| 实例 |
14 |
标签, 主机名 |
| 裸金属 |
18 |
标签, 主机名 |
| 预留IP |
11 |
IP地址 |
| SSH密钥 |
5 |
名称 |
| 快照 |
6 |
描述 |
| 备份 |
2 |
UUID |
| 区域 |
5 |
区域代码 |
| 计划 |
10 |
计划ID |
🌐 网络与DNS(54个工具)
| 服务 |
工具数量 |
智能标识符 |
| DNS管理 |
14 |
域名 |
| VPC和VPC 2.0 |
15 |
描述 |
| 负载均衡器 |
16 |
名称, 标签 |
| CDN与边缘 |
15 |
源/CDN域名 |
| 防火墙 |
10 |
描述 |
🗄️ 存储与数据(53个工具)
| 服务 |
工具数量 |
智能标识符 |
| 托管数据库 |
41 |
名称, 标签 |
| 块存储 |
12 |
标签 |
| 对象存储 |
12 |
名称, 标签 |
| 存储网关 |
14 |
名称, 标签 |
🐳 容器与应用(45个工具)
| 服务 |
工具数量 |
智能标识符 |
| Kubernetes |
24 |
集群 名称/标签 |
| 容器注册表 |
10 |
注册表 名称 |
| 无服务器推理 |
10 |
服务 名称/标签 |
| 市场 |
11 |
应用名称 |
🔧 管理与操作(40+工具)
| 服务 |
工具数量 |
智能标识符 |
| 计费与账户 |
12 |
账户信息 |
| 用户与子账户 |
23 |
电子邮件,名称 |
| 启动脚本 |
10 |
脚本 名称 |
| ISO镜像 |
7 |
文件名 |
| 操作系统 |
8 |
操作系统名称 |
💻 使用示例
🗣️ 自然语言命令
🧑💻 "在新泽西创建一个名为'my-website'的Web服务器实例"
🤖 ✅ 在ewr区域创建了实例'my-website'(Ubuntu 22.04,1GB内存)
🧑💻 "为blog.example.com添加一个指向my-website的DNS记录"
🤖 ✅ 添加了A记录:blog.example.com → 192.168.1.100(TTL: 300)
🧑💻 "将我的Kubernetes集群扩展到5个节点"
🤖 ✅ 将集群'production'的节点池扩展到5个节点
🧑💻 "显示本月按服务划分的计费明细"
🤖 📊 月度费用:实例 $45,Kubernetes $120,存储 $23...
🐍 Python API
import asyncio
from mcp_vultr import VultrDNSClient, VultrDNSServer
async def deploy_website():
"""🚀 部署完整的网站基础设施"""
dns = VultrDNSClient("your-api-key")
vultr = VultrDNSServer("your-api-key")
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)
instance = await vultr.create_instance(
region="ewr",
plan="vc2-1c-1gb",
os_id=387,
label="web-server",
hostname="web.mysite.com"
)
firewall = await vultr.get_firewall_group("web-servers")
stats = await vultr.get_instance_bandwidth("web-server")
print(f"✅ 部署了 {instance['label']},流量为 {stats['incoming']}GB")
asyncio.run(deploy_website())
🖥️ 企业级CLI体验
✨ 带有专业表格的美观丰富界面
$ 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 │
└─────────────────────────┴───────────────────────────┴─────────────┘
$ mcp-vultr server
╭────────────────────────────── Vultr MCP Server ──────────────────────────────╮
│ 🚀 Starting Vultr DNS MCP Server │
│ 🔑 API Key: your-key-abc123... │
│ 🔄 Press Ctrl+C to stop │
╰──────────────────────────────────────────────────────────────────────────────╯
mcp-vultr instances create --label "api-server" --region ewr --plan vc2-2c-4gb
mcp-vultr instances start api-server
mcp-vultr instances attach-volume api-server db-storage
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
mcp-vultr k8s create production-cluster --region ewr --nodes 3
mcp-vultr k8s scale production-cluster --nodes 5
mcp-vultr k8s get-costs production-cluster
📊 实时性能监控与结构化日志记录
[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
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% │
└───────────────┴──────────┴──────────┴────────┴───────────┴────────────┘
🎯 智能标识符解析
告别繁琐的UUID! Vultr MCP的核心特性是 智能标识符解析 - 在所有服务中使用人类可读的名称代替晦涩的UUID。
🏷️ 使用前后对比
vultr instance stop cb676a46-66fd-4dfb-b839-443f2e6c0b60
vultr firewall rule add 5f2a4b6c-7b8d-4e9f-a1b2-3c4d5e6f7a8b --port 443
mcp-vultr instances stop web-server
mcp-vultr firewall rules add web-servers --port 443
🧠 全服务智能解析
| 服务 |
智能标识符 |
示例 |
| 🖥️ 实例 |
标签, 主机名 |
web-server, api.company.com |
| 🔑 SSH密钥 |
名称 |
laptop-key, ci-deploy-key |
| 🔥 防火墙组 |
描述 |
web-servers, database-tier |
| 📸 快照 |
描述 |
backup-2024-01, pre-upgrade |
| 🌐 预留IP |
IP地址 |
192.168.1.100 |
| 🐳 容器注册表 |
名称 |
my-app-registry |
| 💾 块存储 |
标签 |
database-storage |
| 🌐 VPC |
描述 |
production-network |
| 📜 启动脚本 |
名称 |
docker-setup |
| 🖥️ 裸金属 |
标签, 主机名 |
db-server-01 |
| 🌐 CDN区域 |
源/CDN域名 |
cdn.mysite.com |
| ☸️ Kubernetes |
名称, 标签 |
prod-cluster |
| ⚖️ 负载均衡器 |
名称, 标签 |
api-lb |
| 🗄️ 数据库 |
名称, 标签 |
postgres-main |
| 💎 对象存储 |
名称, 标签 |
media-bucket |
| 🚀 推理服务 |
名称, 标签 |
ml-api |
| 🚪 存储网关 |
名称, 标签 |
file-gateway |
| 👥 子账户 |
名称, 电子邮件 |
dev-team |
| 👤 用户 |
电子邮件地址 |
admin@company.com |
🏗️ 架构
┌─────────────────────────────────────────────────────────────────┐
│ 🤖 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) │
└─────────────────────────────────────────────────────────────────┘
📚 详细文档
🚀 入门指南
- ⚡ 快速开始指南
- 🔧 安装与设置
- 🎯 使用Claude Code的第一步
📚 API参考
🎓 教程与示例
🛠️ 开发
🏃♂️ 快速设置
git clone https://git.supported.systems/MCP/mcp-vultr.git
cd mcp-vultr
uv sync --extra dev
make test-fast
make test-parallel
make test-coverage
make test-unit
make test-mcp
make test-error
python test_performance_benchmark.py
uv run black src tests && uv run isort src tests
uv run mypy src
📦 构建与发布
uv build
uv run twine check dist/*
uv run twine upload dist/*
🤝 贡献代码
我们欢迎贡献!无论是:
- 🐛 Bug报告:发现问题?告诉我们!
- ✨ 功能请求:有想法?我们想听!
- 📝 文档编写:帮助我们完善文档
- 🧪 测试工作:添加测试,提高覆盖率
- 💻 代码提交:提交新功能或修复的PR
🚀 如何贡献
- 🍴 Fork 仓库
- 🌿 创建 一个功能分支 (
git checkout -b feature/amazing-feature)
- ✍️ 进行 更改
- ✅ 测试 所有内容 (
make test-parallel 或 make test-coverage)
- 📝 提交 更改 (
git commit -m 'Add amazing feature')
- 📤 推送 到分支 (
git push origin feature/amazing-feature)
- 🎉 打开 一个Pull Request
📊 项目统计
| 指标 |
值 |
| 🛠️ MCP工具 |
335+ |
| 📦 服务模块 |
27 |
| 🐍 Python支持 |
3.10+ |
| 📈 测试覆盖率 |
90%+ |
| 📚 文档 |
全面 |
| ⚡ 性能 |
生产就绪 |
🙏 致谢
- 🌩️ Vultr 提供全面的云API
- 🤖 Anthropic 提供模型上下文协议规范
- 🐍 Python社区 提供出色的工具和库
- 🚀 FastMCP 提供优秀的MCP框架
- 👥 贡献者 让这个项目变得出色
📄 许可证
本项目采用 MIT许可证 - 详情请参阅 LICENSE 文件。
⭐ 如果你觉得Vultr MCP有用,请在 GitLab 上给我们加星!
为云基础设施社区用心打造
🚀 开始使用 • 📖 详细文档 • 🐛 报告问题 • 💬 讨论