
MCP Superset
io.github.bintocherPublished by GitHub account bintocherv0.2.3Updated Oct 24, 2026
Apache Superset MCP server — 135+ tools for dashboards, charts, datasets, SQL Lab, and security
Overview
Local MCP server that gives an AI assistant 137 tools to manage an Apache Superset instance: dashboards, charts, datasets, SQL Lab, users, roles and RLS.
- What you can do
- List, create, update, copy, publish, export and import dashboards, including native filters and embedded mode settings; manage charts and their data and cache warmup; register databases and datasets, test connections, inspect schemas and tables, refresh or duplicate datasets and export or import them as ZIP archives; run read-only SQL Lab queries, fetch results, estimate cost, export CSV and manage saved queries; administer users, roles, permissions, groups and row-level security, including bulk role changes, dashboard access grant/revoke and a permissions audit matrix; manage tags, scheduled reports, annotations, audit logs and full-instance asset export/import.
- When to use it
- Useful when you administer or build on Apache Superset and want an assistant to inspect and change dashboards, datasets and SQL Lab queries, or to handle user, role and row-level security administration, without clicking through the Superset UI.
- Requirements
- Runs locally as a Python package (pip or uvx, stdio or HTTP/SSE). Needs a reachable Superset instance and the SUPERSET_BASE_URL, SUPERSET_USERNAME and SUPERSET_PASSWORD variables; an admin Superset user is required for full API access. For SSO-protected instances, a browser session cookie can be supplied instead. Tested with Superset 6.0.1.
Installation
In SourceWeft
- Open MCP Superset in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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
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
Configuration
Create a .env file in the current directory, or set environment variables:
Session-cookie authentication (SSO/OAuth)
When Superset is behind SSO (OAuth/OIDC/SAML), password login via the REST API is unavailable. Instead, supply a browser session cookie:
Copy the cookie from your browser's dev tools (Application → Cookies →
your Superset domain → session). The MCP server sends it on every request
and fetches CSRF tokens with it. The session cannot be renewed server-side,
so when it expires you must paste a fresh value and restart the server.
Two things worth checking before you use this mode:
- The cookie name is not always
session. Instances that setSESSION_COOKIE_NAMEinsuperset_config.pyuse a different name (s, for example). Use the name shown in dev tools and setSUPERSET_SESSION_COOKIE_NAMEaccordingly. - The instance must accept session authentication on
/api/v1/. Where the REST API is configured for JWT only, requests carrying a valid session cookie still return401 {"msg": "Missing Authorization Header"}- refreshing the cookie will not help, and JWT mode is the only option there.
Treat the cookie as a credential: it grants full access to your Superset
account for the lifetime of the session. Keep it in .env (which is
gitignored), not in shell history or committed config.
Running
CLI Options
Connecting to MCP Clients
Claude Code
Add to your project's .mcp.json:
Then start the server: mcp-superset or uvx mcp-superset.
Claude Desktop
Add to claude_desktop_config.json:
Cursor / Windsurf
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)
Dashboard Filters (5 tools)
Charts (11 tools)
Databases (18 tools)
Datasets (11 tools)
SQL Lab & Queries (13 tools)
Security & Access Control (26 tools)
Groups (9 tools)
Tags (7 tools)
System & Reports (21 tools)
Audit (1 tool)
Safety Features
The server includes extensive built-in protections to prevent accidental data loss or misconfiguration.
Confirmation Flags
Destructive operations require explicit confirmation parameters:
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_updaterequires bothrolesandtablesto 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 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:
Development
Setup
Running Locally
Running Tests
Known Superset API Quirks
These are handled automatically by the MCP server, but useful to know when debugging:
License
MIT — Stanislav Chernov (@bintocher)
Source: README.md at commit 4e0a856
Tools
0Version history
1- v0.2.3LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts