loading…
Search for a command to run...
loading…
An MCP server for Apache Superset that enables AI models to manage dashboards, create charts with auto-detection, and execute SQL queries programmatically. It u
An 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.
MCP (Model Context Protocol) Server untuk Apache Superset yang memungkinkan integrasi chatbot dengan Superset untuk membuat dashboard, chart, dan mengeksekusi query SQL secara programatis.
git clone <repository-url>
cd superset-mcp
npm install
Salin file .env.example ke .env dan sesuaikan konfigurasinya:
cp .env.example .env
Isi konfigurasi di file .env:
# Superset Configuration
SUPERSET_URL=http://localhost:8088
SUPERSET_USERNAME=admin
SUPERSET_PASSWORD=admin
# MCP Server Configuration
MCP_PORT=3000
# Build TypeScript
npm run build
# Jalankan server
npm start
Atau untuk development dengan hot-reload:
npm run dev
Akses health check endpoint:
curl http://localhost:3000/health
Response yang diharapkan:
{
"status": "ok",
"server": "superset-mcp",
"version": "1.0.0",
"mode": "stateless",
"tools": ["list_dashboards", "get_dashboard", "create_dashboard", ...]
}
http://YOUR_SERVER_IP:3000/mcp| Tool | Deskripsi |
|---|---|
list_dashboards |
Mendapatkan semua dashboard yang tersedia |
get_dashboard |
Detail dashboard termasuk chart-chart di dalamnya |
create_dashboard |
Membuat dashboard baru |
add_chart_to_dashboard |
Menambahkan satu chart ke dashboard |
add_charts_to_dashboard |
Menambahkan multiple charts ke dashboard (recommended) |
| Tool | Deskripsi |
|---|---|
list_charts |
Mendapatkan semua chart yang tersedia |
get_chart |
Detail konfigurasi chart |
get_chart_data |
Fetch data dari chart |
create_chart |
Membuat chart baru (manual config) |
create_chart_auto |
Membuat chart dengan auto-detection schema |
| Tool | Deskripsi |
|---|---|
list_datasets |
Mendapatkan semua datasets/tables |
get_dataset_schema |
Mendapatkan definisi kolom dari dataset |
| Tool | Deskripsi |
|---|---|
list_databases |
Mendapatkan semua koneksi database |
execute_sql |
Eksekusi query SQL ke database |
"Buatkan bar chart untuk dataset sales_data yang menampilkan total revenue per bulan"
AI akan menggunakan create_chart_auto untuk:
"Buatkan dashboard Sales Overview dengan 3 chart: line chart revenue, pie chart by category, dan table top products"
AI akan:
create_dashboard - Membuat dashboard barucreate_chart_auto (3x) - Membuat setiap chartadd_charts_to_dashboard - Menambahkan semua chart sekaligus dengan layout optimalsuperset-mcp/
├── src/
│ ├── index.ts # Entry point
│ ├── server.ts # Express server & MCP tools
│ └── superset-client.ts # Superset API client
├── dist/ # Compiled JavaScript
├── .env # Environment variables
├── .env.example # Example environment
├── package.json
├── tsconfig.json
└── README.md
| Endpoint | Method | Deskripsi |
|---|---|---|
/health |
GET | Health check |
/mcp |
POST | MCP JSON-RPC requests |
/mcp |
GET | SSE streaming (keepalive) |
/mcp |
DELETE | Session cleanup |
| Variable | Default | Deskripsi |
|---|---|---|
SUPERSET_URL |
http://localhost:8088 |
URL Superset instance |
SUPERSET_USERNAME |
admin |
Username untuk login |
SUPERSET_PASSWORD |
admin |
Password untuk login |
MCP_PORT |
3000 |
Port untuk MCP server |
Pastikan credentials di .env sudah benar. Server akan otomatis refresh token jika expired.
Server sudah dikonfigurasi untuk menerima requests dari semua origin. Jika masih error, pastikan firewall tidak memblokir port.
Gunakan create_chart_auto daripada create_chart untuk auto-detection metrics dan dimensions.
MIT License
Contributions are welcome! Feel free to open issues atau pull requests.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"superset-mcp-server": {
"command": "npx",
"args": []
}
}
}