Superset MCP Integration

by aptro
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Uses environment variables for configuration management, storing credentials and connection details securely for Superset integration.

  • Enables interaction with Apache Superset instances, providing tools for managing dashboards, charts, databases, datasets, running SQL queries, and handling tags programmatically.

  • Supports running Superset in Docker containers, making it easy to set up and configure a local Superset instance for integration.

スーパーセットMCP統合

Apache Superset と対話するための MCP サーバー。AI エージェントがプログラムで Superset インスタンスに接続して制御できるようにします。

セットアップ手順

Smithery経由でインストール

Smithery経由で Claude Desktop の Superset Integration を自動的にインストールするには:

npx -y @smithery/cli install @aptro/superset-mcp --client claude

手動インストール

  1. ローカルでスーパーセットを設定する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 Config をインストールするClaude デスクトップ アプリで使用するには:
    mcp install main.py

クロードとの使用

セットアップ後、Claude を介して自然言語リクエストを使用して Superset インスタンスと対話できます。以下に例をいくつか示します。

ダッシュボード管理

  • ダッシュボードの表示: 「すべてのスーパーセットダッシュボードを表示する」
  • ダッシュボードの詳細を取得:「ID 5 のダッシュボードの詳細を表示」
  • ダッシュボードの作成:「「売上概要」というタイトルの新しいダッシュボードを作成します」
  • ダッシュボードを更新: 「ダッシュボード 3 を更新して、タイトルを「更新された売上レポート」にします」
  • ダッシュボードの削除:「ID 7 のダッシュボードを削除する」

チャート管理

  • すべてのチャートを一覧表示する: 「スーパーセット インスタンスにはどのようなチャートがありますか?」
  • チャートの詳細を表示: 「ID 10 のチャートの詳細を表示します」
  • グラフの作成:「データセット 3 を使用して新しい棒グラフを作成する」
  • チャートを更新: 「チャート 5 を更新して、棒グラフではなく折れ線グラフを使用する」
  • チャートの削除:「ID 12 のチャートを削除する」

データベースとデータセットの操作

  • データベースの一覧表示: 「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ラボの機能

  • クエリを実行する: 「この SQL クエリを実行します: SELECT COUNT(*) FROM orders」
  • SQL の形式: 「この SQL クエリの形式: SELECT id,name,age FROM users WHERE age>21」
  • クエリコストの見積もり: 「このクエリのコストを見積もります: SELECT * FROM large_table」
  • 保存したクエリを取得する:「保存したすべての SQL クエリを表示する」
  • クエリ結果を取得:「キー 'abc123' のクエリ結果を取得します」

ユーザーおよびシステム情報

  • ユーザー情報の表示: 「私は誰としてログインしていますか?」
  • ユーザー ロールの取得: 「Superset ではどのようなロールがありますか?」
  • 最近のアクティビティを表示: 「スーパーセットインスタンスの最近のアクティビティを表示する」
  • メニューデータを取得:「どのメニュー項目にアクセスできますか?」
  • ベース URL の取得: 「接続しているスーパーセット インスタンスの URL は何ですか?」

タグ管理

  • タグの一覧表示: 「スーパーセットインスタンス内のすべてのタグを表示する」
  • タグを作成:「『金融』という新しいタグを作成する」
  • タグを削除:「ID 5のタグを削除します」
  • オブジェクトにタグを付ける: 「ダッシュボード 3 に「財務」タグを追加する」
  • タグを削除: 「チャート7から「財務」タグを削除します」

利用可能な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ラボ

  • 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 - スーパーセットインスタンスのベース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 - 利用可能な高度なデータ型を一覧表示する

環境変数

変数説明デフォルト
スーパーセットベースURLスーパーセットインスタンスのURLhttp://localhost:8088
スーパーセットユーザー名Supersetのユーザー名なし
スーパーセットパスワードスーパーセットのパスワードなし

トラブルシューティング

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

セキュリティノート

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

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

AI エージェントが Apache Superset インスタンスにプログラムで接続して制御できるようにする MCP サーバー。これにより、ユーザーはダッシュボード、チャート、データベース、データセットを管理し、自然言語による対話を通じて SQL クエリを実行できるようになります。

  1. Setup Instructions
    1. Installing via Smithery
    2. Manual Installation
  2. Usage with Claude
    1. Dashboard Management
    2. Chart Management
    3. Database and Dataset Operations
    4. SQL Lab Features
    5. User and System Information
    6. Tag Management
  3. Available MCP Tools
    1. Authentication
    2. Dashboards
    3. Charts
    4. Databases
    5. Datasets
    6. SQL Lab
    7. Queries
    8. Saved Queries
    9. User Information
    10. Activity
    11. System
    12. Tags
    13. Exploration Tools
    14. Advanced Data Types
  4. Environment Variables
    1. Troubleshooting
      1. Security Notes
        1. Contributing
          1. License
            ID: gp1w339os0