README
🚀 🌩️ Vultr MCP
Vultr云管理的终极模型上下文协议服务器
通过自然语言命令变革你的云基础设施
🚀 快速开始 • 📖 详细文档 • 🛠️ 主要特性 • 💡 使用示例 • 🤝 贡献代码
🚀 快速开始
📦 安装指南
# 🏃♂️ 使用uv快速安装(推荐)
uv add mcp-vultr
# 📦 传统pip安装
pip install mcp-vultr
⚙️ 与Claude Code进行设置
# 🔑 设置你的Vultr API密钥
export VULTR_API_KEY="your-vultr-api-key"
# 🔌 添加到Claude Code(一键完成!)
claude mcp add vultr vultr-mcp-server --env VULTR_API_KEY="${VULTR_API_KEY}"
🎉 开始管理!
# 🚀 启动MCP服务器
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客户端
dns = VultrDNSClient("your-api-key")
# 带有智能标识符的完整API客户端
vultr = VultrDNSServer("your-api-key")
# 🌐 创建域名和DNS记录
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 # 按名称挂载!
# 🌐 带有实时反馈的DNS管理
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集群管理
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
# 📊 带有P95/P99指标的美观性能表格
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。
🏷️ 使用前后对比
# 😤 旧方式(到处都是UUID)
vultr instance stop cb676a46-66fd-4dfb-b839-443f2e6c0b60
vultr firewall rule add 5f2a4b6c-7b8d-4e9f-a1b2-3c4d5e6f7a8b --port 443
# 🎉 Vultr MCP方式(人类可读的名称!)
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) │
└─────────────────────────────────────────────────────────────────┘
📚 详细文档
🚀 入门指南
📚 API参考
🎓 教程与示例
🛠️ 开发
🏃♂️ 快速设置
# 📥 克隆仓库
git clone https://git.supported.systems/MCP/mcp-vultr.git
cd mcp-vultr
# ⚡ 使用uv安装(推荐)
uv sync --extra dev
# 🧪 运行测试(多种性能模式)
make test-fast # ⚡ 快速测试(30 - 60秒)
make test-parallel # 🚀 并行执行(60 - 120秒)
make test-coverage # 📊 全覆盖测试(180 - 300秒)
# 🎯 针对性测试
make test-unit # 仅单元测试
make test-mcp # 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/*
# 🚀 发布到PyPI
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 文件。
Scan to join WeChat group