KubeBlocks Cloud MCP Server について
KubeBlocks Cloud MCP Serverは、標準化されたツール呼び出しでKubeBlocks Cloud APIをAIアシスタントに接続します。データベースインスタンスを含むクラウドリソースの照会と管理に使えます。
主な機能
- 01組織と環境の照会
- 02インスタンスとバックアップの確認
- 03APIキーとシークレットによる認証
- 04翻訳ヘルパー対応
- 05StdioServer通信
活用シーン
- 01KubeBlocks Cloudリソースの管理自動化
- 02環境データの取得と分析
- 03データベースインスタンスの構築と管理
MCP 対応
MCP サーバーは、KubeBlocks Cloudの組織、環境、インスタンス、バックアップにアクセスするツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e KB_CLOUD_API_KEY_NAME -e KB_CLOUD_API_KEY_SECRET apecloud/kb-cloud-mcp-server:latestKB_CLOUD_API_KEY_NAMEシークレットKB_CLOUD_API_KEY_SECRETシークレットローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
KubeBlocks Cloud MCP サーバー
KubeBlocks Cloud MCP サーバーは、Model Context Protocol(MCP) サーバーです。KubeBlocks Cloud API とシームレスに連携し、AI アシスタントが標準化されたツール呼び出しインターフェースを通じて KubeBlocks Cloud リソースを操作できるようにします。
ユースケース
- KubeBlocks Cloud リソース管理の自動化
- KubeBlocks Cloud 環境のデータの取得と分析
- KubeBlocks Cloud エコシステムと連携する AI 搭載ツールの構築
- AI アシスタントによるデータベースインスタンスのプロビジョニングと管理
機能
- KubeBlocks Cloud リソースにアクセスするための MCP ベースの API
- KubeBlocks Cloud API キーとシークレットによる安全な認証
- 一般的な KubeBlocks Cloud リソースをサポート:
- 組織
- 環境
- インスタンス
- バックアップ
- 翻訳ヘルパーによる国際化のサポート
- StdioServer による安全な通信
前提条件
- Go 1.20 以降(MCP-Go パッケージと互換性があります)
- KubeBlocks Cloud API 認証情報 — API キー名とシークレットが必要です
インストール
ソースからビルド
git clone https://github.com/apecloud/kb-cloud-mcp-server.git
cd kb-cloud-mcp-server
go mod tidy
go build -o kb-cloud-mcp-server ./cmd/server
VS Code での使用
以下の JSON ブロックを VS Code のユーザー設定(JSON)ファイルに追加します。Ctrl + Shift + P を押して Preferences: Open User Settings (JSON) と入力すると設定できます。
必要に応じて、ワークスペース内の .vscode/mcp.json というファイルに追加し、設定をほかのユーザーと共有できます。
.vscode/mcp.jsonファイルではmcpキーは不要です。
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "kb_cloud_api_key",
"description": "KubeBlocks Cloud API Key Name",
"password": false
},
{
"type": "promptString",
"id": "kb_cloud_api_secret",
"description": "KubeBlocks Cloud API Secret",
"password": true
}
],
"servers": {
"kbcloud": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"KB_CLOUD_API_KEY_NAME",
"-e",
"KB_CLOUD_API_KEY_SECRET",
"apecloud/kb-cloud-mcp-server:latest"
],
"env": {
"KB_CLOUD_API_KEY_NAME": "${input:kb_cloud_api_key}",
"KB_CLOUD_API_KEY_SECRET": "${input:kb_cloud_api_secret}"
}
}
}
}
}
VS Code での MCP サーバーツールの使用方法については、エージェントモードのドキュメントをご覧ください。
使用方法
環境変数
サーバーは次の環境変数をサポートしています。
# KubeBlocks Cloud API credentials (required)
export KB_CLOUD_API_KEY_NAME=your-api-key-name
export KB_CLOUD_API_KEY_SECRET=your-api-key-secret
export KB_CLOUD_SITE=https://api.apecloud.com # Optional: KubeBlocks Cloud API endpoint
# Server configuration
export KB_CLOUD_MCP_LOG_LEVEL=info # debug, info, warn, error
export KB_CLOUD_MCP_EXPORT_TRANSLATIONS=true # Optional: Export translations to JSON file
export KB_CLOUD_DEBUG=true # Optional: Enable debug mode for KubeBlocks Cloud API client
サーバーの起動
./kb-cloud-mcp-server
または、コマンドラインフラグを使用します。
./kb-cloud-mcp-server stdio --api-key=your-api-key-name --api-secret=your-api-key-secret
設定ファイル
設定ファイルも使用できます。
# .kb-cloud-mcp-server.yaml
log_level: info
api_key: your-api-key-name
api_secret: your-api-key-secret
site_url: https://api.apecloud.com
次のコマンドでサーバーを起動します。
./kb-cloud-mcp-server stdio --config=.kb-cloud-mcp-server.yaml
利用可能な MCP ツール
サーバーは、KubeBlocks Cloud リソースを操作するために次の MCP ツールを提供します。
組織
-
list_organizations - アクセス可能なすべての組織を一覧表示します
- パラメーターは不要です
-
get_organization - 特定の組織の詳細を取得します
organizationId:組織の一意な識別子(文字列、必須)
環境
-
list_environments - 組織内のすべての環境を一覧表示します
organizationId:組織の一意な識別子(文字列、必須)
-
get_environment - 特定の環境の詳細を取得します
organizationId:組織の一意な識別子(文字列、必須)environmentId:環境の一意な識別子(文字列、必須)
インスタンス
-
list_instances - 環境内のすべてのインスタンスを一覧表示します
organizationId:組織の一意な識別子(文字列、必須)environmentId:環境の一意な識別子(文字列、必須)
-
get_instance - 特定のインスタンスの詳細を取得します
organizationId:組織の一意な識別子(文字列、必須)environmentId:環境の一意な識別子(文字列、必須)instanceId:インスタンスの一意な識別子(文字列、必須)
バックアップ
-
list_backups - インスタンスのすべてのバックアップを一覧表示します
organizationId: 組織の一意の識別子(文字列、必須)environmentId: 環境の一意の識別子(文字列、必須)instanceId: インスタンスの一意の識別子(文字列、必須)
-
get_backup - 特定のバックアップの詳細を取得します
organizationId: 組織の一意の識別子(文字列、必須)environmentId: 環境の一意の識別子(文字列、必須)instanceId: インスタンスの一意の識別子(文字列、必須)backupId: バックアップの一意の識別子(文字列、必須)
ライブラリの使用方法
このモジュールのエクスポートされた Go API は、現時点では不安定であり、破壊的変更が生じる可能性があるものとして扱ってください。将来的に安定性を提供する場合があります。役立つユースケースがある場合は、issue を作成してください。
ライセンス
このプロジェクトは Apache 2.0 License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。