返回市场
超级集-MCP

超级集-MCP

作者:aptro129 星标更新:2025-07-28

项目介绍

Superset MCP 集成

smithery 徽章

与 Apache Superset 交互的 MCP 服务器,使 AI 代理能够通过编程方式连接并控制 Superset 实例。

安装说明

通过 Smithery 安装

要通过 Smithery 自动安装 Superset 集成到 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. 配置环境变量

    在根目录创建一个 .env 文件,并添加您的 Superset 凭证:

    SUPERSET_BASE_URL=http://localhost:8088  # 更改为您的 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 的仪表板的详细信息"
  • 创建仪表板:"创建一个新的标题为 '销售概览' 的仪表板"
  • 更新仪表板:"将仪表板 3 的标题更新为 '更新的销售报告'"
  • 删除仪表板:"删除 ID 为 7 的仪表板"

图表管理

  • 列出所有图表:"我在 Superset 实例中有哪些图表?"
  • 查看图表详情:"显示 ID 为 10 的图表的详细信息"
  • 创建图表:"使用数据集 3 创建一个新的条形图"
  • 更新图表:"将图表 5 的可视化从条形图更改为折线图"
  • 删除图表:"删除 ID 为 12 的图表"

数据库和数据集操作

  • 列出数据库:"显示连接到 Superset 的所有数据库"
  • 列出数据集:"我的 Superset 实例中有哪些可用的数据集?"
  • 获取数据库表:"数据库 1 中有哪些可用的表?"
  • 执行 SQL:"在数据库 1 上运行此 SQL 查询:SELECT * FROM users LIMIT 10"
  • 创建数据集:"从数据库 2 中的 'customers' 表创建一个新的数据集"
  • 更新数据库:"更新数据库 3 的连接设置"
  • 删除数据库:"删除 ID 为 4 的数据库连接"
  • 验证 SQL:"对于数据库 2,这个 SQL 是否有效: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 实例中的所有标签"
  • 创建标签:"创建一个名为 '财务' 的新标签"
  • 删除标签:"删除 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 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_URL您的 Superset 实例的 URLhttp://localhost:8088
SUPERSET_USERNAMESuperset 的用户名None
SUPERSET_PASSWORDSuperset 的密码None

故障排除

  • 如果遇到认证问题,请检查 .env 文件中的凭据
  • 确保 Superset 正在运行并且可以在 .env 文件中指定的 URL 访问
  • 检查您使用的 Superset 版本是否兼容(已测试版本 4.1.1)
  • 确保 MCP 服务器使用的端口未被其他应用程序占用

安全注意事项

  • 您的 Superset 凭证仅存储在本地的 .env 文件中
  • 访问令牌存储在项目目录中的 .superset_token 文件中
  • 所有认证都直接发生在 MCP 服务器和您的 Superset 实例之间
  • 不会将凭据传输给 Claude 或任何第三方
  • 对于生产用途,考虑使用更安全的认证方法

贡献

欢迎贡献!请随时提交拉取请求。

许可证

MIT