ClickHouse MCP Server
Официальный MCP-сервер ClickHouse: агент смотрит базы и таблицы и выполняет SQL, по умолчанию только на чтение
Установка
{"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).
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер подключает агента к кластеру ClickHouse и дает три инструмента: выполнить запрос, перечислить базы и перечислить таблицы с колонками и постраничной выдачей. Запросы идут в режиме только чтения, запись и тем более удаление включаются отдельными флагами. Через тот же инструмент можно выполнить DESCRIBE и EXPLAIN ESTIMATE, чтобы проверить схему результата и объем чтения до запуска тяжелого запроса. Дополнительно поддерживается встроенный движок chDB для запросов к файлам и URL без отдельного сервера.
Для кого. Для аналитиков и разработчиков, которые хранят данные в ClickHouse и хотят спрашивать их через агента.
Подходит, если
- Нужно быстро разобраться в структуре незнакомой базы ClickHouse
- Нужно, чтобы агент написал и проверил аналитический SQL на реальных данных
- Нужно оценить стоимость запроса до его запуска
Не подходит, если
- Нужен доступ к продовой базе без отдельного пользователя с урезанными правами
- Данные лежат не в ClickHouse
Пример запроса к агенту
Покажи таблицы в базе analytics и посчитай число событий по дням за последний месяцОграничения
Нужны адрес и учетные данные ClickHouse. Защита от DROP и DELETE работает на стороне MCP-сервера и не заменяет права пользователя в самой базе: для режима записи README советует завести отдельного пользователя с минимальными грантами. HTTP и SSE транспорт требуют настроенной аутентификации.
Как отключить. Удалите блок mcp-clickhouse из конфигурации MCP-клиента и перезапустите клиент.
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 |
Проверка безопасности
- Выполняет SQL на вашем кластере ClickHouse
- При включенных флагах может менять и удалять данные
Коротко о README
README перечисляет инструменты для ClickHouse и chDB, объясняет проверку запросов через DESCRIBE и EXPLAIN ESTIMATE и описывает эндпоинт /health для HTTP-режима. Большой раздел посвящен безопасности: статический токен или OAuth через FastMCP для сетевых транспортов, двухуровневое разрешение записи и удаления. Установка показана через uv в Claude Desktop и через pip с системным Python. Лицензия Apache-2.0.
Частые вопросы
Может ли агент случайно удалить таблицу?
По умолчанию нет: запросы идут в режиме только чтения. Для записи нужен CLICKHOUSE_ALLOW_WRITE_ACCESS, для DROP, TRUNCATE и DELETE еще и CLICKHOUSE_ALLOW_DROP.
Можно попробовать без своего сервера?
Да, README приводит конфигурацию для публичного SQL Playground ClickHouse с пользователем demo.
Похожие
166 скиллов для научных задач: биоинформатика, хемоинформатика, клинические данные, геоданные и доступ к 100+ базам
Открытый MCP-сервер Google для баз данных: готовые инструменты для Postgres, MySQL, BigQuery, Spanner и других, плюс свои инструменты в tools.yaml
Официальные скиллы Hugging Face: работа с Hub через CLI hf, датасеты, обучение моделей, Spaces, оценка и деплой
Экономный по токенам MCP-сервер для PostgreSQL, MySQL, MariaDB, SQL Server и SQLite с режимом только для чтения