Altinity MCP Server
MCP-сервер на Go для запросов к ClickHouse: схемы, SQL, инструменты из представлений, OAuth и развертывание в Kubernetes
Установка
go install github.com/altinity/altinity-mcp/cmd/altinity-mcp@latestБинарник появится в $(go env GOPATH)/bin.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер подключает агента к ClickHouse по HTTP или TCP и дает инструменты для списка таблиц, описания схем и выполнения запросов, а также ресурсы со схемами и промпты для составления и оптимизации SQL. Из выбранных представлений и таблиц можно автоматически сделать отдельные MCP-инструменты. Работает через stdio, HTTP и SSE, HTTP-режим не требует привязки сессий и подходит для балансировщика. Для общего доступа есть OAuth через OIDC-провайдера, JWE-авторизация, TLS, Helm-чарт и горячая перезагрузка настроек.
Для кого. Для аналитиков и инженеров данных, у которых хранилище на ClickHouse, и платформенных команд, раздающих доступ агентам.
Подходит, если
- Нужно, чтобы агент сам изучал схему ClickHouse и писал аналитические запросы
- Нужен общий MCP-сервер для команды с авторизацией через корпоративный OIDC
- Хочется отдать агенту готовые отчеты как инструменты на основе представлений
Не подходит, если
- Данные не в ClickHouse
- Нельзя выделить пользователя только для чтения, а в настройках не включен read_only
Пример запроса к агенту
Посмотри схему таблицы events в ClickHouse и посчитай уникальных пользователей по дням за последнюю неделюОграничения
Нужен доступ к ClickHouse и учетная запись с подходящими правами. По умолчанию read_only выключен, поэтому агент может выполнять и изменяющие запросы, если это позволяют права пользователя. Готовых npm или PyPI пакетов нет: бинарник, Docker-образ, go install или Helm.
Как отключить. Удалите сервер из конфигурации MCP клиента и остановите процесс, контейнер или релиз Helm командой helm uninstall altinity-mcp.
MCP
- Транспорт
- stdio, http, sse
- Авторизация
- OAuth
| Переменные окружения | |
|---|---|
| CLICKHOUSE_HOST обязательная | Адрес ClickHouse |
| CLICKHOUSE_PORT | Порт ClickHouse |
| CLICKHOUSE_DATABASE | База по умолчанию |
| CLICKHOUSE_LIMIT | Ограничение числа строк в ответе |
| MCP_TRANSPORT | Транспорт: stdio, http или sse |
| MCP_OAUTH_SIGNING_SECRET секрет | Секрет подписи при включенном OAuth |
Проверка безопасности
- Выполняет произвольные SQL-запросы к базе, включая изменяющие, если не включен read_only
- Хранит пароль ClickHouse и секреты OAuth или JWE
Коротко о README
README показывает запуск по stdio, HTTP и SSE, установку через Docker, Helm, go install и сборку из исходников. Описаны файл конфигурации, переменные окружения, OAuth, JWE и TLS, а подробности вынесены в docs/. Отдельные разделы посвящены инструментам, ресурсам, промптам и подключению к Claude и OpenAI GPTs.
Частые вопросы
Можно ли запретить изменения данных?
Да, в конфигурации есть параметр clickhouse.read_only, а надежнее всего подключаться пользователем ClickHouse только с правами на чтение.
Что такое динамические инструменты?
Сервер создает MCP-инструменты из таблиц и представлений, подходящих под регулярное выражение из конфигурации, чтобы агент вызывал готовые запросы.
Похожие
166 скиллов для научных задач: биоинформатика, хемоинформатика, клинические данные, геоданные и доступ к 100+ базам
Открытый MCP-сервер Google для баз данных: готовые инструменты для Postgres, MySQL, BigQuery, Spanner и других, плюс свои инструменты в tools.yaml
Экономный по токенам MCP-сервер для PostgreSQL, MySQL, MariaDB, SQL Server и SQLite с режимом только для чтения
Официальный MCP-сервер MongoDB: запросы и агрегации к базам, управление индексами, кластерами Atlas и локальными развертываниями