Superset MCP Integration
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.
aptro
README
Superset MCP Integration
MCP server for interacting with Apache Superset, enabling AI agents to connect to and control a Superset instance programmatically.
Setup Instructions
-
Set Up Superset Locally
Run this script to start Superset locally:
git clone --branch 4.1.1 --depth 1 https://github.com/apache/superset && \ cd superset && \ docker compose -f docker-compose-image-tag.yml up
Once Superset is running, you should be able to access it at http://localhost:8088 with default credentials:
- Username: admin
- Password: admin
-
Clone This Repository
Clone this repository to your local machine.
-
Configure Environment Variables
Create a
.env
file in the root directory with your Superset credentials:SUPERSET_BASE_URL=http://localhost:8088 # Change to your Superset URL SUPERSET_USERNAME=your_username SUPERSET_PASSWORD=your_password
-
Install Dependencies
uv pip install .
-
Install MCP Config for Claude
To use with Claude Desktop app:
mcp install main.py
Usage with Claude
After setup, you can interact with your Superset instance via Claude using natural language requests. Here are some examples:
Dashboard Management
- View dashboards: "Show me all my Superset dashboards"
- Get dashboard details: "Show me the details of dashboard with ID 5"
- Create dashboard: "Create a new dashboard titled 'Sales Overview'"
- Update dashboard: "Update dashboard 3 to have the title 'Updated Sales Report'"
- Delete dashboard: "Delete dashboard with ID 7"
Chart Management
- List all charts: "What charts do I have in my Superset instance?"
- View chart details: "Show me the details of chart with ID 10"
- Create chart: "Create a new bar chart using dataset 3"
- Update chart: "Update chart 5 to use a line visualization instead of bar"
- Delete chart: "Delete chart with ID 12"
Database and Dataset Operations
- List databases: "Show me all databases connected to Superset"
- List datasets: "What datasets are available in my Superset instance?"
- Get database tables: "What tables are available in database with ID 1?"
- Execute SQL: "Run this SQL query on database 1: SELECT * FROM users LIMIT 10"
- Create dataset: "Create a new dataset from table 'customers' in database 2"
- Update database: "Update the connection settings for database 3"
- Delete database: "Delete database connection with ID 4"
- Validate SQL: "Is this SQL valid for database 2: SELECT * FROM customers JOIN orders"
- Get database catalogs: "Show me the catalogs available in database 1"
- Get database functions: "What functions are available in database 2?"
- Check related objects: "What dashboards and charts use database 1?"
SQL Lab Features
- Execute queries: "Run this SQL query: SELECT COUNT(*) FROM orders"
- Format SQL: "Format this SQL query: SELECT id,name,age FROM users WHERE age>21"
- Estimate query cost: "Estimate the cost of this query: SELECT * FROM large_table"
- Get saved queries: "Show me all my saved SQL queries"
- Get query results: "Get the results of query with key 'abc123'"
User and System Information
- View user info: "Who am I logged in as?"
- Get user roles: "What roles do I have in Superset?"
- View recent activity: "Show me recent activity in my Superset instance"
- Get menu data: "What menu items do I have access to?"
- Get base URL: "What is the URL of the Superset instance I'm connected to?"
Tag Management
- List tags: "Show me all tags in my Superset instance"
- Create tag: "Create a new tag called 'Finance'"
- Delete tag: "Delete the tag with ID 5"
- Tag an object: "Add the tag 'Finance' to dashboard 3"
- Remove tag: "Remove the tag 'Finance' from chart 7"
Available MCP Tools
This plugin offers the following MCP tools that Claude can use:
Authentication
superset_auth_check_token_validity
- Check if the current access token is validsuperset_auth_refresh_token
- Refresh the access tokensuperset_auth_authenticate_user
- Authenticate with Superset
Dashboards
superset_dashboard_list
- List all dashboardssuperset_dashboard_get_by_id
- Get a specific dashboardsuperset_dashboard_create
- Create a new dashboardsuperset_dashboard_update
- Update an existing dashboardsuperset_dashboard_delete
- Delete a dashboard
Charts
superset_chart_list
- List all chartssuperset_chart_get_by_id
- Get a specific chartsuperset_chart_create
- Create a new chartsuperset_chart_update
- Update an existing chartsuperset_chart_delete
- Delete a chart
Databases
superset_database_list
- List all databasessuperset_database_get_by_id
- Get a specific databasesuperset_database_create
- Create a new database connectionsuperset_database_get_tables
- List tables in a databasesuperset_database_schemas
- Get schemas for a databasesuperset_database_test_connection
- Test a database connectionsuperset_database_update
- Update an existing database connectionsuperset_database_delete
- Delete a database connectionsuperset_database_get_catalogs
- Get catalogs for a databasesuperset_database_get_connection
- Get database connection informationsuperset_database_get_function_names
- Get function names supported by a databasesuperset_database_get_related_objects
- Get charts and dashboards associated with a databasesuperset_database_validate_sql
- Validate arbitrary SQL against a databasesuperset_database_validate_parameters
- Validate database connection parameters
Datasets
superset_dataset_list
- List all datasetssuperset_dataset_get_by_id
- Get a specific datasetsuperset_dataset_create
- Create a new dataset
SQL Lab
superset_sqllab_execute_query
- Execute a SQL querysuperset_sqllab_get_saved_queries
- List saved SQL queriessuperset_sqllab_format_sql
- Format a SQL querysuperset_sqllab_get_results
- Get query resultssuperset_sqllab_estimate_query_cost
- Estimate query costsuperset_sqllab_export_query_results
- Export query results to CSVsuperset_sqllab_get_bootstrap_data
- Get SQL Lab bootstrap data
Queries
superset_query_list
- List all queriessuperset_query_get_by_id
- Get a specific querysuperset_query_stop
- Stop a running query
Saved Queries
superset_saved_query_get_by_id
- Get a specific saved querysuperset_saved_query_create
- Create a new saved query
User Information
superset_user_get_current
- Get current user infosuperset_user_get_roles
- Get user roles
Activity
superset_activity_get_recent
- Get recent activity data
System
superset_menu_get
- Get menu datasuperset_config_get_base_url
- Get the base URL of the Superset instance
Tags
superset_tag_list
- List all tagssuperset_tag_create
- Create a new tagsuperset_tag_get_by_id
- Get a specific tagsuperset_tag_objects
- Get objects associated with tagssuperset_tag_delete
- Delete a tagsuperset_tag_object_add
- Add a tag to an objectsuperset_tag_object_remove
- Remove a tag from an object
Exploration Tools
superset_explore_form_data_create
- Create form data for chart explorationsuperset_explore_form_data_get
- Get form data for chart explorationsuperset_explore_permalink_create
- Create a permalink for chart explorationsuperset_explore_permalink_get
- Get a permalink for chart exploration
Advanced Data Types
superset_advanced_data_type_convert
- Convert a value to an advanced data typesuperset_advanced_data_type_list
- List available advanced data types
Environment Variables
Variable | Description | Default |
---|---|---|
SUPERSET_BASE_URL | URL of your Superset instance | http://localhost:8088 |
SUPERSET_USERNAME | Username for Superset | None |
SUPERSET_PASSWORD | Password for Superset | None |
Troubleshooting
- If you encounter authentication issues, verify your credentials in the
.env
file - Make sure Superset is running and accessible at the URL specified in your
.env
file - Check that you're using a compatible version of Superset (tested with version 4.1.1)
- Ensure the port used by the MCP server is not being used by another application
Security Notes
- Your Superset credentials are stored only in your local
.env
file - The access token is stored in
.superset_token
file in the project directory - All authentication happens directly between the MCP server and your Superset instance
- No credentials are transmitted to Claude or any third parties
- For production use, consider using more secure authentication methods
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT
Recommended Servers
Crypto Price & Market Analysis MCP Server
A Model Context Protocol (MCP) server that provides comprehensive cryptocurrency analysis using the CoinCap API. This server offers real-time price data, market analysis, and historical trends through an easy-to-use interface.
MCP PubMed Search
Server to search PubMed (PubMed is a free, online database that allows users to search for biomedical and life sciences literature). I have created on a day MCP came out but was on vacation, I saw someone post similar server in your DB, but figured to post mine.
dbt Semantic Layer MCP Server
A server that enables querying the dbt Semantic Layer through natural language conversations with Claude Desktop and other AI assistants, allowing users to discover metrics, create queries, analyze data, and visualize results.
mixpanel
Connect to your Mixpanel data. Query events, retention, and funnel data from Mixpanel analytics.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Nefino MCP Server
Provides large language models with access to news and information about renewable energy projects in Germany, allowing filtering by location, topic (solar, wind, hydrogen), and date range.
Vectorize
Vectorize MCP server for advanced retrieval, Private Deep Research, Anything-to-Markdown file extraction and text chunking.
Mathematica Documentation MCP server
A server that provides access to Mathematica documentation through FastMCP, enabling users to retrieve function documentation and list package symbols from Wolfram Mathematica.
kb-mcp-server
An MCP server aimed to be portable, local, easy and convenient to support semantic/graph based retrieval of txtai "all in one" embeddings database. Any txtai embeddings db in tar.gz form can be loaded
Research MCP Server
The server functions as an MCP server to interact with Notion for retrieving and creating survey data, integrating with the Claude Desktop Client for conducting and reviewing surveys.