A Model Context Protocol (MCP) server for managing Apache Superset datasets, metrics, and SQL queries.
📖 中文文档
- Dataset Management: Full CRUD operations for Superset datasets
- Metrics Management: Create, update, and manage dataset metrics
- Calculated Columns: Create and manage calculated columns for datasets
- Chart Management: View and modify chart visualization parameters and filters
- Dashboard Operations: Access dashboard information, charts, and filters
- SQL Query Execution: Execute SQL queries directly through Superset
- Database Integration: List and manage database connections
- Resource Access: Browse datasets, databases, and metrics through MCP resources
- Node.js 18+
- Access to an Apache Superset instance
- Valid Superset credentials (username/password or access token)
Add the following configuration to your MCP settings file:
{
"mcpServers": {
"superset-mcp": {
"command": "npx",
"args": [
"-y",
"superset-mcp"
],
"env": {
"SUPERSET_BASE_URL": "",
"SUPERSET_USERNAME": "",
"SUPERSET_PASSWORD": ""
}
}
}
}Configure your Superset connection by updating the env section in the MCP configuration:
"env": {
"SUPERSET_BASE_URL": "your-superset-url",
"SUPERSET_USERNAME": "your_username",
"SUPERSET_PASSWORD": "your_password",
}Alternative: Using Access Token
"env": {
"SUPERSET_BASE_URL": "your-superset-url",
"SUPERSET_ACCESS_TOKEN": "your_access_token"
}| Tool | Description |
|---|---|
list_datasets |
Get paginated list of all datasets with filtering and sorting |
get_dataset |
Get detailed information for a specific dataset |
create_dataset |
Create a new dataset (physical or virtual with SQL) |
update_dataset |
Update existing dataset properties |
delete_dataset |
Delete a dataset |
refresh_dataset_schema |
Refresh dataset schema from source database |
find_and_replace_in_sql |
Find and replace text in virtual dataset SQL |
| Tool | Description |
|---|---|
get_dataset_metrics |
Get all metrics for a dataset |
create_dataset_metric |
Create a new metric with SQL expression |
update_dataset_metric |
Update existing metric properties |
delete_dataset_metric |
Delete a metric |
| Tool | Description |
|---|---|
get_dataset_columns |
Get column information (including calculated columns) |
create_calculated_column |
Create a new calculated column with SQL expression |
update_calculated_column |
Update existing calculated column |
delete_calculated_column |
Delete a calculated column |
| Tool | Description |
|---|---|
list_charts |
Get paginated list of all charts with filtering and sorting |
create_chart |
Create a new chart; for most viz types you should first call get_chart_params to obtain the correct params schema |
get_chart_params |
Get required parameters format for chart visualization types |
get_current_chart_config |
Get current chart configuration details (viz params, relationships, ownership, query context) |
update_chart |
Update chart properties including metadata, datasource, and visualization parameters |
get_chart_filters |
Get current data filters applied to a chart |
set_chart_filters |
Set data filters for a chart (permanently updates the chart) |
| Tool | Description |
|---|---|
list_dashboards |
Get paginated list of all dashboards with filtering and sorting |
get_dashboard_charts |
Get all charts in a specific dashboard with their information |
get_dashboard_filters |
Get dashboard's filter configuration (native filters, global filters) |
get_dashboard_chart_query_context |
Get complete query context for a chart in dashboard (dataset ID, used metrics with SQL expressions, calculated columns, applied filters) |
get_dashboard_config |
Get dashboard details and embedded configuration |
update_dashboard_config |
Update dashboard properties and/or embedded configuration |
add_chart_to_dashboard |
Add an existing chart to a dashboard and place it in the layout |
remove_chart_from_dashboard |
Remove a chart from a dashboard and clean up its layout |
| Tool | Description |
|---|---|
execute_sql |
Execute SQL queries with result limiting and data display |
| Tool | Description |
|---|---|
list_databases |
Get all configured database connections |
Access read-only overviews through MCP resources:
superset://datasets- Overview of all datasetssuperset://databases- List of database connections
Use these natural prompts with your MCP-enabled assistant; it will pick the right tools and arguments.
-
List datasets
- "Show the first 10 datasets, most recently changed first. Only include id and table_name."
-
Create a chart
- "Create a simple table chart called 'Sample Table' using dataset 12."
-
Update a chart
- "Change chart 42 to a bar chart grouped by country and using SUM(value)."
-
Dashboard query context
- "On the 'sales-kpi' dashboard, show the full query context for chart 101."
-
Run SQL
- "On database 3, fetch the 10 most recently created users, returning only id and name."