MCP Marketplace
BrowseHow It WorksFor CreatorsDocs
Sign inSign up
MCP Marketplace

The curated, security-first marketplace for AI tools.

Product

Browse ToolsSubmit a ToolDocumentationHow It WorksBlogFAQ

Legal

Terms of ServicePrivacy PolicyCommunity Guidelines

Connect

support@mcp-marketplace.ioTwitter / XDiscord

MCP Marketplace © 2026. All rights reserved.

Back to Browse

Superset MCP Server

by Bintocher
Developer ToolsModerate6.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

Apache Superset MCP server — 135+ tools for dashboards, charts, datasets, SQL Lab, and security

About

Apache Superset MCP server — 135+ tools for dashboards, charts, datasets, SQL Lab, and security

Security Report

6.0
Moderate6.0Moderate Risk

Valid MCP server (1 strong, 1 medium validity signals). 4 known CVEs in dependencies (1 critical, 1 high severity) Package registry verified. Imported from the Official MCP Registry.

3 files analyzed · 5 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

What You'll Need

Set these up before or after installing:

Base URL of your Apache Superset instanceOptional

Environment variable: SUPERSET_BASE_URL

Superset username for authenticationOptional

Environment variable: SUPERSET_USERNAME

Superset password for authenticationRequired

Environment variable: SUPERSET_PASSWORD

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-bintocher-mcp-superset": {
      "env": {
        "SUPERSET_BASE_URL": "your-superset-base-url-here",
        "SUPERSET_PASSWORD": "your-superset-password-here",
        "SUPERSET_USERNAME": "your-superset-username-here"
      },
      "args": [
        "mcp-superset"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

mcp-superset

PyPI version PyPI downloads Python 3.12+ License: MIT CI CodeQL

Superset 6.0.1 MCP Typed Ruff uv Tools: 137 GitHub stars

A comprehensive Model Context Protocol (MCP) server for Apache Superset. Gives AI assistants (Claude, GPT, etc.) full control over your Superset instance — dashboards, charts, datasets, SQL Lab, users, roles, RLS, and more — through 137 tools.

Comparison with Other Superset MCP Servers

Featuremcp-supersetsuperset-mcpsuperset-mcp (Winding2020)superset-mcp-server
Total tools13760314
LanguagePythonPythonTypeScriptTypeScript
Dashboard CRUD15 tools58-
Dashboard native filters5 tools---
Chart CRUD11 tools57-
Database tools18 tools1411
Dataset tools11 tools37-
SQL Lab5 tools711
Security (users/roles)26 tools2--
Row Level Security5 tools---
Groups9 tools---
Permissions audityes---
Dashboard access grant/revokeyes---
Auto datasource_access syncyes---
Reports & annotations10 tools---
Tags7 tools7--
Asset export/importyes---
Safety: confirmation flags14 types---
Safety: DDL/DML blockingyes---
Safety: system role protectionyes---
TransportHTTP, SSE, stdiostdiostdiostdio
Auth methodJWT + auto-refresh + CSRFUsername/password + token fileUsername/password or tokenLDAP
Superset versions6.0.14.1.1not specifiednot specified
CLI with args--host --port --transport---
PyPI packagemcp-supersetsuperset-mcpsuperset-mcp (npm)-
uvx supportyes---
LicenseMITMIT-Apache 2.0
GitHub starsnew170215

Key differentiators:

  • Only MCP server with full security management (users, roles, RLS, groups, permissions audit)
  • Only one with built-in safety validations (confirmation flags, DDL/DML blocking)
  • Only one with dashboard native filter management
  • Only one with automatic datasource_access synchronization
  • Only one with multiple transport options (HTTP, SSE, stdio)
  • Only one with configurable CLI (--host, --port, --transport, --env-file)

Features

  • 137 MCP tools covering the complete Superset REST API
  • Dashboard management — CRUD, copy, publish/unpublish, export/import, embedded mode, native filters
  • Chart management — CRUD, copy, data retrieval, export/import, cache warmup
  • Database management — CRUD, connection testing, schema/table introspection, SQL validation
  • Dataset management — CRUD, duplicate, schema refresh, export/import
  • SQL Lab — query execution, formatting, cost estimation, results & CSV export
  • Security — users, roles, permissions, Row Level Security (RLS), groups
  • Access control automation — grant/revoke dashboard access with automatic datasource permission sync
  • Audit — comprehensive permissions matrix (user x dashboards x datasets x RLS)
  • Tags, reports, annotations, saved queries — full CRUD
  • Asset export/import — full instance backup and restore
  • Built-in safety — confirmation flags for destructive operations, DDL/DML blocking in SQL Lab
  • JWT authentication with automatic token refresh and CSRF handling
  • Streamable HTTP, SSE, and stdio transports

Quick Start

Installation

# From PyPI
pip install mcp-superset

# With uv (recommended)
uv pip install mcp-superset

# Run without installing (uvx)
uvx mcp-superset

Configuration

Create a .env file in the current directory, or set environment variables:

# Required
SUPERSET_BASE_URL=https://superset.example.com
SUPERSET_USERNAME=admin
SUPERSET_PASSWORD=your_password

# Optional
SUPERSET_AUTH_PROVIDER=db          # db (default) or ldap
SUPERSET_MCP_HOST=127.0.0.1       # Server host (default: 127.0.0.1)
SUPERSET_MCP_PORT=8001             # Server port (default: 8001)
SUPERSET_MCP_TRANSPORT=streamable-http  # streamable-http (default), sse, or stdio

Running

# Using CLI (after pip install)
mcp-superset

# Run without installing
uvx mcp-superset

# Using Python module
python -m mcp_superset

# With uv from source
uv run mcp-superset

# With custom settings
mcp-superset --host 0.0.0.0 --port 9000 --transport sse

# With custom .env file
mcp-superset --env-file /path/to/.env

# Using stdio transport (for Claude Desktop, Cursor, etc.)
mcp-superset --transport stdio

CLI Options

OptionDefaultEnv VariableDescription
--host127.0.0.1SUPERSET_MCP_HOSTServer bind address
--port8001SUPERSET_MCP_PORTServer bind port
--transportstreamable-httpSUPERSET_MCP_TRANSPORTTransport: streamable-http, sse, stdio
--env-fileauto-detect—Path to .env file
--version——Show version and exit

Connecting to MCP Clients

Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "superset": {
      "type": "http",
      "url": "http://localhost:8001/mcp"
    }
  }
}

