ClickHouse MCP Server
Официальный MCP-сервер ClickHouse: агент смотрит базы и таблицы и выполняет SQL, по умолчанию только на чтение
- 898 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Выполняет SQL на вашем кластере ClickHouse
- При включенных флагах может менять и удалять данные
Установка
- Работает в
Ручная установка
{"mcpServers": {"mcp-clickhouse": {"command": "uv", "args": ["run", "--with", "mcp-clickhouse", "--python", "3.12", "mcp-clickhouse"], "env": {"CLICKHOUSE_HOST": "<clickhouse-host>", "CLICKHOUSE_PORT": "<clickhouse-port>", "CLICKHOUSE_USER": "<clickhouse-user>", "CLICKHOUSE_PASSWORD": "<clickhouse-password>", "CLICKHOUSE_SECURE": "true"}}}}В поле command укажите полный путь к uv (which uv).
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Выполняет SQL на вашем кластере ClickHouse
- При включенных флагах может менять и удалять данные
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер подключает агента к кластеру ClickHouse и дает три инструмента: выполнить запрос, перечислить базы и перечислить таблицы с колонками и постраничной выдачей. Запросы идут в режиме только чтения, запись и тем более удаление включаются отдельными флагами. Через тот же инструмент можно выполнить DESCRIBE и EXPLAIN ESTIMATE, чтобы проверить схему результата и объем чтения до запуска тяжелого запроса. Дополнительно поддерживается встроенный движок chDB для запросов к файлам и URL без отдельного сервера.
Для кого. Для аналитиков и разработчиков, которые хранят данные в ClickHouse и хотят спрашивать их через агента.
Подходит, если
- Нужно быстро разобраться в структуре незнакомой базы ClickHouse
- Нужно, чтобы агент написал и проверил аналитический SQL на реальных данных
- Нужно оценить стоимость запроса до его запуска
Не подходит, если
- Нужен доступ к продовой базе без отдельного пользователя с урезанными правами
- Данные лежат не в ClickHouse
Пример запроса к агенту
Покажи таблицы в базе analytics и посчитай число событий по дням за последний месяцMCP
- Транспорт
- stdio
- Авторизация
- API-ключ
Переменные окружения
CLICKHOUSE_HOSTобязательная- Адрес сервера ClickHouse
CLICKHOUSE_PORT- Порт сервера
CLICKHOUSE_USERобязательная- Пользователь ClickHouse
CLICKHOUSE_PASSWORDобязательная, секрет- Пароль пользователя
CLICKHOUSE_ALLOW_WRITE_ACCESS- Разрешить INSERT, CREATE и ALTER
CLICKHOUSE_ALLOW_DROP- Разрешить DROP, TRUNCATE, DELETE и UPDATE вместе с флагом записи
CHDB_ENABLED- Включить встроенный движок chDB
Ограничения
Нужны адрес и учетные данные ClickHouse. Защита от DROP и DELETE работает на стороне MCP-сервера и не заменяет права пользователя в самой базе: для режима записи README советует завести отдельного пользователя с минимальными грантами. HTTP и SSE транспорт требуют настроенной аутентификации.
Как отключить. Удалите блок mcp-clickhouse из конфигурации MCP-клиента и перезапустите клиент.
Частые вопросы
Может ли агент случайно удалить таблицу?
По умолчанию нет: запросы идут в режиме только чтения. Для записи нужен CLICKHOUSE_ALLOW_WRITE_ACCESS, для DROP, TRUNCATE и DELETE еще и CLICKHOUSE_ALLOW_DROP.
Можно попробовать без своего сервера?
Да, README приводит конфигурацию для публичного SQL Playground ClickHouse с пользователем demo.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер на Go для запросов к ClickHouse: схемы, SQL, инструменты из представлений, OAuth и развертывание в Kubernetes
Официальные скиллы ClickHouse: правила схем и запросов, архитектурные решения, chDB для Python и работа с ClickHouse Cloud
Десктопное рабочее место для SQL с встроенным MCP-сервером: агент читает схему и выполняет запросы в том же клиенте, где работаете вы
MCP-сервер для доступа агента к MySQL: чтение схемы и запросы, по умолчанию только на чтение, запись включается флагами
MCP-сервер на Python для работы с MySQL: список таблиц, чтение данных, выполнение SQL и разбор схемы через контролируемый интерфейс
Экономный по токенам MCP-сервер для PostgreSQL, MySQL, MariaDB, SQL Server и SQLite с режимом только для чтения
Из блога
Коротко о README
README перечисляет инструменты для ClickHouse и chDB, объясняет проверку запросов через DESCRIBE и EXPLAIN ESTIMATE и описывает эндпоинт /health для HTTP-режима. Большой раздел посвящен безопасности: статический токен или OAuth через FastMCP для сетевых транспортов, двухуровневое разрешение записи и удаления. Установка показана через uv в Claude Desktop и через pip с системным Python. Лицензия Apache-2.0.