mcpField
S
Superset MCP Integration

Superset MCP Integration

ローカル
github.com/aptroAI・エージェント19565 週間前に更新

Superset MCP Integration について

Superset MCP Integration は Apache Superset 向けの MCP サーバーで、AI エージェントからプログラムによって Superset インスタンスに接続し操作できるようにします。ダッシュボード、チャート、データベース、SQL Lab を自然言語で管理したいユーザー向けで、Claude Desktop での利用手順が含まれています。

主な機能

  1. 01ダッシュボードとチャートの作成・参照・更新・削除ツール
  2. 02データベース接続とデータセットの管理ツール
  3. 03SQL Lab でのクエリ実行と整形のツール
  4. 04タグ管理のツール
  5. 05環境変数による接続設定

活用シーン

  1. 01自然言語による Superset ダッシュボードの照会と更新
  2. 02Superset での SQL 実行と結果の CSV 出力
  3. 03データベース接続とタグの管理

MCP 対応

このプロジェクトは MCP サーバーであり、認証、ダッシュボード、チャート、データベース、データセット、SQL Lab、タグなどの Superset 操作を MCP クライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Superset MCP 統合

smithery badge

Apache Superset を操作するための MCP サーバーです。AI エージェントが Superset インスタンスにプログラムから接続し、制御できるようにします。

セットアップ手順

Smithery 経由でのインストール

Smithery 経由で Superset Integration を Claude Desktop に自動インストールするには、次の手順に従います。

npx -y @smithery/cli install @aptro/superset-mcp --client claude
手動インストール
  1. Superset をローカルにセットアップする

    このスクリプトを実行して、Superset をローカルで起動します。

    git clone --branch 4.1.1 --depth 1 https://github.com/apache/superset && \
    cd superset && \
    docker compose -f docker-compose-image-tag.yml up
    

    Superset が起動したら、http://localhost:8088 でデフォルトの認証情報を使ってアクセスできます。

    • ユーザー名:admin
    • パスワード:admin
  2. このリポジトリをクローンする

    このリポジトリをローカルマシンにクローンします。

  3. 環境変数を設定する

    Superset の認証情報を記載した .env ファイルをルートディレクトリに作成します。

    SUPERSET_BASE_URL=http://localhost:8088  # Change to your Superset URL
    SUPERSET_USERNAME=your_username
    SUPERSET_PASSWORD=your_password
    
  4. 依存関係をインストールする

    uv pip install .
    
  5. Claude 用の MCP 設定をインストールする

    Claude Desktop アプリで使用するには、次の手順に従います。

    mcp install main.py
    

Claude での使用方法

セットアップ後は、自然言語でリクエストして、Claude 経由で Superset インスタンスを操作できます。次に例を示します。

ダッシュボード管理
  • ダッシュボードを表示:「Superset のすべてのダッシュボードを表示して」
  • ダッシュボードの詳細を取得:「ID 5 のダッシュボードの詳細を表示して」
  • ダッシュボードを作成:「『Sales Overview』というタイトルの新しいダッシュボードを作成して」
  • ダッシュボードを更新:「ダッシュボード 3 のタイトルを『Updated Sales Report』に変更して」
  • ダッシュボードを削除:「ID 7 のダッシュボードを削除して」
チャート管理
  • すべてのチャートを一覧表示:「Superset インスタンスにあるチャートをすべて教えて」
  • チャートの詳細を表示:「ID 10 のチャートの詳細を表示して」
  • チャートを作成:「データセット 3 を使って新しい棒グラフを作成して」
  • チャートを更新:「チャート 5 の可視化を棒グラフから折れ線グラフに変更して」
  • チャートを削除:「ID 12 のチャートを削除して」
