- Home
- MCP servers
- Superset
Superset
- typescript
0
GitHub Stars
typescript
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You can connect clients to the Superset MCP Server over a stateless HTTP transport to manage dashboards, charts, datasets, and SQL execution programmatically. This MCP server lets you automate common Superset tasks through a consistent API, enabling chatbot or automation workflows to create dashboards, generate charts with auto-detected schema, and run SQL queries against your Superset instance.
How to use
You use an MCP client to communicate with the server via the /mcp endpoint exposed by the HTTP transport. Through this channel you can perform actions such as listing dashboards, creating dashboards, adding charts to dashboards, listing and creating charts (including auto-detection for schema), listing datasets and retrieving their schemas, and executing SQL queries directly against the connected Superset instance. The server handles authentication with Superset automatically and streams responses as needed.
Typical usage patterns include: selecting a target dashboard and adding charts, creating a new dashboard with a set of charts, auto-generating a chart from a dataset, and issuing SQL to fetch data for a visualization. When you retrieve data for a chart, you can rely on the server to provide the results in a structured form suitable for downstream rendering in your UI or chatbot.
How to install
Prerequisites you need before installing: Node.js v18 or newer, a running Apache Superset instance, and npm or Yarn.
# 1) Clone the MCP server repository
git clone <repository-url>
cd superset-mcp
# 2) Install dependencies
npm install
- Configure environment variables. Copy the example environment file and customize it for your Superset instance and MCP server port.
cp .env.example .env
# Superset Configuration
SUPERSET_URL=http://localhost:8088
SUPERSET_USERNAME=admin
SUPERSET_PASSWORD=admin
# MCP Server Configuration
MCP_PORT=3000
- Build and run the server. Build the TypeScript code, then start the server. For development with hot reload, you can use the dev script.
# Build TypeScript
npm run build
# Run the server
npm start
# Development with hot reload
npm run dev
- Verify the server is up by checking the health endpoint. You should see a successful status and a list of available MCP tools.
curl http://localhost:3000/health
Additional configuration and notes
Open WebUI integration is supported by configuring a Tool Connection that points to the MCP server. You will add the MCP server using the following details in the admin tools area.
Configuration for Open WebUI (example)
Name: Superset MCP
Type: MCP (Streamable HTTP)
URL: http://YOUR_SERVER_IP:3000/mcp
Key endpoints exposed by the MCP server include the health check, the primary MCP endpoint for JSON-RPC requests, and a streaming endpoint for keep-alive messages.
Environment variables you may configure in your environment file (described above) include the Superset connection details and the MCP port. The server will automatically login to Superset and refresh tokens as needed.
Troubleshooting
Authentication issues usually indicate incorrect Superset credentials in your configuration. The server will attempt token refresh automatically when a token expires.
If you encounter CORS errors, ensure the server is allowed to accept requests from your client origin. Network firewalls should not block the MCP port.
If charts fail to display data, prefer using auto-detection when creating charts to improve metric and dimension inference.
API and endpoints overview
The server exposes health checks at /health and a primary MCP endpoint at /mcp for JSON-RPC requests. A streaming variant of /mcp is available to keep the connection alive.
Available tools
list_dashboards
List all dashboards available in Superset
get_dashboard
Get details of a dashboard including its charts
create_dashboard
Create a new dashboard
add_chart_to_dashboard
Add a single chart to a dashboard
add_charts_to_dashboard
Add multiple charts to a dashboard in one call (recommended)
list_charts
List all charts available in Superset
get_chart
Get details of a chart configuration
get_chart_data
Fetch data for a chart (chart data query)
create_chart
Create a new chart with manual configuration
create_chart_auto
Create a chart with auto-detection of schema and metrics
list_datasets
List all datasets or tables accessible to Superset
get_dataset_schema
Get the column definitions for a dataset
list_databases
List all database connections available to Superset
execute_sql
Execute a SQL query against a database connected to Superset