mcpField
O
OceanBase Kubernetes Control Tool (okctl) MCP Server

OceanBase Kubernetes Control Tool (okctl) MCP Server

ローカル
github.com/lizzy-0323クラウド・インフラ277 週間前に更新

OceanBase Kubernetes Control Tool (okctl) MCP Server について

okctl MCPサーバーは、OceanBase Kubernetes Control Toolの操作をクライアントに提供します。okctlを通じてOceanBaseのクラスター、テナント、バックアップポリシー、コンポーネント、SQLを管理する管理者向けです。

主な機能

  1. 01クラスターの作成、表示、スケール、更新、アップグレード
  2. 02テナントのライフサイクルと設定の管理
  3. 03バックアップポリシーの作成と制御
  4. 04接続設定とSQLの実行
  5. 05コンポーネントのインストール、更新、一覧表示
  6. 06ツールグループとトランスポート方式の選択

活用シーン

  1. 01Kubernetes上のOceanBaseクラスター運用
  2. 02テナントリソースとプライマリ・スタンバイ切り替えの管理
  3. 03バックアップ設定とクラスターSQLの実行
  4. 04必要な操作グループのみ有効化

MCP 対応

okctlを介したOceanBaseのクラスター、テナント、バックアップポリシー、コンポーネント、SQL操作のツールをMCPクライアントに提供します。ツールグループを選択でき、stdioまたはSSEトランスポートに対応します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

OceanBase Kubernetes Control Tool(okctl)MCP サーバー

English | 简体中文

プロジェクトの概要

このプロジェクトは、OceanBase Kubernetes Control Tool(okctl)の MCP サーバー実装です。OceanBase クラスター、テナント、バックアップポリシーを管理するための一連のツール関数を提供します。これらの関数は、基盤となる okctl コマンドラインツールを呼び出して実装されており、MCP プロトコルを通じてクライアントに機能を公開します。

機能モジュール

このプロジェクトには、次の主要なツールが含まれています。

1. クラスター管理(clusters.py)

OceanBase クラスターの作成、削除、表示、スケーリング、更新、アップグレードを行う機能を提供します。

  • list_all_clusters() - すべての OceanBase クラスターを一覧表示します
  • show_cluster() - 指定したクラスターの詳細情報を表示します
  • create_cluster() - 新しい OceanBase クラスターを作成します
  • delete_cluster() - 指定した OceanBase クラスターを削除します
  • scale_cluster() - OceanBase クラスターをスケーリングします
  • update_cluster() - OceanBase クラスターの構成を更新します
  • upgrade_cluster() - OceanBase クラスターのバージョンをアップグレードします
2. テナント管理(tenants.py)

OceanBase テナントの作成、削除、表示、スケーリング、更新、管理を行う機能を提供します。

  • list_tenants() - すべてのテナントを一覧表示します
  • create_tenant() - 新しいテナントを作成します
  • delete_tenant() - 指定したテナントを削除します
  • show_tenant() - テナントの詳細情報を表示します
  • scale_tenant() - テナントのリソースをスケーリングします
  • update_tenant() - テナントの構成を更新します
  • upgrade_tenant() - テナントのバージョンをアップグレードします
  • change_tenant_password() - テナントのパスワードを変更します
  • activate_tenant() - スタンバイテナントをアクティブ化します
  • replay_tenant_log() - テナントのログを再生します
  • switchover_tenant() - プライマリテナントとスタンバイテナントを切り替えます
3. バックアップポリシー管理(backup_policy.py)

OceanBase バックアップポリシーの作成、削除、表示、更新、管理を行う機能を提供します。

  • list_backup_policies() - すべてのバックアップポリシーを一覧表示します
  • create_backup_policy() - 新しいバックアップポリシーを作成します
  • delete_backup_policy() - 指定したバックアップポリシーを削除します
  • show_backup_policy() - バックアップポリシーの詳細情報を表示します
  • update_backup_policy() - バックアップポリシーを更新します
  • pause_backup_policy() - バックアップポリシーを一時停止します
  • resume_backup_policy() - バックアップポリシーを再開します
4. SQL 操作(sql.py)

データベース接続の構成と、OceanBase クラスターでの SQL クエリ実行機能を提供します。

  • configure_cluster_connection() - クラスターへのデータベース接続を構成します
    • パラメーター:cluster_name、tenant_name(デフォルト:"sys")、namespace(デフォルト:"default")、user、password(指定しない場合は、環境変数 OB_CLUSTER_PASSWORD を使用します)、port(デフォルト:2881)
    • 戻り値:データベース接続の構成情報
  • execute_cluster_sql() - クラスターで SQL クエリを実行します
    • パラメーター:query、cluster_name(任意)、tenant_name(デフォルト:"sys")、database(デフォルト:"oceanbase")、namespace(デフォルト:"default")
    • 戻り値:クエリ結果
    • SELECT、SHOW TABLES、SHOW COLUMNS、DESCRIBE、DML ステートメントなど、さまざまな SQL コマンドをサポートします
5. コンポーネント管理(components.py)

OceanBase コンポーネントのインストール、更新、管理を行う機能を提供します。

  • list_components() - インストール済みのすべてのコンポーネントを一覧表示します
  • install_component() - 新しいコンポーネントをインストールします
  • update_component() - コンポーネントを更新します

開発環境のセットアップ

前提条件
  • Python 3.10 以降がインストールされていること
  • uv パッケージマネージャーがインストールされていること(uv の公式ドキュメント)
  • OceanBase Kubernetes Control Tool(okctl)がインストールされ、構成されていること
  • OceanBase クラスターへのアクセス権限を持つ Kubernetes 環境が構成されていること
MCP サーバーの構成
{
  "mcpServers": {
    "okctl-mcp-server-py": {
      "command": "uv",
      "args": ["--directory", "/path/to/okctl-mcp-server", "run", "src/okctl/server.py"],
      "env": {
        // you need to set these environment variables if you want to connect to cluster by root@sys
        "OB_CLUSTER_PASSWORD": "<password of cluster>"
      }
    }
  }
}
コマンドライン引数
  • --tools:有効にするツールをカンマ区切りで指定します。選択肢:

    • all:すべてのツールを有効にします(デフォルト)
    • clusters:クラスター管理ツールのみを有効にします
    • tenants:テナント管理ツールのみを有効にします
    • backup_policy:バックアップポリシー管理ツールのみを有効にします
    • components:コンポーネント管理ツールのみを有効にします
    • sql:SQL 操作ツールのみを有効にします

    例:--tools=clusters,tenants,sql

  • --use_sse:stdio ではなく、Server-Sent Events(SSE)トランスポートを使用します

  • --port:SSE トランスポートのポートを指定します(デフォルト:8000)

重要な注意事項

  • サーバーは、Kubernetes クラスターにアクセスできる環境で実行する必要があります
  • すべての関数は、基盤となる okctl コマンドラインツールを呼び出して実装されているため、okctl が適切にインストールおよび設定されていることを確認してください
  • ほとんどの関数には、デフォルト値が「default」の名前空間パラメーターがあります。必要に応じて指定できます
  • クラスターの削除やテナントの削除など、一部の操作は取り消せない場合があります。十分に注意して実行してください
  • SQL クエリを実行する際は、より正確なプロンプトを指定することをおすすめします。指定しない場合、エラーが返されることがあります
  • 重要な操作を実行する前に、バックアップを行うことをおすすめします

コントリビューション

このプロジェクトの改善に役立つ Issue やプルリクエストを歓迎します。

ライセンス

このプロジェクトは、Apache 2.0 License のライセンスに基づいています。

コメント

MCP は初めてですか?

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

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