# MCP Superset

MCP-сервер для управления Apache Superset через языковые модели. Помогает настраивать дашборды, запускать SQL-запросы, раздавать права доступа и менять датасеты прямо в чате.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 60
- Автор: bintocher
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/bintocher/mcp-superset
- Обновлён: 2026-10-20
- HTML: https://affpapa.org/nevibecode/mcp/mcp-superset

## Что делает

Сервер подключает Claude Code или другой ассистент к REST API инстанса Apache Superset. В набор входит 137 инструментов для управления дашбордами и чартами. Агент умеет тестировать подключения, валидировать SQL и обновлять схемы таблиц. Для работы нужен Python 3.12+.

Внутри заложены встроенные проверки безопасности. Модуль SQL Lab блокирует команды DDL и DML, а опасные действия требуют подтверждения флагами. Ассистент умеет настраивать роли пользователей и правила Row Level Security (RLS). Права на источники данных синхронизируются автоматически при открытии доступа к дашборду.

Сервер работает через транспорты stdio, SSE и HTTP. Базовая схема использует логин с паролем и сама обновляет токены JWT. Если же вход в Superset настроен через SSO или OAuth, обычный пароль в API не сработает. В таком сценарии придётся вручную копировать сессионную куку из браузера и перезапускать сервер после её протухания.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `SUPERSET_BASE_URL`, `SUPERSET_USERNAME`, `SUPERSET_PASSWORD` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add mcp-superset -e SUPERSET_BASE_URL=<SUPERSET_BASE_URL> -e SUPERSET_USERNAME=<SUPERSET_USERNAME> -e SUPERSET_PASSWORD=<SUPERSET_PASSWORD> -- uvx mcp-superset
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-superset <команда>

### Codex

**Командой платформы**
```bash
codex mcp add mcp-superset --env SUPERSET_BASE_URL=<SUPERSET_BASE_URL> --env SUPERSET_USERNAME=<SUPERSET_USERNAME> --env SUPERSET_PASSWORD=<SUPERSET_PASSWORD> -- uvx mcp-superset
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-superset <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-superset": {
            "command": "uvx",
            "args": [
                "mcp-superset"
            ],
            "env": {
                "SUPERSET_BASE_URL": "<SUPERSET_BASE_URL>",
                "SUPERSET_USERNAME": "<SUPERSET_USERNAME>",
                "SUPERSET_PASSWORD": "<SUPERSET_PASSWORD>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-superset <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-superset": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "mcp-superset"
            ],
            "env": {
                "SUPERSET_BASE_URL": "<SUPERSET_BASE_URL>",
                "SUPERSET_USERNAME": "<SUPERSET_USERNAME>",
                "SUPERSET_PASSWORD": "<SUPERSET_PASSWORD>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-superset <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e SUPERSET_BASE_URL=<SUPERSET_BASE_URL> -e SUPERSET_USERNAME=<SUPERSET_USERNAME> -e SUPERSET_PASSWORD=<SUPERSET_PASSWORD> mcp-superset uvx mcp-superset
```
Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from mcp-superset <команда>

## Когда брать
- Проверить SQL-запрос и экспортировать результаты из SQL Lab в CSV
- Создать дашборд, настроить нативные фильтры и опубликовать изменения
- Настроить правила Row Level Security (RLS) для изоляции строк по ролям
- Синхронизировать права пользователей на датасеты при выдаче доступа к дашборду

## Примеры запросов агенту
- Покажи список доступных датасетов в Superset и обнови схему таблицы `orders`.
- Выполни запрос в SQL Lab к базе `analytics` и сохрани результат в CSV-файл.
- Добавь нативный фильтр по дате на дашборд с идентификатором 14.

## Похожие
- [World Monitor](https://affpapa.org/nevibecode/mcp/world-monitor.md) — MCP-сервер · ★ 89609
- [Scrapling MCP Server](https://affpapa.org/nevibecode/mcp/scrapling-mcp-server.md) — MCP-сервер · ★ 89899
- [MCP Toolbox for Databases](https://affpapa.org/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP-сервер · ★ 16730
- [PostHog MCP Server](https://affpapa.org/nevibecode/mcp/posthog-mcp-server.md) — MCP-сервер · ★ 40459
- [dbx](https://affpapa.org/nevibecode/mcp/dbx.md) — MCP-сервер · ★ 27844
- [Metabase](https://affpapa.org/nevibecode/mcp/metabase.md) — MCP-сервер · ★ 49863

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
