Bizfly Cloud MCP Server

by bizflycloud

1 stars
280 downloads
Not rated
GitHub

About

A Model Context Protocol (MCP) server implementation that connects to Bizfly Cloud to manage cloud resources

Details

Author
bizflycloud
GitHub stars
1
Downloads
280
Categories
Other

- Manage servers, volumes, load balancers, databases, Kubernetes, and more.
- Secure authentication via environment variables.
- Docker support for easy deployment.
- 10 Bizfly Cloud services supported.
- Comprehensive test suite with 196+ test cases.
- Compatible with Cursor and Claude Desktop.
- Configurable region and API endpoints.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Bizfly Cloud MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Set up using Docker (recommended) or local Go development. Configure environment variables (BIZFLY_USERNAME, BIZFLY_PASSWORD, BIZFLY_REGION, BIZFLY_API_URL) and add the server to your MCP client configuration (Cursor or Claude Desktop) pointing to the binary or Docker image.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "bizfly cloud mcp server": {
            "bizflycloud-mcp-server": {
                "command": "docker",
                "args": [
                    "build",
                    "-t",
                    "bizfly-mcp-server:latest",
                    "."
                ]
            }
        }
    }
}

McpServers

{
    "bizflycloud-mcp-server": {
        "command": "docker",
        "args": [
            "build",
            "-t",
            "bizfly-mcp-server:latest",
            "."
        ]
    }
}

Bizfly Cloud MCP Server

A comprehensive Model Context Protocol (MCP) server implementation that connects to Bizfly Cloud to manage cloud resources. Built using the mark3labs/mcp-go SDK.

Features

- πŸ”§ Complete Cloud Management: Manage servers, volumes, load balancers, databases, Kubernetes clusters, and more
- πŸ”’ Secure Authentication: Uses environment variables for credentials
- 🐳 Docker Support: Ready-to-use Docker image for easy deployment
- πŸ“¦ 10 Services Supported: Server, Volume, Load Balancer, Kubernetes, Database, DNS, CDN, KMS, Container Registry, AutoScaling, and Alert services
- βœ… Fully Tested: Comprehensive test suite with 196+ test cases
- πŸš€ MCP Protocol: Compatible with Cursor and Claude Desktop
- 🌐 Multi-Region Support: Configurable region and API endpoints

Prerequisites

Local Development

- Go 1.23 or later - Bizfly Cloud account credentials - Cursor or Claude Desktop installed

Docker Deployment

- Docker 20.10 or later - Docker Compose (optional)

Setup

Option 1: Docker (Recommended)

1. Clone the repository:

   git clone https://github.com/your-username/bizflycloud-mcp-server.git
cd bizflycloud-mcp-server

2. Build the Docker image:

   docker build -t bizfly-mcp-server:latest .

3. Run the container:

   docker run -it --rm \
-e BIZFLY_USERNAME=your_username \
-e BIZFLY_PASSWORD=your_password \
-e BIZFLY_REGION=HaNoi \
bizfly-mcp-server:latest

4. Using Docker Compose:

Create a .env file:

   BIZFLY_USERNAME=your_username
BIZFLY_PASSWORD=your_password
BIZFLY_REGION=HaNoi
BIZFLY_API_URL=https://manage.bizflycloud.vn

Run with docker-compose:

   docker-compose up

Option 2: Local Development

1. Clone the repository:

   git clone https://github.com/your-username/bizflycloud-mcp-server.git
cd bizflycloud-mcp-server

2. Set up environment variables:

   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

3. Install dependencies:

   go mod download

4. Build the server:

   go build -o bizfly-mcp-server

Running the Server

For Cursor/Claude Desktop Integration

1. Build the server:

    go build -o bizfly-mcp-server
    

2. Configure your MCP client (Cursor or Claude Desktop) by adding the following to the configuration:

For Cursor:

{
    "mcpServers": {
        "bizfly": {
            "command": "/absolute/path/to/bizfly-mcp-server",
            "env": {
                "BIZFLY_USERNAME": "your_username",
                "BIZFLY_PASSWORD": "your_password",
                "BIZFLY_REGION": "HaNoi"
            }
        }
    }
}

For 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"
            }
        }
    }
}

