Superset MCP Integration

Superset MCP Integration

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

Category
访问服务器

README

Superset MCP 集成

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

安装说明

  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 实例进行交互。以下是一些示例:

仪表板管理

  • 查看仪表板:“Show me all my Superset dashboards”(显示我所有的 Superset 仪表板)
  • 获取仪表板详细信息:“Show me the details of dashboard with ID 5”(显示 ID 为 5 的仪表板的详细信息)
  • 创建仪表板:“Create a new dashboard titled 'Sales Overview'”(创建一个名为“销售概览”的新仪表板)
  • 更新仪表板:“Update dashboard 3 to have the title 'Updated Sales Report'”(更新仪表板 3,使其标题为“更新的销售报告”)
  • 删除仪表板:“Delete dashboard with ID 7”(删除 ID 为 7 的仪表板)

图表管理

  • 列出所有图表:“What charts do I have in my Superset instance?”(我的 Superset 实例中有哪些图表?)
  • 查看图表详细信息:“Show me the details of chart with ID 10”(显示 ID 为 10 的图表的详细信息)
  • 创建图表:“Create a new bar chart using dataset 3”(使用数据集 3 创建一个新的条形图)
  • 更新图表:“Update chart 5 to use a line visualization instead of bar”(更新图表 5,使用折线图可视化而不是条形图)
  • 删除图表:“Delete chart with ID 12”(删除 ID 为 12 的图表)

数据库和数据集操作

  • 列出数据库:“Show me all databases connected to Superset”(显示所有连接到 Superset 的数据库)
  • 列出数据集:“What datasets are available in my Superset instance?”(我的 Superset 实例中有哪些数据集可用?)
  • 获取数据库表:“What tables are available in database with ID 1?”(ID 为 1 的数据库中有哪些表可用?)
  • 执行 SQL:“Run this SQL query on database 1: SELECT * FROM users LIMIT 10”(在数据库 1 上运行此 SQL 查询:SELECT * FROM users LIMIT 10)
  • 创建数据集:“Create a new dataset from table 'customers' in database 2”(从数据库 2 中的表“customers”创建一个新的数据集)
  • 更新数据库:“Update the connection settings for database 3”(更新数据库 3 的连接设置)
  • 删除数据库:“Delete database connection with ID 4”(删除 ID 为 4 的数据库连接)
  • 验证 SQL:“Is this SQL valid for database 2: SELECT * FROM customers JOIN orders”(此 SQL 对数据库 2 是否有效:SELECT * FROM customers JOIN orders)
  • 获取数据库目录:“Show me the catalogs available in database 1”(显示数据库 1 中可用的目录)
  • 获取数据库函数:“What functions are available in database 2?”(数据库 2 中有哪些函数可用?)
  • 检查相关对象:“What dashboards and charts use database 1?”(哪些仪表板和图表使用数据库 1?)

SQL Lab 功能

  • 执行查询:“Run this SQL query: SELECT COUNT() FROM orders”(运行此 SQL 查询:SELECT COUNT() FROM orders)
  • 格式化 SQL:“Format this SQL query: SELECT id,name,age FROM users WHERE age>21”(格式化此 SQL 查询:SELECT id,name,age FROM users WHERE age>21)
  • 估计查询成本:“Estimate the cost of this query: SELECT * FROM large_table”(估计此查询的成本:SELECT * FROM large_table)
  • 获取已保存的查询:“Show me all my saved SQL queries”(显示我所有已保存的 SQL 查询)
  • 获取查询结果:“Get the results of query with key 'abc123'”(获取密钥为“abc123”的查询结果)

用户和系统信息

  • 查看用户信息:“Who am I logged in as?”(我以什么身份登录?)
  • 获取用户角色:“What roles do I have in Superset?”(我在 Superset 中有哪些角色?)
  • 查看最近的活动:“Show me recent activity in my Superset instance”(显示我的 Superset 实例中的最近活动)
  • 获取菜单数据:“What menu items do I have access to?”(我可以访问哪些菜单项?)
  • 获取基本 URL:“What is the URL of the Superset instance I'm connected to?”(我连接到的 Superset 实例的 URL 是什么?)

标签管理

  • 列出标签:“Show me all tags in my Superset instance”(显示我的 Superset 实例中的所有标签)
  • 创建标签:“Create a new tag called 'Finance'”(创建一个名为“Finance”的新标签)
  • 删除标签:“Delete the tag with ID 5”(删除 ID 为 5 的标签)
  • 标记对象:“Add the tag 'Finance' to dashboard 3”(将标签“Finance”添加到仪表板 3)
  • 移除标签:“Remove the tag 'Finance' from chart 7”(从图表 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_URL 您的 Superset 实例的 URL http://localhost:8088
SUPERSET_USERNAME Superset 的用户名 None
SUPERSET_PASSWORD Superset 的密码 None

故障排除

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

安全说明

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

贡献

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

许可证

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选