データベースとデータセットの操作
  • データベースを一覧表示:「Superset に接続されているデータベースをすべて表示して」
  • データセットを一覧表示:「Superset インスタンスで利用できるデータセットを教えて」
  • データベースのテーブルを取得:「ID 1 のデータベースで利用できるテーブルを教えて」
  • SQL を実行:「データベース 1 でこの SQL クエリを実行して:SELECT * FROM users LIMIT 10」
  • データセットを作成:「データベース 2 のテーブル『customers』から新しいデータセットを作成して」
  • データベースを更新:「データベース 3 の接続設定を更新して」
  • データベースを削除:「ID 4 のデータベース接続を削除して」
  • SQL を検証:「この SQL はデータベース 2 で有効ですか:SELECT * FROM customers JOIN orders」
  • データベースのカタログを取得:「データベース 1 で利用できるカタログを表示して」
  • データベースの関数を取得:「データベース 2 で利用できる関数を教えて」
  • 関連オブジェクトを確認:「データベース 1 を使用しているダッシュボードとチャートを教えて」
SQL Lab の機能
  • クエリを実行:「この SQL クエリを実行して:SELECT COUNT(*) FROM orders」
  • SQL を整形:「この SQL クエリを整形して:SELECT id,name,age FROM users WHERE age>21」
  • クエリコストを見積もる:「このクエリのコストを見積もって:SELECT * FROM large_table」
  • 保存済みクエリを取得:「保存済みの SQL クエリをすべて表示して」
  • クエリ結果を取得:「キーが『abc123』のクエリの結果を取得して」
ユーザーとシステムの情報
  • ユーザー情報を表示:「どのユーザーとしてログインしていますか?」
  • ユーザーロールを取得:「Superset で自分に割り当てられているロールを教えて」
  • 最近のアクティビティを表示:「Superset インスタンスの最近のアクティビティを表示して」
  • メニューデータを取得:「どのメニュー項目にアクセスできますか?」
  • ベース URL を取得:「接続先の Superset インスタンスの URL を教えて」
タグ管理
  • タグを一覧表示:「Superset インスタンスのすべてのタグを表示して」
  • タグを作成:「『Finance』という名前の新しいタグを作成して」
  • タグを削除:「ID 5 のタグを削除して」
  • オブジェクトにタグを付ける:「ダッシュボード 3 に『Finance』タグを追加して」
  • タグを削除:「チャート 7 から『Finance』タグを削除して」

利用可能な MCP ツール

このプラグインでは、Claude が使用できる次の MCP ツールを提供しています。

認証
  • superset_auth_check_token_validity - 現在のアクセストークンが有効かどうかを確認します
  • superset_auth_refresh_token - アクセストークンを更新します
  • superset_auth_authenticate_user - Superset で認証します
ダッシュボード
  • superset_dashboard_list - すべてのダッシュボードを一覧表示します
  • superset_dashboard_get_by_id - 特定のダッシュボードを取得します
  • superset_dashboard_create - 新しいダッシュボードを作成します
  • superset_dashboard_update - 既存のダッシュボードを更新します
  • superset_dashboard_delete - ダッシュボードを削除します
チャート
  • superset_chart_list - すべてのチャートを一覧表示します
  • superset_chart_get_by_id - 特定のチャートを取得します
  • superset_chart_create - 新しいチャートを作成します
  • superset_chart_update - 既存のチャートを更新します
  • superset_chart_delete - チャートを削除します
データベース
  • superset_database_list - すべてのデータベースを一覧表示します
  • superset_database_get_by_id - 特定のデータベースを取得します
  • superset_database_create - 新しいデータベース接続を作成します
  • superset_database_get_tables - データベース内のテーブルを一覧表示します
  • superset_database_schemas - データベースのスキーマを取得します
  • superset_database_test_connection - データベース接続をテストします
  • superset_database_update - 既存のデータベース接続を更新します
  • superset_database_delete - データベース接続を削除します
  • superset_database_get_catalogs - データベースのカタログを取得します
  • superset_database_get_connection - データベース接続情報を取得します
  • superset_database_get_function_names - データベースでサポートされている関数名を取得します
  • superset_database_get_related_objects - データベースに関連付けられたチャートとダッシュボードを取得します
  • superset_database_validate_sql - 任意の SQL をデータベースに対して検証します
  • superset_database_validate_parameters - データベース接続パラメーターを検証します