Available Tools

The server provides comprehensive MCP tools for managing all Bizfly Cloud services. All tool names are prefixed with bizflycloud_ for consistency.

πŸ–₯️ Server Management (bizflycloud_)

- bizflycloud_list_servers - List all Bizfly Cloud servers
- bizflycloud_get_server - Get detailed information about a server
- bizflycloud_start_server - Start a stopped server
- bizflycloud_stop_server - Stop a running server
- bizflycloud_reboot_server - Soft reboot a server
- bizflycloud_hard_reboot_server - Hard reboot a server
- bizflycloud_delete_server - Delete a server
- bizflycloud_resize_server - Resize a server to a different flavor
- bizflycloud_list_flavors - List available server flavors

πŸ’Ύ Volume Management (bizflycloud_)

- bizflycloud_list_volumes - List all volumes
- bizflycloud_get_volume - Get detailed information about a volume
- bizflycloud_create_volume - Create a new volume
- bizflycloud_delete_volume - Delete a volume
- bizflycloud_resize_volume - Resize a volume
- bizflycloud_attach_volume - Attach a volume to a server
- bizflycloud_detach_volume - Detach a volume from a server
- bizflycloud_list_snapshots - List all volume snapshots
- bizflycloud_create_snapshot - Create a volume snapshot
- bizflycloud_delete_snapshot - Delete a volume snapshot

βš–οΈ Load Balancer Management (bizflycloud_)

- bizflycloud_list_loadbalancers - List all load balancers
- bizflycloud_get_loadbalancer - Get detailed information about a load balancer
- bizflycloud_create_loadbalancer - Create a new load balancer
- bizflycloud_update_loadbalancer - Update load balancer properties
- bizflycloud_delete_loadbalancer - Delete a load balancer

☸️ Kubernetes Management (bizflycloud_)

- bizflycloud_list_kubernetes_clusters - List all Kubernetes clusters
- bizflycloud_get_kubernetes_cluster - Get detailed information about a cluster
- bizflycloud_create_kubernetes_cluster - Create a new Kubernetes cluster
- bizflycloud_delete_kubernetes_cluster - Delete a Kubernetes cluster
- bizflycloud_list_kubernetes_nodes - List nodes in a cluster/pool
- bizflycloud_update_kubernetes_pool - Update worker pool configuration
- bizflycloud_resize_kubernetes_pool - Resize a worker pool
- bizflycloud_delete_kubernetes_pool - Delete a worker pool

πŸ—„οΈ Database Management (bizflycloud_)

- bizflycloud_list_databases - List all database instances
- bizflycloud_list_datastores - List available database engines and versions
- bizflycloud_get_database - Get detailed information about a database
- bizflycloud_create_database - Create a new database instance
- bizflycloud_delete_database - Delete a database instance
- bizflycloud_list_database_backups - List backups for a database instance
- bizflycloud_create_database_backup - Create a backup for a database instance

🌐 DNS Management (bizflycloud_)

- bizflycloud_list_dns_zones - List all DNS zones
- bizflycloud_get_dns_zone - Get detailed information about a DNS zone
- bizflycloud_create_dns_zone - Create a new DNS zone
- bizflycloud_delete_dns_zone - Delete a DNS zone
- bizflycloud_create_dns_record - Create a DNS record (A, AAAA, CNAME, MX, SRV, TXT, NS, PTR)
- bizflycloud_get_dns_record - Get detailed information about a DNS record
- bizflycloud_delete_dns_record - Delete a DNS record

πŸš€ CDN Management (bizflycloud_)

- bizflycloud_list_cdn_domains - List all CDN domains
- bizflycloud_get_cdn_domain - Get detailed information about a CDN domain
- bizflycloud_create_cdn_domain - Create a new CDN domain
- bizflycloud_update_cdn_domain - Update CDN domain configuration
- bizflycloud_delete_cdn_domain - Delete a CDN domain
- bizflycloud_delete_cdn_cache - Delete CDN cache (all or specific files)

πŸ” KMS (Key Management Service) (bizflycloud_)

- bizflycloud_list_kms_certificates - List all KMS certificates
- bizflycloud_get_kms_certificate - Get detailed information about a certificate
- bizflycloud_create_kms_certificate - Create a new KMS certificate container
- bizflycloud_delete_kms_certificate - Delete a KMS certificate

