Superset MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SUPERSET_URL | Yes | Base URL of Superset (e.g. https://superset.yourcompany.com) | |
| SUPERSET_PASSWORD | No | Password for that user. | |
| SUPERSET_USERNAME | No | API user (e.g. admin). | |
| SUPERSET_ACCESS_TOKEN | No | JWT access token from browser. | |
| SUPERSET_AUTH_PROVIDER | No | Auth provider; default db. | db |
| SUPERSET_REFRESH_TOKEN | No | Optional refresh token for JWT. | |
| SUPERSET_SESSION_COOKIE | No | Cookie string, e.g. session=<value>. Get from DevTools -> Application -> Cookies -> your Superset URL -> copy session value. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| superset_list_databasesA | List all databases configured in Superset (e.g. Snowflake). Use to find database_id for listing datasets. |
| superset_list_datasetsA | List datasets (tables/views) in Superset. Optionally filter by database_id or search by name. Use to find dataset_id for creating charts. |
| superset_list_all_datasetsA | List all datasets in Superset across all pages. Use when you need the full list (e.g. to find a dataset by name like vw_bioverse_performance_report). |
| superset_get_datasetA | Get a dataset by id, including columns and metrics. Use to see available columns before creating charts. |
| superset_list_dashboardsA | List dashboards. Optionally search by title. |
| superset_get_dashboardA | Get a dashboard by id or slug. Returns full detail including position_json and json_metadata (filters). |
| superset_create_dashboardA | Create a new empty dashboard. Returns the new dashboard with id. Then add charts and filters. |
| superset_update_dashboardA | Update an existing dashboard. Pass only the fields you want to change (e.g. title, slug, published). |
| superset_delete_dashboardA | Delete a dashboard by id. This does not delete the charts on it; they remain in Superset. |
| superset_update_dashboard_filtersA | Update native (dashboard-level) filters. Pass native_filter_configuration as a JSON string: list of filter objects with id, name, filterType, targets, defaultDataMask, scope, etc. Replaces all existing native filters. |
| superset_add_chart_to_dashboardA | Add an existing chart to a dashboard at the given grid position (x, y, width, height). |
| superset_list_chartsA | List charts. Optionally search by name. |
| superset_get_chartB | Get a chart by id. Returns viz_type, params, datasource, etc. |
| superset_create_chartB | Create a new chart. params must be a JSON string: object with keys like metrics, groupby, order_desc, row_limit, time_range, etc. depending on viz_type (e.g. table, big_number, line, bar, pie). |
| superset_update_chartA | Update an existing chart. Pass only the fields you want to change. params must be a JSON string if provided (same shape as for create_chart). |
| superset_delete_chartA | Delete a chart by id. Removing it from a dashboard does not delete the chart; use this to delete it from Superset. |
| superset_get_dashboard_chartsB | Get all charts that belong to a dashboard. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools target distinct resources and actions. The only potential confusion is between superset_list_datasets and superset_list_all_datasets, but their descriptions clearly differentiate (filtered/search vs all pages). superset_get_dashboard_charts also overlaps slightly with superset_list_charts, but the dashboard scoping is clear.
All tools follow a consistent `superset_verb_noun` pattern with snake_case. The verb is always placed immediately after the prefix, and nouns are lowercase (e.g., superset_list_databases, superset_create_dashboard). The only minor deviation is superset_list_all_datasets, but it's still readable and predictable.
17 tools is slightly above the typical sweet spot, but each tool addresses a distinct operation on the core entities (databases, datasets, dashboards, charts). There are no trivial or redundant tools, so the count feels justified for full chart/dashboard lifecycle management.
Charts and dashboards have complete CRUD coverage plus extra operations (filters, adding charts). However, databases and datasets only support listing/getting, with no create, update, or delete. Additionally, there is no way to remove a chart from a dashboard without deleting it, which is a notable gap.