chrissmartin/apache-superset-mcp
If you are the rightful owner of apache-superset-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Apache Superset MCP Server is a versatile Model Context Protocol server that bridges Apache Superset with AI assistants and other MCP-compatible applications, enhancing data interaction and management.
get_dashboards
List all dashboards
get_charts
List all charts
get_datasets
List all datasets
get_databases
List all databases
create_chart
Create new chart
Apache Superset MCP Server
A generalized Model Context Protocol (MCP) server that connects Apache Superset to AI assistants and other MCP-compatible applications. Works with Claude Desktop, VS Code, Continue.dev, Cline, and any MCP client.
๐ Repository: https://github.com/chrissmartin/apache-superset-mcp
๐ Quick Start
One-Command Install (Recommended)
# Install from PyPI
pip install apache-superset-mcp
# Interactive setup wizard
apache-superset-mcp setup
# Start the server
apache-superset-mcp server
Developer Install
# 1. Clone and install dependencies
git clone https://github.com/chrissmartin/apache-superset-mcp.git
cd superset-mcp
uv sync
# 2. Setup authentication
python main.py --setup
# 3. Test the server
python main.py --test
# 4. Start MCP server
python main.py
๐ Features
- 15 MCP Tools for complete Superset management
- Multiple Client Support - Claude Desktop, VS Code, Continue.dev, Cline, and more
- Three Authentication Methods - Cookies, password, OAuth
- One-Command Installation -
pip install apache-superset-mcp
- Interactive Setup Wizard with auto-client detection
- Automated CI/CD Pipeline with semantic versioning
- Type-Safe Operations with Pydantic models
- Comprehensive Error Handling and validation
- Multiple Deployment Options - PyPI, Docker, standalone executables
- REST API Alternative for direct HTTP access
๐๏ธ Project Structure
superset-mcp/
โโโ main.py # Main entry point with CLI
โโโ src/
โ โโโ mcp_server.py # MCP protocol server
โ โโโ rest_server.py # REST API server (alternative)
โ โโโ superset_client.py # Superset API client
โโโ scripts/
โ โโโ extract_tokens.py # Authentication setup wizard
โ โโโ examples.py # Interactive examples
โ โโโ start_mcp_server.py # Advanced server startup
โ โโโ test_mcp_server.py # Test suite
โโโ config/
โ โโโ claude_desktop.json # Claude Desktop configuration
โ โโโ vscode_settings.json # VS Code MCP settings
โ โโโ continue_config.json # Continue.dev configuration
โ โโโ cline_config.json # Cline configuration
โ โโโ generic_mcp.json # Template for other clients
## ๐ค Contributing
We welcome contributions! This project uses modern Python tooling for code quality:
```bash
# Quick development setup
make dev-setup
# Code quality checks
make lint # Check code
make format # Fix formatting
make test # Run tests
make quick-check # All checks
See for detailed guidelines.
๐ Documentation
โโโ docs/
โ โโโ CLIENT_EXAMPLES.md # Client-specific examples
โ โโโ CONTRIBUTING.md # Development guidelines
โ โโโ STREAMLINED_SETUP.md # Advanced installation options
โโโ .env.example # Environment template
โโโ pyproject.toml # Dependencies
๐ง Installation
Option 1: PyPI Package (Recommended)
# One-command install
pip install apache-superset-mcp
# Verify installation
apache-superset-mcp version
Option 2: Docker
# Run with Docker
docker run -p 8000:8000 \
-e SUPERSET_HOST=https://your-superset.com \
-e SUPERSET_SESSION_COOKIE=your_cookie \
apache-superset-mcp:latest
Option 3: Developer Install
Prerequisites:
- Python 3.13+
- uv package manager
- Access to Apache Superset instance
git clone https://github.com/chrissmartin/apache-superset-mcp.git
cd superset-mcp
uv sync
Verify Installation:
python main.py --status
See for more installation options including Docker, auto-installers, and platform-specific packages.
๐ Authentication Setup
Quick Setup (Recommended)
PyPI Package
apache-superset-mcp setup
Developer Install
python main.py --setup
Follow the interactive wizard to extract authentication tokens from your browser.
Manual Setup
Create a .env
file with your Superset credentials:
# Required
SUPERSET_HOST=https://your-superset-instance.com
SUPERSET_AUTH_METHOD=cookies
# Cookie Authentication (Recommended)
SUPERSET_SESSION_COOKIE=.eJyNkVtz2jAQhf9Kx89JsGTrxhsNY5sEQsChNe1kPJI8sl0...
SUPERSET_CSRF_TOKEN=ImRlZGM3NDgxOTYxNjFhOTgyMDcxYjg2NDVmYTYxODk3OGI0N2YxOTgi...
# Alternative: Password Authentication
# SUPERSET_AUTH_METHOD=password
# SUPERSET_USERNAME=your_username
# SUPERSET_PASSWORD=your_password
# Alternative: OAuth Authentication
# SUPERSET_AUTH_METHOD=oauth
# SUPERSET_OAUTH_TOKEN=your_oauth_token
๐ฏ Client Setup
Claude Desktop
-
Copy configuration:
cp config/claude_desktop.json ~/Library/Application\ Support/Claude/claude_desktop_config.json
-
Update paths and credentials in the configuration file
-
Restart Claude Desktop
VS Code
-
Install MCP extension for VS Code
-
Add MCP server configuration to your VS Code settings. Choose one method:
Option A: Copy template to workspace
mkdir -p .vscode cp config/vscode_settings.json .vscode/settings.json
Option B: Add to user/workspace settings
Open VS Code settings (
Cmd/Ctrl + ,
), click "Open Settings (JSON)", and add:{ "mcp.servers": { "superset": { "command": "python", "args": ["main.py"], "cwd": "/path/to/superset-mcp", "env": { "PYTHONPATH": "/path/to/superset-mcp", "SUPERSET_HOST": "https://your-superset-instance.com", "SUPERSET_AUTH_METHOD": "cookies", "SUPERSET_SESSION_COOKIE": "your_session_cookie_here", "SUPERSET_CSRF_TOKEN": "your_csrf_token_here" } } } }
-
Update the configuration with your actual credentials:
- Replace
/path/to/superset-mcp
with the full path to this project - Replace
your-superset-instance.com
with your Superset URL - Replace authentication tokens with your actual values
Alternative authentication methods:
// Password authentication "env": { "SUPERSET_HOST": "https://your-superset-instance.com", "SUPERSET_AUTH_METHOD": "password", "SUPERSET_USERNAME": "your_username", "SUPERSET_PASSWORD": "your_password" } // OAuth authentication "env": { "SUPERSET_HOST": "https://your-superset-instance.com", "SUPERSET_AUTH_METHOD": "oauth", "SUPERSET_OAUTH_TOKEN": "your_oauth_token" }
- Replace
-
Reload VS Code window
Continue.dev
-
Copy configuration:
cp config/continue_config.json ~/.continue/config.json
-
Update paths and credentials
-
Restart Continue
Cline
-
Install Cline extension in VS Code
-
Configure MCP servers using
config/cline_config.json
-
Restart VS Code
Other MCP Clients
Use config/generic_mcp.json
as a template for other MCP-compatible applications.
๐ ๏ธ Available Tools
Tool | Description | Example Usage |
---|---|---|
get_dashboards | List all dashboards | "Show me all dashboards" |
get_charts | List all charts | "What charts do I have?" |
get_datasets | List all datasets | "Show available datasets" |
get_databases | List all databases | "What databases can I use?" |
get_dashboard_by_id | Get specific dashboard | "Show dashboard 12" |
get_chart_by_id | Get specific chart | "Details of chart 5" |
get_dataset_by_id | Get specific dataset | "Info about dataset 8" |
create_dataset | Create new dataset | "Create dataset from sales table" |
create_chart | Create new chart | "Make a bar chart of sales by region" |
create_dashboard | Create new dashboard | "Create a sales performance dashboard" |
delete_dataset | Delete dataset | "Remove test dataset 15" |
delete_chart | Delete chart | "Delete the old chart 23" |
delete_dashboard | Delete dashboard | "Remove dashboard 7" |
test_connection | Test Superset connection | "Is Superset working?" |
๐ฌ Usage Examples
Basic Operations
List Resources:
You: "Show me all my Superset dashboards"
AI: [Lists all dashboards with IDs, names, and status]
Create Charts:
You: "Create a line chart showing sales trends from dataset 5"
AI: [Creates chart with appropriate configuration]
Dashboard Management:
You: "Create a complete analytics dashboard for Q1 sales data"
AI: [Creates dataset, multiple charts, and organizes in dashboard]
Advanced Workflows
Data Exploration:
You: "What data sources are available? Create some exploratory visualizations."
AI: [Surveys databases/datasets, creates sample charts]
Resource Cleanup:
You: "Find and remove any test resources I created this week"
AI: [Identifies test resources, confirms before deletion]
See for detailed client-specific examples.
๐งช Testing
Run Test Suite
PyPI Package
apache-superset-mcp test
Developer Install
python main.py --test
This will:
- โ Check dependencies and configuration
- โ Test Superset connection
- โ Validate all MCP tools
- โ Run sample operations
- โ Test error handling
Interactive Examples
python scripts/examples.py
Provides:
- Full workflow demonstrations
- Interactive chart creator
- Resource listing and management
- Cleanup utilities
Manual Testing
Start the server and test with your AI client:
PyPI Package
apache-superset-mcp server
Developer Install
python main.py
Then in your AI client, try:
- "Show me all dashboards in Superset"
- "Create a test chart"
- "Test the Superset connection"
๐ Alternative: REST API
Start the REST API server instead of MCP:
PyPI Package
apache-superset-mcp --rest
Developer Install
python main.py --rest
- API docs:
http://localhost:8000/docs
- Interactive API:
http://localhost:8000/redoc
๐ Troubleshooting
Common Issues
Authentication Failed:
apache-superset-mcp setup # PyPI package
python main.py --setup # Developer install
Connection Timeout:
- Check
SUPERSET_HOST
URL - Verify network connectivity
- Confirm Superset is running
Import Errors:
uv sync # Reinstall dependencies
MCP Client Issues:
- Check file paths in configuration
- Verify server is running:
apache-superset-mcp test
orpython main.py --test
- Restart your MCP client
Debug Mode
export DEBUG=true
export LOG_LEVEL=debug
apache-superset-mcp server # PyPI package
python main.py # Developer install
Get Help
- Check status:
apache-superset-mcp status
orpython main.py --status
- Run tests:
apache-superset-mcp test
orpython main.py --test
- Check logs: Look for error messages in terminal
- Documentation: See
docs/
folder for detailed guides
๐ Documentation
- - Usage examples for different AI clients
- - Advanced installation options and automation
- - Development guidelines and setup
- - Automated release process with semantic versioning
- Configuration Templates - Ready-to-use configs in
config/
folder
Online Resources:
- ๐ Full Documentation
- ๐ Issue Tracker
- ๐ Releases
- ๐ฌ Discussions
- ๐ CI/CD Pipeline
๐๏ธ CLI Commands
PyPI Package Commands
apache-superset-mcp setup # Interactive setup wizard
apache-superset-mcp server # Start MCP server (default)
apache-superset-mcp test # Test Superset connection
apache-superset-mcp status # Show configuration status
apache-superset-mcp version # Show version info
apache-superset-mcp --help # Show all options
Developer Install Commands
python main.py # Start MCP server (default)
python main.py --rest # Start REST API server
python main.py --test # Run test suite
python main.py --setup # Run setup wizard
python main.py --status # Show status and configuration
python main.py --help # Show all options
๐ Security
- Store credentials in environment variables, not config files
- Use HTTPS for Superset connections
- Regularly rotate authentication tokens
- Limit MCP server access to trusted clients
- Monitor server logs for suspicious activity
- Automated security scanning in CI/CD pipeline
๐ค Contributing
We welcome contributions! Please see our for details.
Quick Contributing Steps:
- Fork the repository: https://github.com/chrissmartin/apache-superset-mcp/fork
- Clone your fork:
git clone https://github.com/your-username/apache-superset-mcp.git cd apache-superset-mcp
- Set up development environment:
make dev-setup
- Make your changes and test:
make quick-check apache-superset-mcp test
- Use conventional commits:
git commit -m "feat: add new MCP tool for dashboard filtering"
- Submit a pull request: https://github.com/chrissmartin/apache-superset-mcp/compare
Ways to Contribute:
- ๐ Report bugs: Issues
- ๐ก Suggest features: Feature Requests
- ๐ Improve documentation
- ๐งช Add tests and examples
- ๐ง Add support for new MCP clients
Release Process:
- Automated CI/CD with semantic versioning
- See for details
๐ License
This project is licensed under the MIT License - see the file for details.
๐ Features in Development
- Dashboard layout management
- Chart template system
- Bulk operations
- Advanced filtering
- Performance analytics
- Multi-instance support
- Enhanced error recovery
- Performance monitoring
- Advanced authentication methods
๐ก Use Cases
- Data Analysts: Create and manage dashboards through natural language
- Developers: Integrate Superset into development workflows
- DevOps: Automate dashboard creation and maintenance
- Business Users: Explore data without learning Superset UI
- Data Teams: Standardize dashboard creation processes
Get started in minutes: pip install apache-superset-mcp && apache-superset-mcp setup
โ Configure your client โ Start exploring your data with AI! ๐