πŸ“¦ Container Registry Management (bizflycloud_)

- bizflycloud_list_container_registries - List all container registries/repositories
- bizflycloud_create_container_registry - Create a new repository
- bizflycloud_update_container_registry - Update repository settings (e.g., public/private)
- bizflycloud_delete_container_registry - Delete a repository
- bizflycloud_list_container_registry_tags - List tags in a repository
- bizflycloud_get_container_registry_tag - Get detailed information about a tag
- bizflycloud_delete_container_registry_tag - Delete a tag

πŸ“ˆ AutoScaling Management (bizflycloud_)

- bizflycloud_list_autoscaling_groups - List all auto scaling groups
- bizflycloud_get_autoscaling_group - Get detailed information about an auto scaling group
- bizflycloud_create_autoscaling_group - Create a new auto scaling group
- bizflycloud_delete_autoscaling_group - Delete an auto scaling group

🚨 Alert/CloudWatcher Management (bizflycloud_*)

- bizflycloud_list_alarms - List all alarms
- bizflycloud_get_alarm - Get detailed information about an alarm
- bizflycloud_list_receivers - List all notification receivers
- bizflycloud_get_receiver - Get detailed information about a receiver

Docker Configuration

Using Docker Image with Cursor/Claude Desktop

For 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"
            }
        }
    }
}

For 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"
            }
        }
    }
}

Example Usage

You can interact with the server through natural language queries in Cursor or Claude Desktop:

Server Management

- "Show me all my Bizfly Cloud servers" - "Start server server-123" - "Reboot the server named production-web" - "List available server flavors"

Volume Management

- "List all volumes in my Bizfly Cloud account" - "Create a 100GB volume named data-storage" - "Attach volume vol-123 to server server-456" - "Show me all snapshots"

Load Balancer

- "List all load balancers" - "Create a new load balancer for my web servers"

Kubernetes

- "List all Kubernetes clusters" - "Show me the nodes in cluster cluster-123" - "Resize the worker pool to 5 nodes"

Database

- "Show me all databases" - "Create a MySQL 8.0 database" - "List backups for database db-123"

DNS

- "List all DNS zones" - "Create an A record for www.example.com pointing to 1.2.3.4" - "Show me all records in zone example.com"

CDN

- "List all CDN domains" - "Create a CDN domain for example.com" - "Clear CDN cache for domain cdn-123"

Container Registry

- "List all container repositories" - "Create a public repository named my-app" - "Show me all tags in repository my-app"

AutoScaling & Alerts

- "List all auto scaling groups" - "Show me all alarms" - "List notification receivers"

MCP Implementation Details

This server uses the mark3labs/mcp-go SDK to implement the Model Context Protocol:

1. Standard I/O Transport: Uses stdin/stdout for communication with MCP clients
2. Tool Definitions: Clear tool descriptions and parameters
3. Error Handling: Proper error reporting in MCP format
4. Text Formatting: Human-readable output for resource listings

Environment Variables

The server uses environment variables for configuration:

Required Variables

- BIZFLY_USERNAME: Your Bizfly Cloud username - BIZFLY_PASSWORD: Your Bizfly Cloud password

Optional Variables

- BIZFLY_REGION: Region name (defaults to "HaNoi") - Available regions: HaNoi, HoChiMinh, etc. - BIZFLY_API_URL: API endpoint URL (defaults to "https://manage.bizflycloud.vn")

Security Best Practices

⚠️ Important: Keep your credentials secure and never commit them to version control.

1. For Docker: Use .env files or Docker secrets

   # .env file (add to .gitignore)
BIZFLY_USERNAME=your_username
BIZFLY_PASSWORD=your_password

2. For Local Development: Use environment variables or a .env file loader

   export BIZFLY_USERNAME=your_username
export BIZFLY_PASSWORD=your_password

3. For Production: Consider using:
- Docker secrets
- Kubernetes secrets
- HashiCorp Vault
- AWS Secrets Manager / Azure Key Vault / GCP Secret Manager

Testing

The project includes comprehensive test coverage with 196+ test cases:

```bash

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.