🚀 超集(Superset)项目文档
这是一个用于管理 Superset 实例的 MCP(Manager Control Plane)服务器。借助该服务器,用户能够开展各类操作,涵盖创建、读取、更新和删除与 Superset 相关的资源,为 Superset 的管理提供了便捷高效的途径。
🚀 快速开始
- 配置环境变量,指定 Superset 实例的 URL 和凭据。
- 启动 MCP 服务器。
- 使用提供的 API 接口与 Superset 进行交互。
✨ 主要特性
- 身份验证:支持基于用户名和密码的身份验证。
- 数据库管理:允许用户管理数据库连接,包括测试连接和获取相关对象(如图表和仪表板)。
- SQL 实验室:提供执行 SQL 查询、格式化查询以及导出结果的功能。
- 数据集管理:支持创建和读取数据集。
- 用户信息:获取当前用户的详细信息及其角色。
📦 安装指南
- 克隆代码仓库:
git clone [仓库地址]
cd superset-mcp
- 安装依赖项:
pip install -r requirements.txt
- 创建配置文件
.env,包含以下内容:SUPERSET_BASE_URL=http://localhost:8088
SUPERSET_USERNAME=your_username
SUPERSET_PASSWORD=your_password
- 启动服务器:
python server.py
📚 详细文档
功能模块详细说明
身份验证
- superset_authenticate:使用用户名和密码进行身份验证,返回访问令牌。
数据库管理
- superset_database_list:获取所有数据库的列表。
- superset_database_get_by_id:通过 ID 获取特定数据库的详细信息。
- superset_database_create:创建新的数据库连接。
- superset_database_test_connection:测试数据库连接的有效性。
SQL 实验室
- superset_sqllab_execute_query:执行任意 SQL 查询。
- superset_sqllab_format_sql:格式化和清理 SQL 代码。
- superset_sqllab_export_query_results:将查询结果导出为 CSV 文件。
数据集管理
- superset_dataset_list:列出所有可用数据集。
- superset_dataset_get_by_id:通过 ID 获取特定数据集的详细信息。
- superset_dataset_create:创建新的数据集。
环境变量
| 属性 |
详情 |
| 变量名 |
SUPERSET_BASE_URL、SUPERSET_USERNAME、SUPERSET_PASSWORD |
| 描述 |
Superset 实例的基础 URL、登录的用户名、用户密码 |
| 默认值 |
http://localhost:8088、无、无 |
🔧 技术细节
故障排除
- 认证问题:检查
.env 文件中的凭据是否正确。
- 连接问题:确保 Superset 实例正在运行并且可以通过指定 URL 访问。
- 版本兼容性:建议使用经过测试的 Superset 版本(如 4.1.1)。
安全注意事项
- 用户名和密码仅存储在本地
.env 文件中,不会传输到第三方。
- 访问令牌存储在项目目录中的
.superset_token 文件中。
- 所有认证过程直接发生在 MCP 服务器和 Superset 实例之间。
🤝 贡献指南
欢迎贡献!请随意提交拉取请求。
📄 许可证
本项目采用 MIT 许可证。