add_chart_to_dashboard
Add an existing chart to a dashboard and place it in the layout (position_json).
Build and repair Superset content from the chat window: create charts against a dataset, add metrics and calculated columns, run SQL, and rearrange what sits on a dashboard.
LABSCO SUMMARY
The honest centre of it is get_chart_params: chart creation fails without the right parameter structure, so the server makes fetching that structure a first-class call rather than something you reverse-engineer from the UI. Sharp edges are stated where they exist — deleting a dataset is permanent and breaks the charts built on it, and set_chart_filters writes into the chart's stored query context rather than filtering a view.
A server over the Superset REST API, 32 tools across charts, datasets, metrics and calculated columns, database queries and dashboards.
SUPERSET_BASE_URL plus a SUPERSET_USERNAME and SUPERSET_PASSWORD pair that can sign in to that instance and reach the databases you intend to query.
One command plus credentials — npx -y superset-mcp, then supply credentials
USE CASES
Fetch the parameter schema for the visualisation type first — creation fails without the right structure — then create the chart against its dataset and place it on the dashboard at a position and size you choose.
Read the dataset's metrics to find the definition at fault, correct it in place, then check a dashboard chart's query context to confirm which metric SQL that chart is actually resolving to.
Read the dataset to get its stored SQL, replace the old table reference by exact text, and re-sync the schema so the column list matches the source again.
List the configured databases, run the query through SQL Lab with a row limit to see what it returns, then register it as a virtual dataset once the shape is right.
List the charts on the dashboard with their types and datasets, read the dashboard's own filter configuration and scopes, then resolve one chart down to its metric expressions and applied filters.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
add_chart_to_dashboardAdd an existing chart to a dashboard and place it in the layout (position_json).
create_calculated_columnCreate one or more new calculated columns for a dataset
create_chartCreate a new chart in Superset. IMPORTANT: You must first call get_chart_params with your desired viz_type to get the correct parameter structure before using this tool. Without the proper parameter structure, chart creation will fail.
create_datasetCreates a new dataset in Superset. You can create a physical dataset by linking to a table in a database, or a virtual dataset by providing a custom SQL query. For a physical dataset, provide database_id and table_name. For a virtual dataset, provide database_id, a table_name (as an alias), and a sql query.
create_dataset_metricCreate one or more new metrics for a dataset
delete_calculated_columnDelete one or more calculated columns from a dataset
delete_datasetDeletes a dataset from Superset. This is a permanent operation and cannot be undone. Be cautious, as deleting a dataset will also break any charts and dashboards that depend on it.
delete_dataset_metricDelete one or more metrics from a dataset
execute_sqlExecute SQL query using /api/v1/sqllab/execute/ endpoint
find_and_replace_in_sqlPerforms a simple text find-and-replace on a virtual dataset's SQL query. This is a powerful but direct tool; be sure to provide the exact text to find and its replacement to maintain valid SQL.
get_chart_filtersGet current data filters applied to a chart. This extracts filters from the chart's query context or form data. Use this tool to see what filters are currently applied before modifying them.
get_chart_paramsGet the required parameters format for a specific chart visualization type (viz_type). ALWAYS use this tool before creating or updating charts to ensure you have the correct parameter structure. This tool provides the exact schema needed for the params field in create_chart and update_chart.
get_current_chart_configGet complete chart information including metadata, configuration, and relationships. This provides comprehensive details about a chart including its visualization parameters, datasource info, ownership, dashboards, tags, and more.
get_dashboard_chart_query_contextGet the complete query context for a specific chart in a dashboard, including the chart's dataset ID, used metrics with their SQL expressions, calculated columns, and all applied dashboard filters. This tool provides comprehensive information about the chart's data sources and query structure.
get_dashboard_chartsGet all charts in a specific dashboard with their basic information including chart IDs, names, visualization types, and dataset information.
get_dashboard_configGet dashboard details and embedded configuration in a single response.
get_dashboard_filtersGet the dashboard's filter configuration including native filters, global filters, and their scope settings.
get_datasetFetches detailed information for a single dataset by its ID. For virtual datasets, this tool returns the raw SQL query.
get_dataset_columnsGet column information of a dataset, useful for referencing available fields when creating metrics
get_dataset_metricsGet all metrics for a specified dataset
list_chartsGet list of all charts in Superset with optional filtering, sorting, and pagination. Uses Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.
list_dashboardsGet paginated list of all dashboards with optional filtering, sorting, and pagination. Uses Rison or JSON query parameters for filtering, sorting, pagination and for selecting specific columns and metadata.
list_databasesGet all databases configured in Superset
list_datasetsRetrieves a list of all datasets in Superset. Supports powerful filtering, sorting, and pagination. You can specify which columns to return, making it efficient for fetching just the needed information.
refresh_dataset_schemaRefreshes a dataset's schema by syncing it with the latest information from the source database table. This is useful when the underlying table structure has changed (e.g., columns were added or removed) to ensure Superset has the most up-to-date column information.
remove_chart_from_dashboardRemove a chart from a dashboard and clean up its layout nodes.
set_chart_filtersSet data filters for a chart. This permanently updates the chart's query context with the specified filters. Filters are applied at the data level, affecting what data is retrieved from the datasource.
update_calculated_columnUpdate one or more existing calculated columns in a dataset
update_chartUpdate chart properties including metadata, datasource, and visualization settings. This tool replaces the old update_chart_params with a unified interface that accepts object format params and can modify any chart property. IMPORTANT: When updating visualization parameters, first call get_chart_params with the chart's viz_type to get the correct parameter structure.
update_dashboard_configUpdate dashboard properties and/or embedded configuration in a single request. Provide at least one of dashboard or embedded_config.
update_datasetUpdates an existing dataset's properties. You can change its name, description, or underlying SQL query. This is also the tool to adjust settings like cache timeout. Note: To add, remove, or update individual columns in a virtual dataset's SQL, prefer using the more specific tools: add_dataset_column, update_dataset_column, or remove_dataset_column.
update_dataset_metricUpdate one or more metrics in a dataset
BEFORE YOU INSTALL
32 tools when we connected. The write tools, including create_chart, update_chart and the delete tools, ship enabled with no read-only mode.
Both documented clients run the server on your machine.
CONTEXT COST
Rated by the size of the 32 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
npx -y superset-mcp{
"mcpServers": {
"superset-mcp": {
"command": "npx",
"args": [
"-y",
"superset-mcp"
],
"env": {
"SUPERSET_BASE_URL": "<YOUR_SUPERSET_BASE_URL>",
"SUPERSET_USERNAME": "<YOUR_SUPERSET_USERNAME>",
"SUPERSET_PASSWORD": "<YOUR_SUPERSET_PASSWORD>"
}
}
}
}{
"mcpServers": {
"superset-mcp": {
"command": "npx",
"args": [
"-y",
"superset-mcp"
],
"env": {
"SUPERSET_BASE_URL": "<YOUR_SUPERSET_BASE_URL>",
"SUPERSET_ACCESS_TOKEN": "<YOUR_SUPERSET_ACCESS_TOKEN>"
}
}
}
}