Skip to main content
Glama
aptro

Superset MCP Integration

by aptro

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SUPERSET_BASE_URLNoURL of your Superset instancehttp://localhost:8088
SUPERSET_PASSWORDYesPassword for Superset
SUPERSET_USERNAMEYesUsername for Superset

Tools

Functions exposed to the LLM to take actions

NameDescription
superset_auth_check_token_validity

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

superset_auth_refresh_token

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

superset_auth_authenticate_user

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

superset_dashboard_list

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

superset_dashboard_get_by_id

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

superset_dashboard_create

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

superset_dashboard_update

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

superset_dashboard_delete

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

superset_chart_list

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

superset_chart_get_by_id

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

superset_chart_create

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

superset_chart_update

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

superset_chart_delete

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

superset_database_list

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

superset_database_get_by_id

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

superset_database_create

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

superset_database_get_tables

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

superset_database_schemas

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

superset_database_test_connection

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

superset_database_update

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

superset_database_delete

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

superset_database_get_catalogs

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

superset_database_get_connection

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

superset_database_get_function_names

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

superset_database_get_related_objects

Get charts and dashboards associated with a database

Makes a request to the /api/v1/database/{id}/related_objects/ endpoint to retrieve counts and references of charts and dashboards that depend on this database.

Args: database_id: ID of the database

Returns: A dictionary with counts and lists of related charts and dashboards

superset_database_validate_sql

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

superset_database_validate_parameters

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

superset_dataset_list

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

superset_dataset_get_by_id

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

superset_dataset_create

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

superset_sqllab_execute_query

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

superset_sqllab_get_saved_queries

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

superset_sqllab_format_sql

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

superset_sqllab_get_results

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

superset_sqllab_estimate_query_cost

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

superset_sqllab_export_query_results

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

superset_sqllab_get_bootstrap_data

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

superset_saved_query_get_by_id

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

superset_saved_query_create

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

superset_query_stop

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

superset_query_list

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

superset_query_get_by_id

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

superset_activity_get_recent

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

superset_user_get_current

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

superset_user_get_roles

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

superset_tag_list

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

superset_tag_create

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

superset_tag_get_by_id

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

superset_tag_objects

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

superset_tag_delete

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

superset_tag_object_add

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

superset_tag_object_remove

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

superset_explore_form_data_create

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

superset_explore_form_data_get

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

superset_explore_permalink_create

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

superset_explore_permalink_get

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

superset_menu_get

Get the Superset menu data

Makes a request to the /api/v1/menu/ endpoint to retrieve the navigation menu structure based on user permissions.

Returns: A dictionary with menu items and their configurations

superset_config_get_base_url

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

superset_advanced_data_type_convert

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

superset_advanced_data_type_list

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

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aptro/superset-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server