Superset
About
Integrates with Apache Superset to enable data visualization, SQL query execution, dashboard management, and analytics workflows through authenticated API calls without leaving your conversational interface.
Details
- Author
- aptro
- Repository
- aptro/superset-mcp
- GitHub stars
- 23
- Downloads
- 836
- License
- MIT License
- Categories
- Productivity, Developer Tools, Design, AI, Search, Security, API, Frontend, Other
- Tags
- #integration
Jump to
- 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'"
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
SupersetCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
@highlight/mcp-server
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
To install Superset Integration for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @aptro/superset-mcp --client claude
1. 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
2. Clone This Repository
Clone this repository to your local machine.
3. 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
4. Install Dependencies
uv pip install .
5. Install MCP Config for Claude
To use with Claude Desktop app:
mcp install main.py
After setup, you can interact with your Superset instance via Claude using natural language requests. Here are some examples:
- superset_auth_check_token_validity - Check if the current access token is valid
- superset_auth_refresh_token - Refresh the access token
- superset_auth_authenticate_user - Authenticate with Superset
| 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 |
superset_auth_check_token_validity
Check if the current access token is valid.
superset_auth_refresh_token
Refresh the access token.
superset_auth_authenticate_user
Authenticate with Superset.
superset_dashboard_list
List all dashboards.
superset_dashboard_get_by_id
Get a specific dashboard.
superset_dashboard_create
Create a new dashboard.
superset_dashboard_update
Update an existing dashboard.
superset_dashboard_delete
Delete a dashboard.
superset_chart_list
List all charts.
superset_chart_get_by_id
Get a specific chart.
superset_chart_create
Create a new chart.
superset_chart_update
Update an existing chart.
superset_chart_delete
Delete a chart.
superset_database_list
List all databases.
superset_database_get_by_id
Get a specific database.
superset_database_create
Create a new database connection.
superset_database_get_tables
List tables in a database.
superset_database_schemas
Get schemas for a database.
superset_database_test_connection
Test a database connection.
superset_database_update
Update an existing database connection.
superset_database_delete
Delete a database connection.
superset_database_get_catalogs
Get catalogs for a database.
superset_database_get_connection
Get database connection information.
superset_database_get_function_names
Get function names supported by a database.
superset_database_get_related_objects
Get charts and dashboards associated with a database.
superset_database_validate_sql
Validate arbitrary SQL against a database.
superset_database_validate_parameters
Validate database connection parameters.
superset_dataset_list
List all datasets.
superset_dataset_get_by_id
Get a specific dataset.
superset_dataset_create
Create a new dataset.
superset_sqllab_execute_query
Execute a SQL query.
superset_sqllab_get_saved_queries
List saved SQL queries.
superset_sqllab_format_sql
Format a SQL query.
superset_sqllab_get_results
Get query results.
superset_sqllab_estimate_query_cost
Estimate query cost.
superset_sqllab_export_query_results
Export query results to CSV.
superset_sqllab_get_bootstrap_data
Get SQL Lab bootstrap data.
superset_query_list
List all queries.
superset_query_get_by_id
Get a specific query.
superset_query_stop
Stop a running query.
superset_saved_query_get_by_id
Get a specific saved query.
superset_saved_query_create
Create a new saved query.
superset_user_get_current
Get current user info.
superset_user_get_roles
Get user roles.
superset_activity_get_recent
Get recent activity data.
superset_menu_get
Get menu data.
superset_config_get_base_url
Get the base URL of the Superset instance.
superset_tag_list
List all tags.
superset_tag_create
Create a new tag.
superset_tag_get_by_id
Get a specific tag.
superset_tag_objects
Get objects associated with tags.
superset_tag_delete
Delete a tag.
superset_tag_object_add
Add a tag to an object.
superset_tag_object_remove
Remove a tag from an object.
superset_explore_form_data_create
Create form data for chart exploration.
superset_explore_form_data_get
Get form data for chart exploration.
superset_explore_permalink_create
Create a permalink for chart exploration.
superset_explore_permalink_get
Get a permalink for chart exploration.
superset_advanced_data_type_convert
Convert a value to an advanced data type.
superset_advanced_data_type_list
List available advanced data types.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"superset": {
"command": "npx",
"args": [
"-y",
"@highlight/mcp-server"
],
"env": {}
}
}
}
Macos
{
"command": "npx",
"args": [
"-y",
"@highlight/mcp-server"
],
"env": []
}
Windows
{
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@highlight/mcp-server"
],
"env": "$29:props:children:props:children:props:mcp:inferred_config:macos:env"
}
Linux
{
"command": "npx",
"args": "$29:props:children:props:children:props:mcp:inferred_config:macos:args",
"env": "$29:props:children:props:children:props:mcp:inferred_config:macos:env"
}
Superset MCP Integration
MCP server for interacting with Apache Superset, enabling AI agents to connect to and control a Superset instance programmatically.
Setup Instructions
Installing via Smithery
To install Superset Integration for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @aptro/superset-mcp --client claude
Manual Installation
1. 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
2. Clone This Repository
Clone this repository to your local machine.
3. 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
4. Install Dependencies
uv pip install .
5. 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 valid
- superset_auth_refresh_token - Refresh the access token
- superset_auth_authenticate_user - Authenticate with Superset
Dashboards
-superset_dashboard_list - List all dashboards
- superset_dashboard_get_by_id - Get a specific dashboard
- superset_dashboard_create - Create a new dashboard
- superset_dashboard_update - Update an existing dashboard
- superset_dashboard_delete - Delete a dashboard
Charts
-superset_chart_list - List all charts
- superset_chart_get_by_id - Get a specific chart
- superset_chart_create - Create a new chart
- superset_chart_update - Update an existing chart
- superset_chart_delete - Delete a chart
Databases
-superset_database_list - List all databases
- superset_database_get_by_id - Get a specific database
- superset_database_create - Create a new database connection
- superset_database_get_tables - List tables in a database
- superset_database_schemas - Get schemas for a database
- superset_database_test_connection - Test a database connection
- superset_database_update - Update an existing database connection
- superset_database_delete - Delete a database connection
- superset_database_get_catalogs - Get catalogs for a database
- superset_database_get_connection - Get database connection information
- superset_database_get_function_names - Get function names supported by a database
- superset_database_get_related_objects - Get charts and dashboards associated with a database
- superset_database_validate_sql - Validate arbitrary SQL against a database
- superset_database_validate_parameters - Validate database connection parameters
Datasets
-superset_dataset_list - List all datasets
- superset_dataset_get_by_id - Get a specific dataset
- superset_dataset_create - Create a new dataset
SQL Lab
-superset_sqllab_execute_query - Execute a SQL query
- superset_sqllab_get_saved_queries - List saved SQL queries
- superset_sqllab_format_sql - Format a SQL query
- superset_sqllab_get_results - Get query results
- superset_sqllab_estimate_query_cost - Estimate query cost
- superset_sqllab_export_query_results - Export query results to CSV
- superset_sqllab_get_bootstrap_data - Get SQL Lab bootstrap data
Queries
-superset_query_list - List all queries
- superset_query_get_by_id - Get a specific query
- superset_query_stop - Stop a running query
Saved Queries
-superset_saved_query_get_by_id - Get a specific saved query
- superset_saved_query_create - Create a new saved query
User Information
-superset_user_get_current - Get current user info
- superset_user_get_roles - Get user roles
Activity
-superset_activity_get_recent - Get recent activity data
System
-superset_menu_get - Get menu data
- superset_config_get_base_url - Get the base URL of the Superset instance
Tags
-superset_tag_list - List all tags
- superset_tag_create - Create a new tag
- superset_tag_get_by_id - Get a specific tag
- superset_tag_objects - Get objects associated with tags
- superset_tag_delete - Delete a tag
- superset_tag_object_add - Add a tag to an object
- superset_tag_object_remove - Remove a tag from an object
Exploration Tools
-superset_explore_form_data_create - Create form data for chart exploration
- superset_explore_form_data_get - Get form data for chart exploration
- superset_explore_permalink_create - Create a permalink for chart exploration
- superset_explore_permalink_get - Get a permalink for chart exploration
Advanced Data Types
-superset_advanced_data_type_convert - Convert a value to an advanced data type
- superset_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
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





