# MCP Superset

Integrates Apache Superset with AI coding tools through the Model Context Protocol. It enables agents to inspect datasets, run queries, edit dashboards, and manage permissions.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 59
- Author: bintocher
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/bintocher/mcp-superset
- Updated: 2026-10-20
- HTML: https://affpapa.org/en/nevibecode/mcp/mcp-superset

## What it does

This server exposes 137 tools that hook into the Apache Superset REST interface. An assistant can edit dashboards, adjust charts, inspect database tables, and validate SQL queries. It handles schema refreshes alongside asset backups. Running it requires Python 3.12+.

Destructive actions include built-in safeguards. The SQL Lab tools block DDL and DML queries to prevent accidental modifications, while hazardous actions need explicit confirmation flags. Assistants can audit access matrices and assign Row Level Security (RLS) rules. Dataset permissions update automatically whenever someone gains dashboard access.

Communication works over stdio, SSE, or streamable HTTP. Standard setups use username and password credentials with automatic JWT refreshes. When an instance sits behind enterprise SSO or OAuth, REST password logins fail. In that setup, you have to extract a session cookie from your browser manually and restart the server once it expires.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `SUPERSET_BASE_URL`, `SUPERSET_USERNAME`, `SUPERSET_PASSWORD` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add mcp-superset -e SUPERSET_BASE_URL=<SUPERSET_BASE_URL> -e SUPERSET_USERNAME=<SUPERSET_USERNAME> -e SUPERSET_PASSWORD=<SUPERSET_PASSWORD> -- uvx mcp-superset
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-superset <command>

### Codex

**Platform CLI**
```bash
codex mcp add mcp-superset --env SUPERSET_BASE_URL=<SUPERSET_BASE_URL> --env SUPERSET_USERNAME=<SUPERSET_USERNAME> --env SUPERSET_PASSWORD=<SUPERSET_PASSWORD> -- uvx mcp-superset
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-superset <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-superset": {
            "command": "uvx",
            "args": [
                "mcp-superset"
            ],
            "env": {
                "SUPERSET_BASE_URL": "<SUPERSET_BASE_URL>",
                "SUPERSET_USERNAME": "<SUPERSET_USERNAME>",
                "SUPERSET_PASSWORD": "<SUPERSET_PASSWORD>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-superset <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-superset": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "mcp-superset"
            ],
            "env": {
                "SUPERSET_BASE_URL": "<SUPERSET_BASE_URL>",
                "SUPERSET_USERNAME": "<SUPERSET_USERNAME>",
                "SUPERSET_PASSWORD": "<SUPERSET_PASSWORD>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-superset <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SUPERSET_BASE_URL=<SUPERSET_BASE_URL> -e SUPERSET_USERNAME=<SUPERSET_USERNAME> -e SUPERSET_PASSWORD=<SUPERSET_PASSWORD> mcp-superset uvx mcp-superset
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from mcp-superset <command>

## When to use it
- Inspect schemas, tables, and validate queries across connected databases
- Execute SQL Lab queries and download the output as CSV
- Configure Row Level Security rules and manage user roles
- Update dashboard layouts, manage native filters, and publish changes

## Example prompts
- Show available datasets in Superset and refresh the schema for `orders`.
- Run a query in SQL Lab against database `analytics` and export the results to CSV.
- Apply a date native filter to the dashboard with ID 14.

## Similar
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16717
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40409
- [dbx](https://affpapa.org/en/nevibecode/mcp/dbx.md) — MCP server · ★ 27669
- [Metabase](https://affpapa.org/en/nevibecode/mcp/metabase.md) — MCP server · ★ 49845

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