Then start the server: mcp-superset or uvx mcp-superset.

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "superset": {
      "command": "uvx",
      "args": ["mcp-superset", "--transport", "stdio"],
      "env": {
        "SUPERSET_BASE_URL": "https://superset.example.com",
        "SUPERSET_USERNAME": "admin",
        "SUPERSET_PASSWORD": "your_password"
      }
    }
  }
}
Cursor / Windsurf
{
  "mcpServers": {
    "superset": {
      "command": "uvx",
      "args": ["mcp-superset", "--transport", "stdio"],
      "env": {
        "SUPERSET_BASE_URL": "https://superset.example.com",
        "SUPERSET_USERNAME": "admin",
        "SUPERSET_PASSWORD": "your_password"
      }
    }
  }
}
Other MCP Clients

Any MCP-compatible client can connect via:

  • Streamable HTTP: http://<host>:<port>/mcp
  • SSE: http://<host>:<port>/sse
  • stdio: pipe to mcp-superset --transport stdio

Available Tools (137)

Dashboards (15 tools)

ToolDescription
superset_dashboard_listList dashboards with filtering and pagination
superset_dashboard_getGet dashboard details by ID
superset_dashboard_createCreate a new dashboard
superset_dashboard_updateUpdate dashboard properties
superset_dashboard_deleteDelete a dashboard (requires confirmation)
superset_dashboard_copyDuplicate a dashboard
superset_dashboard_publishPublish a draft dashboard
superset_dashboard_unpublishUnpublish a dashboard
superset_dashboard_chartsList charts in a dashboard
superset_dashboard_datasetsList datasets used by a dashboard
superset_dashboard_exportExport dashboard as ZIP (base64)
superset_dashboard_importImport dashboard from ZIP file
superset_dashboard_embedded_getGet embedded configuration
superset_dashboard_embedded_setEnable embedded mode with allowed domains
superset_dashboard_embedded_deleteDisable embedded mode

Dashboard Filters (5 tools)

ToolDescription
superset_dashboard_filter_listList native filters on a dashboard
superset_dashboard_filter_addAdd a native filter (auto-generates correct ID format)
superset_dashboard_filter_updateUpdate an existing native filter
superset_dashboard_filter_deleteRemove a native filter (requires confirmation)
superset_dashboard_filter_resetRemove all filters (requires confirmation)

Charts (11 tools)

ToolDescription
superset_chart_listList charts with filtering and pagination
superset_chart_getGet chart details by ID
superset_chart_createCreate a new chart
superset_chart_updateUpdate chart properties
superset_chart_deleteDelete a chart (requires confirmation)
superset_chart_copyDuplicate a chart
superset_chart_dataExecute chart query and get data
superset_chart_get_dataGet data from a saved chart
superset_chart_exportExport chart as ZIP (base64)
superset_chart_importImport chart from ZIP file
superset_chart_cache_warmupWarm up chart cache

Databases (18 tools)

ToolDescription
superset_database_listList database connections
superset_database_getGet database details
superset_database_createRegister a new database connection
superset_database_updateUpdate database settings
superset_database_deleteRemove a database (requires confirmation)
superset_database_test_connectionTest database connectivity
superset_database_schemasList schemas in a database
superset_database_tablesList tables in a schema
superset_database_catalogsList catalogs (for multi-catalog databases)
superset_database_connection_infoGet connection string info
superset_database_function_namesList available SQL functions
superset_database_related_objectsFind charts/datasets using this database
superset_database_validate_sqlValidate SQL syntax
superset_database_validate_parametersValidate connection parameters
superset_database_select_starGenerate SELECT * query for a table
superset_database_table_metadataGet table column and index metadata
superset_database_exportExport database config as ZIP
superset_database_available_enginesList supported database engines

Datasets (11 tools)

ToolDescription
superset_dataset_listList datasets with filtering
superset_dataset_getGet dataset details including columns and metrics
superset_dataset_createCreate a dataset from a table or SQL query
superset_dataset_updateUpdate dataset properties
superset_dataset_deleteDelete a dataset (requires confirmation)
superset_dataset_duplicateDuplicate a dataset
superset_dataset_refresh_schemaRefresh columns from source
superset_dataset_related_objectsFind charts using this dataset
superset_dataset_exportExport dataset as ZIP
superset_dataset_importImport dataset from ZIP
superset_dataset_get_or_createGet existing or create new dataset

SQL Lab & Queries (13 tools)

ToolDescription
superset_sqllab_executeExecute a SQL query (SELECT only)
superset_sqllab_format_sqlFormat/beautify SQL
superset_sqllab_resultsFetch results of a completed query
superset_sqllab_estimate_costEstimate query execution cost
superset_sqllab_export_csvExport query results as CSV
superset_query_listList executed queries
superset_query_getGet query details and results
superset_query_stopStop a running query
superset_saved_query_listList saved queries
superset_saved_query_createSave a new query
superset_saved_query_getGet saved query details
superset_saved_query_updateUpdate a saved query
superset_saved_query_deleteDelete a saved query (requires confirmation)

Security & Access Control (26 tools)

ToolDescription
superset_get_current_userGet current authenticated user info
superset_get_current_user_rolesGet roles of current user
superset_user_listList users with filtering
superset_user_getGet user details
superset_user_createCreate a new user
superset_user_updateUpdate user properties
superset_user_deleteDelete a user (requires confirmation)
superset_role_listList roles
superset_role_getGet role details
superset_role_createCreate a new role
superset_role_updateUpdate role name/description
superset_role_deleteDelete a role (requires confirmation, blocks system roles)
superset_permission_listList all available permissions
superset_role_permissions_getGet permissions assigned to a role
superset_role_permission_addSet role permissions (full replacement, requires confirmation)
superset_role_copy_permissionsCopy all permissions from one role to another
superset_dashboard_grant_role_accessGrant a role access to dashboard and its datasets
superset_dashboard_revoke_role_accessRevoke a role's access to dashboard datasets
superset_bulk_user_role_addAdd a role to multiple users (by IDs or by current role)
superset_bulk_user_role_removeRemove a role from multiple users
superset_bulk_user_role_replaceReplace one role with another for all matching users
superset_rls_listList Row Level Security rules
superset_rls_getGet RLS rule details
superset_rls_createCreate an RLS rule
superset_rls_updateUpdate an RLS rule (requires both roles and tables)
superset_rls_deleteDelete an RLS rule (requires confirmation)

Groups (9 tools)

