Superset MCP server

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.
Back to servers
Provider
aptro
Release date
Mar 16, 2025
Language
Python
Stats
26 stars

The Superset MCP Integration server allows AI agents to connect to and control Apache Superset instances programmatically through natural language, enabling automated dashboard management, chart creation, data exploration, and more.

Installation

Smithery Installation

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 running, access Superset at http://localhost:8088 with default credentials:

  • Username: admin
  • Password: admin

2. Clone the Repository

Clone the repository to your local machine.

3. Configure Environment Variables

Create a .env file in the root directory:

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

mcp install main.py

Usage with Claude

After setup, interact with your Superset instance via Claude using natural language. Here are examples of what you can do:

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 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"
  • Validate SQL: "Is this SQL valid for database 2: SELECT * FROM customers JOIN orders"

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"

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"

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"

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

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later