Skip to main content

Model Control Protocol (MCP) server for Apache Superset integration with AI assistants

Project description

Superset MCP Server

A Model Control Protocol (MCP) server for Apache Superset integration with AI assistants. This server enables AI assistants to interact with and control a Superset instance programmatically.

Features

  • Automatic Authentication: Handles Superset authentication with token management and auto-refresh
  • Comprehensive API Coverage: Supports dashboards, charts, databases, datasets, and SQL Lab operations
  • Error Handling: Robust error handling with automatic retry mechanisms
  • Token Persistence: Stores and reuses authentication tokens across sessions
  • Type Safety: Full type annotations with Pydantic models for request/response validation

Project Structure

superset-mcp-py/
├── main.py                 # Main MCP server entry point with FastMCP
├── utils.py               # Authentication, token management, and API utilities
├── pyproject.toml         # Project configuration and dependencies
├── superset.spec.json     # Superset OpenAPI specification
├── rebuild.ps1           # PowerShell build script
├── uv.lock               # UV package manager lock file
└── tools/                # MCP tools organized by category
    ├── __init__.py       # Tools package initialization
    ├── chart_tools.py    # Chart/slice operations
    ├── dashboard_tools.py # Dashboard management
    ├── database_tools.py # Database connection tools
    ├── dataset_tools.py  # Dataset/table operations
    └── sqllab_tools.py   # SQL Lab query execution

Available Tools

Dashboard Tools

  • superset_dashboard_list: Get a list of dashboards with filtering, sorting, and pagination support
  • superset_dashboard_get_by_id: Get detailed information for a specific dashboard including metadata and position
  • superset_dashboard_update: Update existing dashboard properties, metadata, and layout

Chart Tools

  • superset_chart_list: Get a list of charts/slices with comprehensive filtering and sorting options
  • superset_chart_get_by_id: Get detailed chart information including visualization parameters
  • superset_chart_update: Update chart properties, visualization settings, and parameters
  • superset_chart_delete: Delete a chart (permanent operation with confirmation)

Database Tools

  • superset_database_list: Get a list of all database connections with connection details
  • superset_database_get_by_id: Get detailed database connection information and capabilities
  • superset_database_validate_sql: Validate SQL syntax against a specific database engine

Dataset Tools

  • superset_dataset_list: Get a list of datasets with filtering, sorting, and pagination
  • superset_dataset_get_by_id: Get detailed dataset information including columns, metrics, and configuration
  • superset_dataset_create: Create a new dataset from an existing database table
  • superset_dataset_update: Update dataset properties, columns, and configuration

SQL Lab Tools

  • superset_sqllab_execute_query: Execute SQL queries against databases through SQL Lab with result limits

Dependencies

  • httpx (>=0.28.0): Modern HTTP client for Superset API communication
  • mcp[cli] (>=1.4.0): Model Control Protocol framework with CLI support
  • uvicorn (>=0.34.0): ASGI server for serving the MCP server
  • python-dotenv (>=1.0.0): Environment variable management
  • pydantic (>=2.11.7): Data validation and settings management with type safety
  • prison (>=0.2.1): Data serialization and validation utilities

Configuration

Set the following environment variables:

  • SUPERSET_BASE_URL: Base URL of your Superset instance (default: http://localhost:8088)
  • SUPERSET_USERNAME: Username for authentication (default: admin)
  • SUPERSET_PASSWORD: Password for authentication (default: admin)
  • SUPERSET_AUTH_PROVIDER: Authentication provider (default: db)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

superset_mcp-0.5.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

superset_mcp-0.5.0-py3-none-any.whl (19.2 kB view details)

Uploaded Python 3

File details

Details for the file superset_mcp-0.5.0.tar.gz.

File metadata

  • Download URL: superset_mcp-0.5.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.8

File hashes

Hashes for superset_mcp-0.5.0.tar.gz
Algorithm Hash digest
SHA256 e435264677fd45b77ade3563dca99ac198de51b35638b896a4f1f19e42ec8d39
MD5 13ea761064bbc540617dd5138cbaee16
BLAKE2b-256 ea83706a5e2b87435525a3a6886e5725f692ef4f8b3baf47f7a270ea64de1ae0

See more details on using hashes here.

File details

Details for the file superset_mcp-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for superset_mcp-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4cb8c040bb6b36e2c05cb419c518eddea9d746fbbdc6b209a572906b0985fe3b
MD5 ccd7ea9bf7c7174ccb9ce8b69d7a1b86
BLAKE2b-256 b4a62bb2d3c2e20942940649c9219d79357dba14ec553afe56f51b75e1ccd003

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page