Superset MCP Integration
Enables interaction with Apache Superset instances, providing tools for managing dashboards, charts, databases, datasets, running SQL queries, and handling tags programmatically.
Supports running Superset in Docker containers, making it easy to set up and configure a local Superset instance for integration.
Uses environment variables for configuration management, storing credentials and connection details securely for Superset integration.
Enables setup of the Superset environment through git cloning of the Apache Superset repository at specific versions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Superset MCP Integration show me all dashboards in my Superset instance"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 claudeManual Installation
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 upOnce 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
.envfile 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_passwordInstall Dependencies
uv pip install .Install MCP Config for Claude
To use with Claude Desktop app:
mcp install main.py
Related MCP server: Superset MCP Server
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 | |
SUPERSET_USERNAME | Username for Superset | None |
SUPERSET_PASSWORD | Password for Superset | None |
Troubleshooting
If you encounter authentication issues, verify your credentials in the
.envfileMake sure Superset is running and accessible at the URL specified in your
.envfileCheck 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
.envfileThe access token is stored in
.superset_tokenfile in the project directoryAll 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
Available Tools
60 toolssuperset_activity_get_recentB
Get recent activity data for the current user
Makes a request to the /api/v1/log/recent_activity/ endpoint to retrieve a history of actions performed by the current user.
Returns: A dictionary with recent user activities including viewed charts and dashboards
Inputs: no named parameters.
superset_advanced_data_type_convertC
Convert a value to an advanced data type
Makes a request to the /api/v1/advanced_data_type/convert endpoint to transform a value into the specified advanced data type format.
Args: type_name: Name of the advanced data type value: Value to convert
Returns: A dictionary with the converted value
Inputs: type_name (required), value (required).
superset_advanced_data_type_listB
Get list of available advanced data types
Makes a request to the /api/v1/advanced_data_type/types endpoint to retrieve all advanced data types supported by this Superset instance.
Returns: A dictionary with available advanced data types and their configurations
Inputs: no named parameters.
superset_auth_authenticate_userA
Authenticate with Superset and get access token
Makes a request to the /api/v1/security/login endpoint to authenticate and obtain an access token. If there's an existing token, will first try to check its validity. If invalid, will attempt to refresh token before falling back to re-authentication.
Args: username: Superset username (falls back to environment variable if not provided) password: Superset password (falls back to environment variable if not provided) refresh: Whether to refresh the token if invalid (defaults to True)
Returns: A dictionary with authentication status and access token or error information
Inputs: username, password, refresh.
superset_auth_check_token_validityA
Check if the current access token is still valid
Makes a request to the /api/v1/me/ endpoint to test if the current token is valid. Use this to verify authentication status before making other API calls.
Returns: A dictionary with token validity status and any error information
Inputs: no named parameters.
superset_auth_refresh_tokenA
Refresh the access token using the refresh endpoint
Makes a request to the /api/v1/security/refresh endpoint to get a new access token without requiring re-authentication with username/password.
Returns: A dictionary with the new access token or error information
Inputs: no named parameters.
superset_chart_createB
Create a new chart in Superset
Makes a request to the /api/v1/chart/ POST endpoint to create a new visualization.
Args: slice_name: Name/title of the chart datasource_id: ID of the dataset or SQL table datasource_type: Type of datasource ('table' for datasets, 'query' for SQL) viz_type: Visualization type (e.g., 'bar', 'line', 'pie', 'big_number', etc.) params: Visualization parameters including metrics, groupby, time_range, etc.
Returns: A dictionary with the created chart information including its ID
Inputs: slice_name (required), datasource_id (required), datasource_type (required), viz_type (required), +1 more.
superset_chart_deleteA
Delete a chart
Makes a request to the /api/v1/chart/{id} DELETE endpoint to remove a chart. This operation is permanent and cannot be undone.
Args: chart_id: ID of the chart to delete
Returns: A dictionary with deletion confirmation message
Inputs: chart_id (required).
superset_chart_get_by_idB
Get details for a specific chart
Makes a request to the /api/v1/chart/{id} endpoint to retrieve detailed information about a specific chart/slice.
Args: chart_id: ID of the chart to retrieve
Returns: A dictionary with complete chart information including visualization configuration
Inputs: chart_id (required).
superset_chart_listA
Get a list of charts from Superset
Makes a request to the /api/v1/chart/ endpoint to retrieve all charts the current user has access to view. Results are paginated.
Returns: A dictionary containing chart data including id, slice_name, viz_type, and datasource info
Inputs: no named parameters.
superset_chart_updateB
Update an existing chart
Makes a request to the /api/v1/chart/{id} PUT endpoint to update chart properties and visualization settings.
Args: chart_id: ID of the chart to update data: Data to update, can include slice_name, description, viz_type, params, etc.
Returns: A dictionary with the updated chart information
Inputs: chart_id (required), data (required).
superset_config_get_base_urlA
Get the base URL of the Superset instance
Returns the configured Superset base URL that this MCP server is connecting to. This can be useful for constructing full URLs to Superset resources or for displaying information about the connected instance.
This tool does not require authentication as it only returns configuration information.
Returns: A dictionary with the Superset base URL
Inputs: no named parameters.
superset_dashboard_createB
Create a new dashboard in Superset
Makes a request to the /api/v1/dashboard/ POST endpoint to create a new dashboard.
Args: dashboard_title: Title of the dashboard json_metadata: Optional JSON metadata for dashboard configuration, can include layout, color scheme, and filter configuration
Returns: A dictionary with the created dashboard information including its ID
Inputs: dashboard_title (required), json_metadata.
superset_dashboard_deleteA
Delete a dashboard
Makes a request to the /api/v1/dashboard/{id} DELETE endpoint to remove a dashboard. This operation is permanent and cannot be undone.
Args: dashboard_id: ID of the dashboard to delete
Returns: A dictionary with deletion confirmation message
Inputs: dashboard_id (required).
superset_dashboard_get_by_idA
Get details for a specific dashboard
Makes a request to the /api/v1/dashboard/{id} endpoint to retrieve detailed information about a specific dashboard.
Args: dashboard_id: ID of the dashboard to retrieve
Returns: A dictionary with complete dashboard information including components and layout
Inputs: dashboard_id (required).
superset_dashboard_listA
Get a list of dashboards from Superset
Makes a request to the /api/v1/dashboard/ endpoint to retrieve all dashboards the current user has access to view. Results are paginated.
Returns: A dictionary containing dashboard data including id, title, url, and metadata
Inputs: no named parameters.
superset_dashboard_updateC
Update an existing dashboard
Makes a request to the /api/v1/dashboard/{id} PUT endpoint to update dashboard properties.
Args: dashboard_id: ID of the dashboard to update data: Data to update, can include dashboard_title, slug, owners, position, and metadata
Returns: A dictionary with the updated dashboard information
Inputs: dashboard_id (required), data (required).
superset_database_createA
Create a new database connection in Superset
IMPORTANT: Don't call this tool, unless user have given connection details. This function will only create database connections with explicit user consent and input. No default values or assumptions will be made without user confirmation. All connection parameters, including sensitive credentials, must be explicitly provided by the user.
Makes a POST request to /api/v1/database/ to create a new database connection in Superset. The endpoint requires a valid SQLAlchemy URI and database configuration parameters. The engine parameter will be automatically determined from the SQLAlchemy URI prefix if not specified:
'postgresql://' -> engine='postgresql'
'mysql://' -> engine='mysql'
'mssql://' -> engine='mssql'
'oracle://' -> engine='oracle'
'sqlite://' -> engine='sqlite'
The SQLAlchemy URI must follow the format: dialect+driver://username:password@host:port/database If the URI is not provided, the function will prompt for individual connection parameters to construct it.
All required parameters must be provided and validated before creating the connection. The configuration_method parameter should typically be set to 'sqlalchemy_form'.
Args: engine: Database engine (e.g., 'postgresql', 'mysql', etc.) configuration_method: Method used for configuration (typically 'sqlalchemy_form') database_name: Name for the database connection sqlalchemy_uri: SQLAlchemy URI for the connection (e.g., 'postgresql://user:pass@host/db')
Returns: A dictionary with the created database connection information including its ID
Inputs: engine (required), configuration_method (required), database_name (required), sqlalchemy_uri (required).
superset_database_deleteA
Delete a database connection
Makes a request to the /api/v1/database/{id} DELETE endpoint to remove a database connection. This operation is permanent and cannot be undone. This will also remove associated datasets.
Args: database_id: ID of the database to delete
Returns: A dictionary with deletion confirmation message
Inputs: database_id (required).
superset_database_get_by_idA
Get details for a specific database
Makes a request to the /api/v1/database/{id} endpoint to retrieve detailed information about a specific database connection.
Args: database_id: ID of the database to retrieve
Returns: A dictionary with complete database configuration information
Inputs: database_id (required).
superset_database_get_catalogsC
Get all catalogs from a database
Makes a request to the /api/v1/database/{id}/catalogs/ endpoint to retrieve all catalogs available in the database.
Args: database_id: ID of the database
Returns: A dictionary with list of catalog names for databases that support catalogs
Inputs: database_id (required).
superset_database_get_connectionC
Get database connection information
Makes a request to the /api/v1/database/{id}/connection endpoint to retrieve connection details for a specific database.
Args: database_id: ID of the database
Returns: A dictionary with detailed connection information
Inputs: database_id (required).
superset_database_get_function_namesB
Get function names supported by a database
Makes a request to the /api/v1/database/{id}/function_names/ endpoint to retrieve all SQL functions supported by the database.
Args: database_id: ID of the database
Returns: A dictionary with list of supported function names
Inputs: database_id (required).
superset_database_get_tablesB
Get a list of tables for a given database
Makes a request to the /api/v1/database/{id}/tables/ endpoint to retrieve all tables available in the database.
Args: database_id: ID of the database
Returns: A dictionary with list of tables including schema and table name information
Inputs: database_id (required).
superset_database_listA
Get a list of databases from Superset
Makes a request to the /api/v1/database/ endpoint to retrieve all database connections the current user has access to. Results are paginated.
Returns: A dictionary containing database connection information including id, name, and configuration
Inputs: no named parameters.
superset_database_schemasB
Get schemas for a specific database
Makes a request to the /api/v1/database/{id}/schemas/ endpoint to retrieve all schemas available in the database.
Args: database_id: ID of the database
Returns: A dictionary with list of schema names
Inputs: database_id (required).
superset_database_test_connectionC
Test a database connection
Makes a request to the /api/v1/database/test_connection endpoint to verify if the provided connection details can successfully connect to the database.
Args: database_data: Database connection details including sqlalchemy_uri and other parameters
Returns: A dictionary with connection test results
Inputs: database_data (required).
superset_database_updateB
Update an existing database connection
Makes a request to the /api/v1/database/{id} PUT endpoint to update database connection properties.
Args: database_id: ID of the database to update data: Data to update, can include database_name, sqlalchemy_uri, password, and extra configs
Returns: A dictionary with the updated database information
Inputs: database_id (required), data (required).
superset_database_validate_parametersC
Validate database connection parameters
Makes a request to the /api/v1/database/validate_parameters/ endpoint to verify if the provided connection parameters are valid without creating a connection.
Args: parameters: Connection parameters to validate
Returns: A dictionary with validation results
Inputs: parameters (required).
superset_database_validate_sqlC
Validate arbitrary SQL against a database
Makes a request to the /api/v1/database/{id}/validate_sql/ endpoint to check if the provided SQL is valid for the specified database.
Args: database_id: ID of the database sql: SQL query to validate
Returns: A dictionary with validation results
Inputs: database_id (required), sql (required).
superset_dataset_createA
Create a new dataset in Superset
Makes a request to the /api/v1/dataset/ POST endpoint to create a new dataset from an existing database table or view.
Args: table_name: Name of the physical table in the database database_id: ID of the database where the table exists schema: Optional database schema name where the table is located owners: Optional list of user IDs who should own this dataset
Returns: A dictionary with the created dataset information including its ID
Inputs: table_name (required), database_id (required), schema, owners.
superset_dataset_get_by_idB
Get details for a specific dataset
Makes a request to the /api/v1/dataset/{id} endpoint to retrieve detailed information about a specific dataset including columns and metrics.
Args: dataset_id: ID of the dataset to retrieve
Returns: A dictionary with complete dataset information
Inputs: dataset_id (required).
superset_dataset_listA
Get a list of datasets from Superset
Makes a request to the /api/v1/dataset/ endpoint to retrieve all datasets the current user has access to view. Results are paginated.
Returns: A dictionary containing dataset information including id, table_name, and database
Inputs: no named parameters.
superset_explore_form_data_createC
Create form data for chart exploration
Makes a request to the /api/v1/explore/form_data POST endpoint to store chart configuration data temporarily.
Args: form_data: Chart configuration including datasource, metrics, and visualization settings
Returns: A dictionary with a key that can be used to retrieve the form data
Inputs: form_data (required).
superset_explore_form_data_getB
Get form data for chart exploration
Makes a request to the /api/v1/explore/form_data/{key} endpoint to retrieve previously stored chart configuration.
Args: key: Key of the form data to retrieve
Returns: A dictionary with the stored chart configuration
Inputs: key (required).
superset_explore_permalink_createC
Create a permalink for chart exploration
Makes a request to the /api/v1/explore/permalink POST endpoint to generate a shareable link to a specific chart exploration state.
Args: state: State data for the permalink including form_data
Returns: A dictionary with a key that can be used to access the permalink
Inputs: state (required).
superset_explore_permalink_getC
Get a permalink for chart exploration
Makes a request to the /api/v1/explore/permalink/{key} endpoint to retrieve a previously saved exploration state.
Args: key: Key of the permalink to retrieve
Returns: A dictionary with the stored exploration state
Inputs: key (required).
superset_query_get_by_idB
Get details for a specific query
Makes a request to the /api/v1/query/{id} endpoint to retrieve detailed information about a specific query execution.
Args: query_id: ID of the query to retrieve
Returns: A dictionary with complete query execution information
Inputs: query_id (required).
superset_query_listA
Get a list of queries from Superset
Makes a request to the /api/v1/query/ endpoint to retrieve query history. Results are paginated and include both finished and running queries.
Returns: A dictionary containing query information including status, duration, and SQL
Inputs: no named parameters.
superset_query_stopB
Stop a running query
Makes a request to the /api/v1/query/stop endpoint to terminate a query that is currently running.
Args: client_id: Client ID of the query to stop
Returns: A dictionary with confirmation of query termination
Inputs: client_id (required).
superset_saved_query_createA
Create a new saved query
Makes a request to the /api/v1/saved_query/ POST endpoint to save a SQL query for later reuse.
Args: query_data: Dictionary containing the query information including: - db_id: Database ID - schema: Schema name (optional) - sql: SQL query text - label: Display name for the saved query - description: Optional description of the query
Returns: A dictionary with the created saved query information including its ID
Inputs: query_data (required).
superset_saved_query_get_by_idB
Get details for a specific saved query
Makes a request to the /api/v1/saved_query/{id} endpoint to retrieve information about a saved SQL query.
Args: query_id: ID of the saved query to retrieve
Returns: A dictionary with the saved query details including SQL text and database
Inputs: query_id (required).
superset_sqllab_estimate_query_costA
Estimate the cost of executing a SQL query
Makes a request to the /api/v1/sqllab/estimate endpoint to get approximate cost information for a query before executing it.
Args: database_id: ID of the database sql: SQL query to estimate schema: Optional schema name
Returns: A dictionary with estimated query cost metrics
Inputs: database_id (required), sql (required), schema.
superset_sqllab_execute_queryB
Execute a SQL query in SQL Lab
Makes a request to the /api/v1/sqllab/execute/ endpoint to run a SQL query against the specified database.
Args: database_id: ID of the database to query sql: SQL query to execute
Returns: A dictionary with query results or execution status for async queries
Inputs: database_id (required), sql (required).
superset_sqllab_export_query_resultsC
Export the results of a SQL query to CSV
Makes a request to the /api/v1/sqllab/export/{client_id} endpoint to download query results in CSV format.
Args: client_id: Client ID of the query
Returns: A dictionary with the exported data or error information
Inputs: client_id (required).
superset_sqllab_format_sqlB
Format a SQL query for better readability
Makes a request to the /api/v1/sqllab/format_sql endpoint to apply standard formatting rules to the provided SQL query.
Args: sql: SQL query to format
Returns: A dictionary with the formatted SQL
Inputs: sql (required).
superset_sqllab_get_bootstrap_dataB
Get the bootstrap data for SQL Lab
Makes a request to the /api/v1/sqllab/ endpoint to retrieve configuration data needed for the SQL Lab interface.
Returns: A dictionary with SQL Lab configuration including allowed databases and settings
Inputs: no named parameters.
superset_sqllab_get_resultsA
Get results of a previously executed SQL query
Makes a request to the /api/v1/sqllab/results/ endpoint to retrieve results for an asynchronous query using its result key.
Args: key: Result key to retrieve
Returns: A dictionary with query results including column information and data rows
Inputs: key (required).
superset_sqllab_get_saved_queriesB
Get a list of saved queries from SQL Lab
Makes a request to the /api/v1/saved_query/ endpoint to retrieve all saved queries the current user has access to. Results are paginated.
Returns: A dictionary containing saved query information including id, label, and database
Inputs: no named parameters.
superset_tag_createB
Create a new tag in Superset
Makes a request to the /api/v1/tag/ POST endpoint to create a new tag that can be applied to objects like charts and dashboards.
Args: name: Name for the tag
Returns: A dictionary with the created tag information
Inputs: name (required).
superset_tag_deleteA
Delete a tag
Makes a request to the /api/v1/tag/{id} DELETE endpoint to remove a tag. This operation is permanent and cannot be undone.
Args: tag_id: ID of the tag to delete
Returns: A dictionary with deletion confirmation message
Inputs: tag_id (required).
superset_tag_get_by_idC
Get details for a specific tag
Makes a request to the /api/v1/tag/{id} endpoint to retrieve information about a specific tag.
Args: tag_id: ID of the tag to retrieve
Returns: A dictionary with tag details
Inputs: tag_id (required).
superset_tag_listB
Get a list of tags from Superset
Makes a request to the /api/v1/tag/ endpoint to retrieve all tags defined in the Superset instance.
Returns: A dictionary containing tag information including id and name
Inputs: no named parameters.
superset_tag_object_addB
Add a tag to an object
Makes a request to tag an object with a specific tag. This creates an association between the tag and the specified object (chart, dashboard, etc.)
Args: object_type: Type of the object ('chart', 'dashboard', etc.) object_id: ID of the object to tag tag_name: Name of the tag to apply
Returns: A dictionary with the tagging confirmation
Inputs: object_type (required), object_id (required), tag_name (required).
superset_tag_object_removeB
Remove a tag from an object
Makes a request to remove a tag association from a specific object.
Args: object_type: Type of the object ('chart', 'dashboard', etc.) object_id: ID of the object to untag tag_name: Name of the tag to remove
Returns: A dictionary with the untagging confirmation message
Inputs: object_type (required), object_id (required), tag_name (required).
superset_tag_objectsB
Get objects associated with tags
Makes a request to the /api/v1/tag/get_objects/ endpoint to retrieve all objects that have tags assigned to them.
Returns: A dictionary with tagged objects grouped by tag
Inputs: no named parameters.
superset_user_get_currentA
Get information about the currently authenticated user
Makes a request to the /api/v1/me/ endpoint to retrieve the user's profile information including permissions and preferences.
Returns: A dictionary with user profile data
Inputs: no named parameters.
superset_user_get_rolesB
Get roles for the current user
Makes a request to the /api/v1/me/roles/ endpoint to retrieve all roles assigned to the current user.
Returns: A dictionary with user role information
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 60 tools
Every tool has a clearly distinct purpose with no ambiguity. Tools are organized by resource type (chart, dashboard, database, etc.) and action (create, get, list, update, delete), making it easy to distinguish between them. For example, superset_chart_create and superset_chart_update are clearly different operations on the same resource.
All tool names follow a consistent verb_noun pattern with a superset_ prefix, using snake_case throughout. The naming convention is highly predictable: superset_resource_action (e.g., superset_dashboard_list, superset_database_create). There are no deviations in style or structure across all 60 tools.
With 60 tools, this is an extremely large set that feels overwhelming for an MCP server. While Superset is a complex platform, 60 tools will be difficult for agents to navigate and may cause confusion. This exceeds the typical well-scoped range of 3-15 tools and approaches the extreme mismatch threshold.
The tool surface provides comprehensive coverage of the Superset API domain with complete CRUD operations for all major resources (charts, dashboards, databases, datasets, tags, etc.). There are no obvious gaps - the tools cover authentication, data exploration, SQL execution, metadata management, and user operations, providing full lifecycle support.
Maintenance
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn open-source MCP server that connects to various data sources (SQL databases, CSV, Parquet files), allowing AI models to execute SQL queries and generate data visualizations for analytics and business intelligence.1276MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server for Apache Superset that enables AI models to manage dashboards, create charts with auto-detection, and execute SQL queries programmatically. It utilizes stateless HTTP transport to ensure compatibility with integration tools like Open WebUI.86 npmMIT
- FlicenseBqualityDmaintenanceAn MCP server that provides AI assistants with full access to Apache Superset instances, enabling interaction with dashboards, charts, datasets, databases, and SQL execution capabilities.34-
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to query databases, execute SQL, and manage Metabase resources like dashboards, cards, and collections through natural language.2218 PyPIMIT