ToolDescription
superset_group_listList groups
superset_group_getGet group details with members and roles
superset_group_createCreate a new group
superset_group_updateUpdate group name
superset_group_deleteDelete a group
superset_group_add_usersAdd users to a group
superset_group_remove_usersRemove users from a group
superset_group_add_rolesAdd roles to a group
superset_group_remove_rolesRemove roles from a group

Tags (7 tools)

ToolDescription
superset_tag_listList tags
superset_tag_getGet tag details
superset_tag_createCreate a tag (optionally bind to objects)
superset_tag_updateUpdate a tag
superset_tag_deleteDelete a tag (requires confirmation)
superset_tag_get_objectsList objects associated with a tag
superset_tag_bulk_createCreate multiple tags at once

System & Reports (21 tools)

ToolDescription
superset_report_listList scheduled reports
superset_report_getGet report details
superset_report_createCreate a scheduled report
superset_report_updateUpdate a report
superset_report_deleteDelete a report (requires confirmation)
superset_annotation_layer_listList annotation layers
superset_annotation_layer_getGet annotation layer details
superset_annotation_layer_createCreate an annotation layer
superset_annotation_layer_updateUpdate an annotation layer
superset_annotation_layer_deleteDelete an annotation layer (requires confirmation)
superset_annotation_listList annotations in a layer
superset_annotation_getGet annotation details
superset_annotation_createCreate an annotation
superset_annotation_updateUpdate an annotation
superset_annotation_deleteDelete an annotation (requires confirmation)
superset_recent_activityGet recent user activity
superset_log_listGet audit logs
superset_get_menuGet Superset menu structure
superset_get_base_urlGet configured Superset base URL
superset_assets_exportExport all Superset assets as ZIP
superset_assets_importImport assets from ZIP file

Audit (1 tool)

ToolDescription
superset_permissions_auditGenerate comprehensive permissions matrix

Safety Features

The server includes extensive built-in protections to prevent accidental data loss or misconfiguration.

Confirmation Flags

Destructive operations require explicit confirmation parameters:

OperationRequired FlagWhat It Shows
Delete dashboardconfirm_delete=TrueDashboard name, slug, chart count
Delete chartconfirm_delete=TrueLinked dashboards
Delete datasetconfirm_delete=TrueAffected charts and dashboards
Delete databaseconfirm_delete=TrueAffected datasets, charts
Delete RLS ruleconfirm_delete=TrueClause, roles, datasets
Delete roleconfirm_delete=TrueBlocks system roles
Delete userconfirm_delete=TrueBlocks service account deletion
Update chart paramsconfirm_params_replace=True—
Update dataset columnsconfirm_columns_replace=True—
Update database URIconfirm_uri_change=TrueAffected charts/dashboards
Update user rolesconfirm_roles_replace=TrueCurrent roles
Set role permissionsconfirm_full_replace=True—
Grant dashboard accessconfirm_grant=TrueDry-run results
Revoke dashboard accessconfirm_revoke=TrueDry-run results
Bulk add role to usersconfirm=TrueUser count, sample list
Bulk remove role from usersconfirm=TrueUser count, prevents last role removal
Bulk replace roleconfirm=TrueOld/new role names, user count
Copy role permissionsconfirm=TrueSource/target permission counts

Automatic Protections

  • DDL/DML blocking — SQL Lab rejects DROP, DELETE, UPDATE, INSERT, TRUNCATE, ALTER, CREATE, GRANT, REVOKE (SQL comments are stripped before checking)
  • System role protection — cannot delete Admin, Alpha, Gamma, Public roles
  • Service account protection — cannot delete the MCP service user
  • RLS safety — rls_update requires both roles and tables to prevent silent data wipe
  • Native filter IDs — automatically generated in NATIVE_FILTER-<uuid> format
  • Chart validation — rejects charts without granularity_sqla (required for dashboard time filters)
  • Auto-sync — datasource_access permissions are automatically synchronized when dashboard roles change

Architecture

