mcpField
B
Bizfly Cloud MCP Server

Bizfly Cloud MCP Server

ローカル
github.com/bizflycloudクラウド・インフラ152 週間前に更新

Bizfly Cloud MCP Server について

Bizfly Cloud MCP Serverは、MCPクライアントからBizfly Cloudのリソースを管理するためのMCPサーバーです。コンピューティング、ストレージ、ネットワークなどを扱い、リージョンとAPIエンドポイントを設定できます。

主な機能

  1. 01サーバー、ボリューム、ロードバランサーの管理
  2. 02Kubernetesクラスターとデータベースの管理
  3. 03DNS、CDN、コンテナレジストリの管理
  4. 04KMS、自動スケーリング、アラートの管理
  5. 05環境変数による認証情報とリージョンの設定
  6. 06Dockerデプロイとマルチリージョン設定

活用シーン

  1. 01クラウドサーバーの確認、起動、停止、サイズ変更
  2. 02ボリュームやスナップショットの作成と接続
  3. 03Kubernetesクラスターとワーカープールの管理
  4. 04DNSレコードの作成やCDNキャッシュの消去

MCP 対応

標準入出力でMCPクライアントと通信し、Bizfly Cloudリソースを操作するツールを公開します。READMEではCursorとClaude Desktopとの連携が示されています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"bizflycloud": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Bizfly Cloud MCP サーバー

Bizfly Cloud に接続してクラウドリソースを管理する、包括的な Model Context Protocol(MCP)サーバー実装です。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(推奨)
  1. リポジトリをクローンします:

    git clone https://github.com/your-username/bizflycloud-mcp-server.git
    cd bizflycloud-mcp-server
    
  2. Docker イメージをビルドします:

    docker build -t bizfly-mcp-server:latest .
    
  3. コンテナーを実行します:

    docker run -it --rm \
      -e BIZFLY_USERNAME=your_username \
      -e BIZFLY_PASSWORD=your_password \
      -e BIZFLY_REGION=HaNoi \
      bizfly-mcp-server:latest
    
  4. 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:ローカル開発
  1. リポジトリをクローンします:

    git clone https://github.com/your-username/bizflycloud-mcp-server.git
    cd bizflycloud-mcp-server
    
  2. 環境変数を設定します:

    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. 依存関係をインストールします:

    go mod download
    
  4. サーバーをビルドします:

    go build -o bizfly-mcp-server
    

サーバーの実行

Cursor/Claude Desktop との連携
  1. サーバーをビルドします:

    go build -o bizfly-mcp-server
    
  2. 次の内容を設定に追加して、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"
            }
        }
    }
}

利用可能なツール

このサーバーは、Bizfly Cloud のすべてのサービスを管理するための包括的な MCP ツールを提供します。一貫性を保つため、すべてのツール名には 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(Key Management Service)(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 - タグを削除します
📈 AutoScaling の管理(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 に接続して」
  • 「すべてのスナップショットを表示して」
ロードバランサー
  • 「すべてのロードバランサーを一覧表示して」
  • 「ウェブサーバー用のロードバランサーを新規作成して」
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 の実装詳細

このサーバーは、Model Context Protocol を実装するために mark3labs/mcp-go SDK を使用します。

  1. 標準入出力トランスポート:MCP クライアントとの通信に stdin/stdout を使用します
  2. ツール定義:明確なツールの説明とパラメーターを定義します
  3. エラー処理:MCP 形式で適切にエラーを報告します
  4. テキスト形式:リソース一覧を人が読みやすい形式で出力します

環境変数

サーバーは設定に環境変数を使用します。

必須変数
  • BIZFLY_USERNAME:Bizfly Cloud のユーザー名
  • BIZFLY_PASSWORD:Bizfly Cloud のパスワード
オプション変数
  • BIZFLY_REGION:リージョン名(デフォルトは "HaNoi")
  • 利用可能なリージョン:HaNoi、HoChiMinh など
  • BIZFLY_API_URL:API エンドポイント URL(デフォルトは "https://manage.bizflycloud.vn")
セキュリティのベストプラクティス

⚠️ 重要:認証情報を安全に保管し、バージョン管理にコミットしないでください。

  1. Docker の場合:.env ファイルまたは Docker シークレットを使用します

    # .env file (add to .gitignore)
    BIZFLY_USERNAME=your_username
    BIZFLY_PASSWORD=your_password
    
  2. ローカル開発の場合:環境変数または .env ファイルローダーを使用します

    export BIZFLY_USERNAME=your_username
    export BIZFLY_PASSWORD=your_password
    
  3. 本番環境の場合:次の使用を検討してください。

    • Docker シークレット
    • Kubernetes シークレット
    • 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 の機能

  1. 標準入出力トランスポート:Cursor/Claude Desktop とシームレスに連携するため、stdin/stdout を使用します
  2. 標準化されたレスポンス形式:すべてのレスポンスは、context、type、data、root フィールドを含む MCP 形式に従います
  3. リソースの整理:リソースはルートパスの下に整理されます
  4. 型安全性:すべてのリソースに強い型付けを行います
  5. エラー処理:MCP 形式で標準化されたエラーレスポンスを返します
  6. 包括的なツールカバレッジ:Bizfly Cloud の 10 サービスをカバーする 80 以上のツール
  7. セキュリティ: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
貢献
  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 新機能のテストを追加します
  5. すべてのテストが通ることを確認します:go test ./...
  6. プルリクエストを送信します

ライセンス

[Add your license here]

サポート

問題や質問、貢献については、GitHubでissueを作成してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。