Skip to main content
Glama

superset-mcp

MCP (Model Context Protocol) server for Apache Superset. Gives AI assistants full access to your Superset instance — dashboards, charts, datasets, databases, and SQL execution.

Prerequisites

  • uv — Python package manager

  • Access to a running Apache Superset instance

Related MCP server: Zaturn

Setup (takes ~1 minute)

1. Clone the repo

git clone <repo-url>
cd superset-mcp

2. Configure credentials

cp .env.example .env

Edit .env:

SUPERSET_URL=http://your-superset-host:8088
SUPERSET_USERNAME=your-username
SUPERSET_PASSWORD=your-password

3. Test it works

uv run superset-mcp

You should see the MCP server start without errors. Press Ctrl+C to stop.


Connect to your AI client

Replace /ABSOLUTE/PATH/TO/superset-mcp with the actual path where you cloned the repo.

Claude Code

Add to ~/.claude/settings.json (or project-level .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"
      }
    }
  }
}

Or run in terminal:

claude mcp add superset -- uv --directory /ABSOLUTE/PATH/TO/superset-mcp run superset-mcp

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %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

Add to .cursor/mcp.json in your project or ~/.cursor/mcp.json globally:

{
  "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"
      }
    }
  }
}

Available Tools

Dashboards

Tool

Description

list_dashboards

List all dashboards (with optional search)

get_dashboard

Get a dashboard by ID or slug

get_dashboard_charts

Get all charts in a dashboard

get_dashboard_datasets

Get all datasets used by a dashboard

create_dashboard

Create a new dashboard

update_dashboard

Update title, layout, metadata

publish_dashboard

Publish a draft dashboard

copy_dashboard

Duplicate a dashboard

delete_dashboard

Delete a dashboard

Charts

Tool

Description

list_charts

List all charts (with optional search)

get_chart

Get a chart by ID or UUID

get_chart_data

Fetch the latest data for a chart

create_chart

Create a new chart

update_chart

Update chart properties

delete_chart

Delete a chart

Datasets

Tool

Description

list_datasets

List all datasets

get_dataset

Get a dataset by ID or UUID

create_dataset

Create from a table or SQL query

get_or_create_dataset

Get existing or create new

refresh_dataset

Sync columns from source table

update_dataset

Update dataset properties

get_dataset_related_objects

See which charts/dashboards use it

delete_dataset

Delete a dataset

Databases

Tool

Description

list_databases

List all database connections

get_database

Get a database connection by ID

list_schemas

List schemas in a database

list_tables

List tables in a schema

get_table_metadata

Get column info for a table

get_select_star

Get a SELECT * template for a table

SQL

Tool

Description

execute_sql

Run a SQL query and get results

format_sql

Pretty-print a SQL query

estimate_query_cost

Estimate query cost (if supported)

list_saved_queries

List saved SQL queries

save_query

Save a SQL query


Example prompts

Once connected to your AI assistant:

  • "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 tools
copy_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

    B3.2/5.0

    Scored across 34 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count3/5

    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.

    Completeness5/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      MCP 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.
      60
      195
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      An 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.
      12
      76
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      An 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 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      An MCP server that enables AI assistants to query databases, execute SQL, and manage Metabase resources like dashboards, cards, and collections through natural language.
      22
      MIT