superset-mcp/
├── pyproject.toml              # Package configuration
├── .env.example                # Environment variable template
├── LICENSE                     # MIT License
├── README.md                   # This file
├── README_RU.md                # Russian documentation
├── CHANGELOG.md                # Version history
└── src/mcp_superset/
    ├── __init__.py             # Package init with __version__
    ├── __main__.py             # CLI entry point with argparse
    ├── server.py               # FastMCP server setup and configuration
    ├── auth.py                 # JWT authentication (login, refresh, CSRF)
    ├── client.py               # HTTP client (auto-auth, retry, RISON pagination)
    ├── models.py               # Pydantic models
    └── tools/
        ├── __init__.py         # register_all_tools()
        ├── helpers.py          # Auto-sync datasource_access logic
        ├── dashboards.py       # Dashboard + filter tools (20)
        ├── charts.py           # Chart tools (11)
        ├── databases.py        # Database tools (18)
        ├── datasets.py         # Dataset tools (11)
        ├── queries.py          # SQL Lab + saved query tools (13)
        ├── security.py         # User, role, permission, RLS, bulk operations (26)
        ├── groups.py           # Group management tools (9)
        ├── audit.py            # Permissions audit tool (1)
        ├── tags.py             # Tag tools (7)
        └── system.py           # Reports, annotations, logs, assets (21)

Superset Compatibility

  • Tested with: Apache Superset 6.0.1
  • Authentication: JWT (recommended) — API Key (sst_*) is not implemented in Superset
  • Required Superset user: Admin role (for full API access)

Recommended Superset Configuration

Add to your superset_config.py:

from datetime import timedelta

# Increase JWT token lifetime (default is 15 min)
JWT_ACCESS_TOKEN_EXPIRES = timedelta(hours=1)
JWT_REFRESH_TOKEN_EXPIRES = timedelta(days=30)

# Max API page size
FAB_API_MAX_PAGE_SIZE = 100

Development

Setup

git clone https://github.com/bintocher/mcp-superset.git
cd superset-mcp

# Create virtual environment and install in editable mode
uv venv
uv pip install -e ".[dev]"

# Copy and configure .env
cp .env.example .env
# Edit .env with your Superset credentials

Running Locally

# Run from source
uv run python -m mcp_superset

# Or with CLI
uv run mcp-superset --port 8001

Running Tests

uv run python test_all_tools.py

Known Superset API Quirks

These are handled automatically by the MCP server, but useful to know when debugging:

QuirkDetails
RISON paginationSuperset ignores page/page_size as query params; must use RISON in q parameter
CSRF requiredAll POST/PUT/DELETE need X-CSRFToken header + session cookie
Referer requiredSQL Lab returns 403 without Referer header
Tag API returns {}Tag creation doesn't return the ID; must query list
Tag update needs nameField is mandatory even if unchanged
Role permissions replacePOST /security/roles/{id}/permissions replaces ALL permissions
RLS update replacesPUT /rowlevelsecurity/{id} replaces ALL provided fields
Dataset update columnsPUT /dataset/{id} with columns replaces ALL columns
Dashboard copyRequires json_metadata (can be "{}")
Native filter IDsMust be NATIVE_FILTER-<uuid> format
filter_time needs granularity_sqlaCharts without it silently ignore time filters
Number formattingSMART_NUMBER abbreviates; use ,d or ,.2f for exact

License

MIT — Stanislav Chernov (@bintocher)

Reviews

No reviews yet

Be the first to review this server!

0

installs

New

no ratings yet

Is this your server?

Claim ownership to manage your listing, respond to reviews, and track installs from your dashboard.

Claim with GitHub

Sign up with the GitHub account that owns this repo

Links

Source CodePyPI Package

Details

Published March 10, 2026
Version 0.2.3
0 installs
Local Plugin

More Developer Tools MCP Servers

Fetch

Free

by Modelcontextprotocol · Developer Tools

Web content fetching and conversion for efficient LLM usage

80.0K
Stars
4
Installs
5.3
Security
No ratings yet
Local

Toleno

Free

by Toleno · Developer Tools

Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.

137
Stars
511
Installs
8.0
Security
4.8
Local

mcp-creator-python

Free

by mcp-marketplace · Developer Tools

Create, build, and publish Python MCP servers to PyPI — conversationally.

-
Stars
68
Installs
10.0
Security
4.6
Local

MarkItDown

Free

by Microsoft · Content & Media

Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption

120.0K
Stars
26
Installs
6.0
Security
5.0
Local

FinAgent

Free

by mcp-marketplace · Finance

Free stock data and market news for any MCP-compatible AI assistant.

-
Stars
18
Installs
10.0
Security
No ratings yet
Local

mcp-creator-typescript

Free

by mcp-marketplace · Developer Tools

Scaffold, build, and publish TypeScript MCP servers to npm — conversationally

-
Stars
17
Installs
10.0
Security
5.0
Local