データセット
  • superset_dataset_list - すべてのデータセットを一覧表示します
  • superset_dataset_get_by_id - 特定のデータセットを取得します
  • superset_dataset_create - 新しいデータセットを作成します
SQL Lab
  • superset_sqllab_execute_query - SQL クエリを実行します
  • superset_sqllab_get_saved_queries - 保存済みの SQL クエリを一覧表示します
  • superset_sqllab_format_sql - SQL クエリをフォーマットします
  • superset_sqllab_get_results - クエリ結果を取得します
  • superset_sqllab_estimate_query_cost - クエリのコストを見積もります
  • superset_sqllab_export_query_results - クエリ結果を CSV にエクスポートします
  • superset_sqllab_get_bootstrap_data - SQL Lab のブートストラップデータを取得します
クエリ
  • superset_query_list - すべてのクエリを一覧表示します
  • superset_query_get_by_id - 特定のクエリを取得します
  • superset_query_stop - 実行中のクエリを停止します
保存済みクエリ
  • superset_saved_query_get_by_id - 特定の保存済みクエリを取得します
  • superset_saved_query_create - 新しい保存済みクエリを作成します
ユーザー情報
  • superset_user_get_current - 現在のユーザー情報を取得します
  • superset_user_get_roles - ユーザーのロールを取得します
アクティビティ
  • superset_activity_get_recent - 最近のアクティビティデータを取得します
システム
  • superset_menu_get - メニューデータを取得します
  • superset_config_get_base_url - Superset インスタンスのベース URL を取得します
タグ
  • superset_tag_list - すべてのタグを一覧表示します
  • superset_tag_create - 新しいタグを作成します
  • superset_tag_get_by_id - 特定のタグを取得します
  • superset_tag_objects - タグに関連付けられたオブジェクトを取得します
  • superset_tag_delete - タグを削除します
  • superset_tag_object_add - オブジェクトにタグを追加します
  • superset_tag_object_remove - オブジェクトからタグを削除します
探索ツール
  • superset_explore_form_data_create - チャート探索用のフォームデータを作成します
  • superset_explore_form_data_get - チャート探索用のフォームデータを取得します
  • superset_explore_permalink_create - チャート探索用のパーマリンクを作成します
  • superset_explore_permalink_get - チャート探索用のパーマリンクを取得します
高度なデータ型
  • superset_advanced_data_type_convert - 値を高度なデータ型に変換します
  • superset_advanced_data_type_list - 利用可能な高度なデータ型を一覧表示します

環境変数

変数説明デフォルト
SUPERSET_BASE_URLSuperset インスタンスの URLhttp://localhost:8088
SUPERSET_USERNAMESuperset のユーザー名なし
SUPERSET_PASSWORDSuperset のパスワードなし

トラブルシューティング

  • 認証の問題が発生した場合は、.env ファイル内の認証情報を確認してください
  • Superset が実行されており、.env ファイルで指定した URL からアクセスできることを確認してください
  • 互換性のあるバージョンの Superset を使用していることを確認してください(バージョン 4.1.1 でテスト済みです)
  • MCP サーバーが使用するポートが、別のアプリケーションによって使用されていないことを確認してください

セキュリティに関する注意事項

  • Superset の認証情報はローカルの .env ファイルにのみ保存されます
  • アクセストークンはプロジェクトディレクトリ内の .superset_token ファイルに保存されます
  • すべての認証は、MCP サーバーと Superset インスタンス間で直接行われます
  • 認証情報が Claude やその他の第三者に送信されることはありません
  • 本番環境で使用する場合は、より安全な認証方法の利用を検討してください

コントリビューション

コントリビューションを歓迎します。お気軽にプルリクエストを送信してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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