使用说明
超级集MCP集成
MCP服务器,用于与Apache Superset交互,使AI代理能够以编程方式连接和控制Superset实例。
安装说明
通过史密瑟里安装
通过以下方式自动安装Claude Desktop的Superset Integration 铁匠铺:
npx -y @smithery/cli install @aptro/superset-mcp --client claude
手动安装
-
在本地设置超级设置
运行此脚本以在本地启动Superset:
git clone --branch 4.1.1 --depth 1 https://github.com/apache/superset && \ cd superset && \ docker compose -f docker-compose-image-tag.yml upSuperset运行后,您应该可以在以下位置访问它http://localhost:8088使用默认凭据:
- 用户名:admin
- 密码:admin
-
克隆此存储库
将此存储库克隆到本地计算机。
-
配置环境变量
创建一个
.env根目录中包含Superset凭据的文件:SUPERSET_BASE_URL=http://localhost:8088 # Change to your Superset URL SUPERSET_USERNAME=your_username SUPERSET_PASSWORD=your_password -
再进行
uv pip install . -
为Claude安装MCP配置
要与Claude Desktop应用程序一起使用:
mcp install main.py
LibreChat集成
此MCP服务器可以与 Librechat 启用与Superset数据的AI对话。
配置
将以下内容添加到您的 librechat.yaml 配置文件:
选项A:直接stdio传输(建议本地部署)
mcpServers:
superset:
command: python
args: ["/path/to/superset-mcp-server/main.py"]
env:
SUPERSET_BASE_URL: "https://your-superset-instance.com"
SUPERSET_USERNAME: "admin"
SUPERSET_PASSWORD: "your-password"
timeout: 60000
选项B:SSE传输(用于远程/容器部署)
mcpServers:
superset:
url: https://your-mcp-server-domain.com/sse
timeout: 60000
重要配置说明
- SUPERSET_BASE_URL:您的Superset实例URL(没有尾随斜线)
- 超级用户名 / 超级密码:Superset身份验证的凭据
- 超时:处理初始身份验证的时间增加到60秒
- API端点:始终使用尾随斜线(例如。,
/api/v1/dashboard/不/api/v1/dashboard)
LibreChat集成故障排除
| 问题 | 解决方案 |
|---|---|
Server initialization timed out |
增加 timeout 价值;确保服务器启动时不会阻止操作 |
Not authenticated |
第一次运行:说“使用Superset进行身份验证”或配置中缺少凭据 |
http.response.start ASGI错误 |
更新到最新服务器版本;重新启动LibreChat |
| HTTP 503错误 | 检查超级集URL;确保API端点上的尾部斜线 |
LibreChat的Docker部署
构建并运行MCP服务器容器:
# Build image
docker build -f Dockerfile.ubi9 -t superset-mcp-server:latest .
# Run with environment variables
docker run -d \
-p 3001:3001 \
-e SUPERSET_BASE_URL=https://superset.example.com \
-e SUPERSET_USERNAME=admin \
-e SUPERSET_PASSWORD=secret \
superset-mcp-server:latest
与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'创建新数据集”
- 更新数据库:“更新数据库3的连接设置”
- 删除数据库:“删除ID为4的数据库连接”
- 验证SQL:“此SQL对数据库2:SELECT*FROM客户加入订单有效吗?”
- 获取数据库目录:“显示数据库1中可用的目录”
- 获取数据库函数:“数据库2中有哪些功能?”
- 检查相关对象:“哪些仪表板和图表使用数据库1?”
SQL实验室功能
- 执行查询:“运行此SQL查询:从订单中选择COUNT(*)”
- 设置SQL格式:“设置此SQL查询的格式:从年龄>21岁的用户中选择id、name、age”
- 估算查询成本:“估算此查询的成本:SELECT*FROM large_table”
- 获取已保存的查询:“显示我保存的所有SQL查询”
- 获取查询结果:“使用键'abc123'获取查询结果”
用户和系统信息
- 查看用户信息:“我以谁的身份登录?”
- 获取用户角色:“我在Superset中扮演什么角色?”
- 查看最近的活动:“显示Superset实例中的最近活动”
- 获取菜单数据:“我可以访问哪些菜单项?”
- 获取基本URL:“我连接到的Superset实例的URL是什么?”
标签管理
- 列表标记:“显示Superset实例中的所有标签”
- 创建标签:“创建一个名为‘Finance’的新标签”
- 删除标签:“删除ID为5的标签”
- 标记对象:“将标签‘Finance’添加到仪表板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-根据数据库验证任意SQLsuperset_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-将查询结果导出到CSVsuperset_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_USENAME | 超级集的用户名 | 无 |
| SUPERSET_PASSWORD | 超级集密码 | 无 |
故障排除
- 如果遇到身份验证问题,请在
.env文件 - 确保Superset正在运行,并且可以在您的
.env文件 - 检查您是否使用兼容版本的Superset(使用4.1.1版本测试)
- 确保MCP服务器使用的端口未被其他应用程序使用
安全须知
- 您的Superset凭据仅存储在您的本地
.env文件 - 访问令牌存储在
.superset_token项目目录中的文件 - 所有身份验证都直接在MCP服务器和Superset实例之间进行
- 不会将凭据传输给Claude或任何第三方
- 对于生产使用,考虑使用更安全的身份验证方法
贡献
欢迎投稿!请随时提交拉取请求。
许可证
麻省理工学院