M

MCP连接器

@aptro/superset-mcp
0 Stars 410 次浏览 aptro 更新于 2026-08-23

MCP服务器允许AI代理以编程方式连接到并控制Apache Superset实例,使用户能够通过自然语言交互管理仪表板、图表、数据库、数据集以及运行SQL查询。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Superset MCP 集成

smithery 徽章

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

设置说明

通过 Smithery 安装

要通过 Smithery 自动安装 Claude Desktop 的 Superset 集成:

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实例中有哪些可用的数据集?"
  • 获取数据库表: "ID为1的数据库中有哪些可用的表?"
  • 执行SQL: "在数据库1上运行此SQL查询: SELECT * FROM users LIMIT 10"
  • 创建数据集: "从数据库2中的'customers'表创建一个新的数据集"
  • 更新数据库: "更新ID为3的数据库的连接设置"
  • 删除数据库: "删除ID为4的数据库连接"
  • 验证SQL: "这条SQL对于数据库2是否有效: SELECT * FROM customers JOIN orders"
  • 获取数据库目录: "显示ID为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的标签"
  • 标记对象: "将'Finance'标签添加到仪表板3"
  • 移除标签: "从图表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 实验室

  • 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 实验室引导数据

查询

  • 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 实例的 URL http://localhost:8088
SUPERSET_USERNAME Superset 用户名
SUPERSET_PASSWORD Superset 密码

故障排除

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

安全注意事项

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

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

MIT

相关 MCP 服务