superset-mcp
superset-mcp
MCP-сервер (Model Context Protocol) для Apache Superset. Предоставляет ИИ-ассистентам полный доступ к вашему экземпляру Superset — дашбордам, графикам, наборам данных, базам данных и выполнению SQL-запросов.
Предварительные требования
uv — менеджер пакетов Python
Доступ к работающему экземпляру Apache Superset
Related MCP server: Zaturn
Настройка (занимает ~1 минуту)
1. Клонируйте репозиторий
git clone <repo-url>
cd superset-mcp2. Настройте учетные данные
cp .env.example .envОтредактируйте файл .env:
SUPERSET_URL=http://your-superset-host:8088
SUPERSET_USERNAME=your-username
SUPERSET_PASSWORD=your-password3. Проверьте работоспособность
uv run superset-mcpВы должны увидеть, что MCP-сервер запустился без ошибок. Нажмите Ctrl+C для остановки.
Подключение к вашему ИИ-клиенту
Замените /ABSOLUTE/PATH/TO/superset-mcp на фактический путь, по которому вы клонировали репозиторий.
Claude Code
Добавьте в ~/.claude/settings.json (или в .claude/settings.json на уровне проекта):
{
"mcpServers": {
"superset": {
"command": "uv",
"args": ["--directory", "/ABSOLUTE/PATH/TO/superset-mcp", "run", "superset-mcp"],
"env": {
"SUPERSET_URL": "http://your-superset-host:8088",
"SUPERSET_USERNAME": "your-username",
"SUPERSET_PASSWORD": "your-password"
}
}
}
}Или выполните в терминале:
claude mcp add superset -- uv --directory /ABSOLUTE/PATH/TO/superset-mcp run superset-mcpClaude Desktop
Добавьте в ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
или %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"superset": {
"command": "uv",
"args": ["--directory", "/ABSOLUTE/PATH/TO/superset-mcp", "run", "superset-mcp"],
"env": {
"SUPERSET_URL": "http://your-superset-host:8088",
"SUPERSET_USERNAME": "your-username",
"SUPERSET_PASSWORD": "your-password"
}
}
}
}Cursor
Добавьте в .cursor/mcp.json в вашем проекте или глобально в ~/.cursor/mcp.json:
{
"mcpServers": {
"superset": {
"command": "uv",
"args": ["--directory", "/ABSOLUTE/PATH/TO/superset-mcp", "run", "superset-mcp"],
"env": {
"SUPERSET_URL": "http://your-superset-host:8088",
"SUPERSET_USERNAME": "your-username",
"SUPERSET_PASSWORD": "your-password"
}
}
}
}Доступные инструменты
Дашборды
Инструмент | Описание |
| Список всех дашбордов (с опциональным поиском) |
| Получить дашборд по ID или слагу |
| Получить все графики на дашборде |
| Получить все наборы данных, используемые на дашборде |
| Создать новый дашборд |
| Обновить заголовок, макет, метаданные |
| Опубликовать черновик дашборда |
| Дублировать дашборд |
| Удалить дашборд |
Графики
Инструмент | Описание |
| Список всех графиков (с опциональным поиском) |
| Получить график по ID или UUID |
| Получить последние данные для графика |
| Создать новый график |
| Обновить свойства графика |
| Удалить график |
Наборы данных
Инструмент | Описание |
| Список всех наборов данных |
| Получить набор данных по ID или UUID |
| Создать из таблицы или SQL-запроса |
| Получить существующий или создать новый |
| Синхронизировать столбцы из исходной таблицы |
| Обновить свойства набора данных |
| Посмотреть, какие графики/дашборды его используют |
| Удалить набор данных |
Базы данных
Инструмент | Описание |
| Список всех подключений к базам данных |
| Получить подключение к базе данных по ID |
| Список схем в базе данных |
| Список таблиц в схеме |
| Получить информацию о столбцах таблицы |
| Получить шаблон SELECT * для таблицы |
SQL
Инструмент | Описание |
| Выполнить SQL-запрос и получить результаты |
| Красивое форматирование SQL-запроса |
| Оценить стоимость запроса (если поддерживается) |
| Список сохраненных SQL-запросов |
| Сохранить SQL-запрос |
Примеры запросов
После подключения к вашему ИИ-ассистенту:
"List all published dashboards"
"Create a new dashboard called 'Sales Overview'"
"Show me all charts in dashboard 11"
"Run a SQL query on database 2: SELECT count() FROM orders"*
"What datasets are used by the 'Revenue' dashboard?"
"Create a bar chart using dataset 5 showing sales by region"
Available Tools
34 toolscopy_dashboardC
Create a copy of a dashboard.
Inputs: id_or_slug (required). Returns: object
create_chartC
Create a new chart.
Inputs: slice_name (required), viz_type (required), datasource_id (required), datasource_type, +3 more. Returns: object
create_dashboardC
Create a new dashboard.
Inputs: title (required), slug, published, json_metadata, +1 more. Returns: object
create_datasetB
Create a dataset from a table or SQL query.
Inputs: database_id (required), table_name (required), schema, sql, +1 more. Returns: object
delete_chartC
Delete a chart by ID.
Inputs: pk (required). Returns: object
delete_dashboardC
Delete a dashboard by ID.
Inputs: pk (required). Returns: object
delete_datasetB
Delete a dataset by ID.
Inputs: pk (required). Returns: object
estimate_query_costC
Estimate the cost of running a SQL query (supported databases only).
Inputs: database_id (required), sql (required), schema. Returns: object
execute_sqlB
Execute a SQL query and return results.
Inputs: database_id (required), sql (required), schema, limit. Returns: object
format_sqlB
Format/pretty-print a SQL query.
Inputs: sql (required). Returns: object
get_chartC
Get a chart by ID or UUID.
Inputs: id_or_uuid (required). Returns: object
get_chart_dataC
Fetch the latest data for a chart.
Inputs: pk (required). Returns: object
get_dashboardB
Get a single dashboard by ID or slug.
Inputs: id_or_slug (required). Returns: object
get_dashboard_chartsB
Get all charts in a dashboard.
Inputs: id_or_slug (required). Returns: object
get_dashboard_datasetsB
Get all datasets used by a dashboard.
Inputs: id_or_slug (required). Returns: object
get_databaseB
Get a database connection by ID.
Inputs: pk (required). Returns: object
get_datasetB
Get a dataset by ID or UUID.
Inputs: id_or_uuid (required). Returns: object
get_or_create_datasetB
Get an existing dataset or create it if it doesn't exist.
Inputs: database_id (required), table_name (required), schema. Returns: object
get_select_starC
Get a SELECT * query for a table (with schema).
Inputs: database_id (required), table_name (required), schema. Returns: object
get_table_metadataC
Get column metadata for a table.
Inputs: database_id (required), table_name (required), schema. Returns: object
list_chartsC
List charts. Optionally filter by name.
Inputs: page, page_size, search. Returns: object
list_dashboardsB
List dashboards. Optionally filter by title with search.
Inputs: page, page_size, search. Returns: object
list_databasesB
List all database connections configured in Superset.
Inputs: page, page_size. Returns: object
list_datasetsC
List datasets (virtual or physical tables).
Inputs: page, page_size, search. Returns: object
list_saved_queriesB
List saved SQL queries.
Inputs: page, page_size. Returns: object
list_schemasB
List all schemas in a database.
Inputs: database_id (required). Returns: object
list_tablesB
List tables in a database schema.
Inputs: database_id (required), schema. Returns: object
publish_dashboardC
Set a dashboard as published.
Inputs: pk (required). Returns: object
refresh_datasetC
Refresh the dataset's columns and metrics from the source.
Inputs: pk (required). Returns: object
save_queryC
Save a SQL query.
Inputs: label (required), sql (required), database_id (required), schema, +1 more. Returns: object
update_chartC
Update a chart's properties.
Inputs: pk (required), slice_name, description, viz_type, +2 more. Returns: object
update_dashboardC
Update an existing dashboard.
Inputs: pk (required), title, published, json_metadata, +1 more. Returns: object
update_datasetC
Update a dataset's properties.
Inputs: pk (required), table_name, description, sql, +3 more. Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 34 tools
Every tool has a clearly distinct purpose targeting specific resources (charts, dashboards, datasets, databases, queries) and actions (create, get, list, update, delete, execute, format, etc.), with no apparent overlap or ambiguity. For example, get_chart, get_chart_data, and list_charts serve different functions without confusion.
Tool names follow a highly consistent verb_noun pattern throughout, such as create_chart, delete_dashboard, list_datasets, and update_dataset, with no deviations in style or convention. This predictability makes the tool set easy to navigate and understand.
With 34 tools, the count is borderline high for typical MCP server scopes, which often range from 3-15 tools. While it covers a comprehensive Superset domain, it may feel heavy and potentially overwhelming for agents, though not extreme like 50+ tools.
The tool surface provides complete CRUD/lifecycle coverage for charts, dashboards, datasets, and queries, along with execution, formatting, and metadata operations. There are no obvious gaps; agents can perform all core workflows from creation to deletion and analysis without dead ends.
Maintenance
Related MCP Connectors
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server enabling AI agents to programmatically connect to and control Apache Superset instances, allowing users to manage dashboards, charts, databases, datasets, and run SQL queries through natural language interactions.60195MIT
- AlicenseAqualityCmaintenanceAn open-source MCP server that connects to various data sources (SQL databases, CSV, Parquet files), allowing AI models to execute SQL queries and generate data visualizations for analytics and business intelligence.1276MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for Apache Superset that enables AI models to manage dashboards, create charts with auto-detection, and execute SQL queries programmatically. It utilizes stateless HTTP transport to ensure compatibility with integration tools like Open WebUI.136 npmMIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to query databases, execute SQL, and manage Metabase resources like dashboards, cards, and collections through natural language.22MIT