关于 Bizfly Cloud MCP Server
Bizfly Cloud MCP Server 是用于管理 Bizfly Cloud 资源的 MCP 服务,供云平台运维人员通过支持的客户端操作多类云服务。它覆盖计算、存储、网络及其他服务,并支持配置区域和 API 端点。
主要功能
- 01管理服务器、卷和负载均衡器
- 02管理 Kubernetes 集群与数据库
- 03管理 DNS、CDN 和容器仓库
- 04管理 KMS、自动伸缩和告警
- 05通过环境变量配置凭据和区域
- 06支持 Docker 部署及多区域配置
适用场景
- 01查看并启停或调整云服务器
- 02创建卷、快照并挂载到服务器
- 03管理 Kubernetes 集群和工作节点池
- 04创建 DNS 记录或清理 CDN 缓存
MCP 相关
该 MCP 服务通过标准输入输出连接 MCP 客户端,并提供 Bizfly Cloud 资源管理工具。README 提到可与 Cursor 和 Claude Desktop 配合使用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Bizfly Cloud MCP 服务
一个全面的模型上下文协议(MCP)服务实现,可连接 Bizfly Cloud 以管理云资源。使用 mark3labs/mcp-go SDK 构建。
功能
- 🔧 全面的云管理:管理服务器、卷、负载均衡器、数据库、Kubernetes 集群等
- 🔒 安全认证:使用环境变量存储凭据
- 🐳 Docker 支持:提供开箱即用的 Docker 镜像,便于部署
- 📦 支持 10 项服务:服务器、卷、负载均衡器、Kubernetes、数据库、DNS、CDN、KMS、容器注册表、自动扩缩容和告警服务
- ✅ 经过全面测试:包含 196+ 个测试用例的完整测试套件
- 🚀 MCP 协议:兼容 Cursor 和 Claude Desktop
- 🌐 多区域支持:可配置区域和 API 端点
前提条件
本地开发
- Go 1.23 或更高版本
- Bizfly Cloud 账户凭据
- 已安装 Cursor 或 Claude Desktop
Docker 部署
- Docker 20.10 或更高版本
- Docker Compose(可选)
设置
选项 1:Docker(推荐)
-
克隆仓库:
git clone https://github.com/your-username/bizflycloud-mcp-server.git cd bizflycloud-mcp-server -
构建 Docker 镜像:
docker build -t bizfly-mcp-server:latest . -
运行容器:
docker run -it --rm \ -e BIZFLY_USERNAME=your_username \ -e BIZFLY_PASSWORD=your_password \ -e BIZFLY_REGION=HaNoi \ bizfly-mcp-server:latest -
使用 Docker Compose:
创建
.env文件:BIZFLY_USERNAME=your_username BIZFLY_PASSWORD=your_password BIZFLY_REGION=HaNoi BIZFLY_API_URL=https://manage.bizflycloud.vn使用 docker-compose 运行:
docker-compose up
选项 2:本地开发
-
克隆仓库:
git clone https://github.com/your-username/bizflycloud-mcp-server.git cd bizflycloud-mcp-server -
设置环境变量:
export BIZFLY_USERNAME=your_username export BIZFLY_PASSWORD=your_password export BIZFLY_REGION=HaNoi # Optional, defaults to HaNoi export BIZFLY_API_URL=https://manage.bizflycloud.vn # Optional, defaults to https://manage.bizflycloud.vn -
安装依赖:
go mod download -
构建服务:
go build -o bizfly-mcp-server
运行服务
集成 Cursor/Claude Desktop
-
构建服务:
go build -o bizfly-mcp-server -
通过将以下内容添加到配置中,配置 MCP 客户端(Cursor 或 Claude Desktop):
对于 Cursor:
{
"mcpServers": {
"bizfly": {
"command": "/absolute/path/to/bizfly-mcp-server",
"env": {
"BIZFLY_USERNAME": "your_username",
"BIZFLY_PASSWORD": "your_password",
"BIZFLY_REGION": "HaNoi"
}
}
}
}
对于 Claude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"bizfly": {
"command": "/absolute/path/to/bizfly-mcp-server",
"env": {
"BIZFLY_USERNAME": "your_username",
"BIZFLY_PASSWORD": "your_password",
"BIZFLY_REGION": "HaNoi"
}
}
}
}
可用工具
该服务提供全面的 MCP 工具,用于管理所有 Bizfly Cloud 服务。为保持一致,所有工具名称均以 bizflycloud_ 为前缀。
🖥️ 服务器管理(bizflycloud_*)
bizflycloud_list_servers- 列出所有 Bizfly Cloud 服务器bizflycloud_get_server- 获取服务器的详细信息bizflycloud_start_server- 启动已停止的服务器bizflycloud_stop_server- 停止正在运行的服务器bizflycloud_reboot_server- 软重启服务器bizflycloud_hard_reboot_server- 硬重启服务器bizflycloud_delete_server- 删除服务器bizflycloud_resize_server- 将服务器调整为其他规格bizflycloud_list_flavors- 列出可用的服务器规格
💾 卷管理(bizflycloud_*)
bizflycloud_list_volumes- 列出所有卷bizflycloud_get_volume- 获取卷的详细信息bizflycloud_create_volume- 创建新卷bizflycloud_delete_volume- 删除卷bizflycloud_resize_volume- 调整卷大小bizflycloud_attach_volume- 将卷挂载到服务器bizflycloud_detach_volume- 从服务器卸载卷bizflycloud_list_snapshots- 列出所有卷快照bizflycloud_create_snapshot- 创建卷快照bizflycloud_delete_snapshot- 删除卷快照
⚖️ 负载均衡器管理(bizflycloud_*)
bizflycloud_list_loadbalancers- 列出所有负载均衡器bizflycloud_get_loadbalancer- 获取负载均衡器的详细信息bizflycloud_create_loadbalancer- 创建新的负载均衡器bizflycloud_update_loadbalancer- 更新负载均衡器属性bizflycloud_delete_loadbalancer- 删除负载均衡器
☸️ Kubernetes 管理(bizflycloud_*)
bizflycloud_list_kubernetes_clusters- 列出所有 Kubernetes 集群bizflycloud_get_kubernetes_cluster- 获取集群的详细信息bizflycloud_create_kubernetes_cluster- 创建新的 Kubernetes 集群bizflycloud_delete_kubernetes_cluster- 删除 Kubernetes 集群bizflycloud_list_kubernetes_nodes- 列出集群/节点池中的节点bizflycloud_update_kubernetes_pool- 更新工作节点池配置bizflycloud_resize_kubernetes_pool- 调整工作节点池的大小bizflycloud_delete_kubernetes_pool- 删除工作节点池
🗄️ 数据库管理(bizflycloud_*)
bizflycloud_list_databases- 列出所有数据库实例bizflycloud_list_datastores- 列出可用的数据库引擎和版本bizflycloud_get_database- 获取数据库的详细信息bizflycloud_create_database- 创建新的数据库实例bizflycloud_delete_database- 删除数据库实例bizflycloud_list_database_backups- 列出数据库实例的备份bizflycloud_create_database_backup- 创建数据库实例的备份
🌐 DNS 管理(bizflycloud_*)
bizflycloud_list_dns_zones- 列出所有 DNS 区域bizflycloud_get_dns_zone- 获取 DNS 区域的详细信息bizflycloud_create_dns_zone- 创建新的 DNS 区域bizflycloud_delete_dns_zone- 删除 DNS 区域bizflycloud_create_dns_record- 创建 DNS 记录(A、AAAA、CNAME、MX、SRV、TXT、NS、PTR)bizflycloud_get_dns_record- 获取 DNS 记录的详细信息bizflycloud_delete_dns_record- 删除 DNS 记录
🚀 CDN 管理(bizflycloud_*)
bizflycloud_list_cdn_domains- 列出所有 CDN 域名bizflycloud_get_cdn_domain- 获取 CDN 域名的详细信息bizflycloud_create_cdn_domain- 创建新的 CDN 域名bizflycloud_update_cdn_domain- 更新 CDN 域名配置bizflycloud_delete_cdn_domain- 删除 CDN 域名bizflycloud_delete_cdn_cache- 删除 CDN 缓存(全部或指定文件)
🔐 KMS(密钥管理服务)(bizflycloud_*)
bizflycloud_list_kms_certificates- 列出所有 KMS 证书bizflycloud_get_kms_certificate- 获取证书的详细信息bizflycloud_create_kms_certificate- 创建新的 KMS 证书容器bizflycloud_delete_kms_certificate- 删除 KMS 证书
📦 容器镜像仓库管理(bizflycloud_*)
bizflycloud_list_container_registries- 列出所有容器镜像仓库/代码库bizflycloud_create_container_registry- 创建新的代码库bizflycloud_update_container_registry- 更新代码库设置(例如,公开/私有)bizflycloud_delete_container_registry- 删除代码库bizflycloud_list_container_registry_tags- 列出代码库中的标签bizflycloud_get_container_registry_tag- 获取标签的详细信息bizflycloud_delete_container_registry_tag- 删除标签
📈 自动扩缩容管理(bizflycloud_*)
bizflycloud_list_autoscaling_groups- 列出所有自动扩缩容组bizflycloud_get_autoscaling_group- 获取自动扩缩容组的详细信息bizflycloud_create_autoscaling_group- 创建新的自动扩缩容组bizflycloud_delete_autoscaling_group- 删除自动扩缩容组
🚨 告警/CloudWatcher 管理(bizflycloud_*)
bizflycloud_list_alarms- 列出所有告警bizflycloud_get_alarm- 获取告警的详细信息bizflycloud_list_receivers- 列出所有通知接收方bizflycloud_get_receiver- 获取接收方的详细信息
Docker 配置
在 Cursor/Claude Desktop 中使用 Docker 镜像
对于 Cursor(~/.cursor/mcp.json):
{
"mcpServers": {
"bizfly": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "BIZFLY_USERNAME",
"-e", "BIZFLY_PASSWORD",
"-e", "BIZFLY_REGION",
"bizfly-mcp-server:latest"
],
"env": {
"BIZFLY_USERNAME": "your_username",
"BIZFLY_PASSWORD": "your_password",
"BIZFLY_REGION": "HaNoi"
}
}
}
}
对于 Claude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"bizfly": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "BIZFLY_USERNAME",
"-e", "BIZFLY_PASSWORD",
"-e", "BIZFLY_REGION",
"bizfly-mcp-server:latest"
],
"env": {
"BIZFLY_USERNAME": "your_username",
"BIZFLY_PASSWORD": "your_password",
"BIZFLY_REGION": "HaNoi"
}
}
}
}
使用示例
你可以在 Cursor 或 Claude Desktop 中通过自然语言查询与服务交互:
服务管理
- “显示我在 Bizfly Cloud 上的所有服务器”
- “启动服务器 server-123”
- “重启名为 production-web 的服务器”
- “列出可用的服务器规格”
卷管理
- “列出我 Bizfly Cloud 账号中的所有卷”
- “创建一个名为 data-storage 的 100GB 卷”
- “将卷 vol-123 挂载到服务器 server-456”
- “显示所有快照”
负载均衡器
- “列出所有负载均衡器”
- “为我的 Web 服务器创建一个新的负载均衡器”
Kubernetes
- “列出所有 Kubernetes 集群”
- “显示集群 cluster-123 中的节点”
- “将工作节点池扩容到 5 个节点”
数据库
- “显示所有数据库”
- “创建一个 MySQL 8.0 数据库”
- “列出数据库 db-123 的备份”
DNS
- “列出所有 DNS 区域”
- “为 www.example.com 创建一条指向 1.2.3.4 的 A 记录”
- “显示区域 example.com 中的所有记录”
CDN
- “列出所有 CDN 域名”
- “为 example.com 创建一个 CDN 域名”
- “清除域名 cdn-123 的 CDN 缓存”
容器镜像仓库
- “列出所有容器仓库”
- “创建一个名为 my-app 的公共仓库”
- “显示仓库 my-app 中的所有标签”
自动扩缩容与告警
- “列出所有自动扩缩容组”
- “显示所有告警”
- “列出通知接收方”
MCP 实现细节
此服务使用 mark3labs/mcp-go SDK 实现 Model Context Protocol:
- 标准输入/输出传输:使用 stdin/stdout 与 MCP 客户端通信
- 工具定义:提供清晰的工具描述和参数
- 错误处理:以 MCP 格式正确报告错误
- 文本格式化:以易读的格式输出资源列表
环境变量
此服务使用环境变量进行配置:
必需变量
BIZFLY_USERNAME:你的 Bizfly Cloud 用户名BIZFLY_PASSWORD:你的 Bizfly Cloud 密码
可选变量
BIZFLY_REGION:区域名称(默认为“HaNoi”)- 可用区域:
HaNoi、HoChiMinh等 BIZFLY_API_URL:API 端点 URL(默认为“https://manage.bizflycloud.vn”)
安全最佳实践
⚠️ 重要:请妥善保管凭据,切勿将其提交到版本控制系统。
-
对于 Docker:使用
.env文件或 Docker secrets# .env file (add to .gitignore) BIZFLY_USERNAME=your_username BIZFLY_PASSWORD=your_password -
对于本地开发:使用环境变量或
.env文件加载器export BIZFLY_USERNAME=your_username export BIZFLY_PASSWORD=your_password -
对于生产环境:可考虑使用:
- Docker secrets
- Kubernetes secrets
- HashiCorp Vault
- AWS Secrets Manager / Azure Key Vault / GCP Secret Manager
测试
此项目包含全面的测试覆盖率,共有 196+ 个测试用例:
# Run all tests
go test ./...
# Run tests with verbose output
go test -v ./...
# Run a specific test
go test -v ./... -run TestServerToolsRegistration
# Run tests with coverage
go test -cover ./...
详细测试覆盖率信息请参阅 TEST_COVERAGE.md。
Docker 命令
构建镜像
docker build -t bizfly-mcp-server:latest .
运行容器
docker run -it --rm \
-e BIZFLY_USERNAME=your_username \
-e BIZFLY_PASSWORD=your_password \
-e BIZFLY_REGION=HaNoi \
bizfly-mcp-server:latest
为指定平台构建
# For ARM64 (Apple Silicon)
docker build --platform linux/arm64 -t bizfly-mcp-server:arm64 .
# For AMD64
docker build --platform linux/amd64 -t bizfly-mcp-server:amd64 .
使用 Docker Compose
# Start the container
docker-compose up
# Start in detached mode
docker-compose up -d
# Stop the container
docker-compose down
# View logs
docker-compose logs -f
MCP 功能
- 标准输入/输出传输:使用 stdin/stdout 与 Cursor/Claude Desktop 无缝集成
- 标准化响应格式:所有响应均遵循 MCP 格式,包含 context、type、data 和 root 字段
- 资源组织:资源按根路径组织
- 类型安全:为所有资源提供强类型
- 错误处理:以 MCP 格式返回标准化错误响应
- 全面的工具覆盖:80+ 个工具覆盖 10 项 Bizfly Cloud 服务
- 安全性:Docker 容器中使用非 root 用户,并安全处理凭据
开发
项目结构
.
├── main.go # Entry point
├── server_tools.go # Server management tools
├── volume_tools.go # Volume management tools
├── loadbalancer_tools.go # Load balancer tools
├── kubernetes_tools.go # Kubernetes management tools
├── database_tools.go # Database management tools
├── dns_tools.go # DNS service tools
├── cdn_tools.go # CDN service tools
├── kms_tools.go # KMS service tools
├── container_registry_tools.go # Container registry tools
├── autoscaling_tools.go # AutoScaling tools
├── alert_tools.go # Alert/CloudWatcher tools
├── *_test.go # Test files
├── test_helpers.go # Test utilities
├── Dockerfile # Docker image definition
├── docker-compose.yml # Docker Compose configuration
└── README.md # This file
贡献
- Fork 此仓库
- 创建功能分支
- 进行更改
- 为新功能添加测试
- 确保所有测试通过:
go test ./... - 提交拉取请求
许可证
[在此添加许可证]
支持
如有问题、疑问或想要贡献,请在 GitHub 上提交 issue。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。