MCP-сервер · Базы данных
ClickHouse MCP Server
MCP-сервер ClickHouse для аналитических запросов к большим таблицам, плюс встроенный движок chDB для анализа файлов. По умолчанию доступен только на чтение, запись и удаление включаются отдельными переменными.
Сверено 21 октября 2026 г.
Что умеет сервер
Это MCP-сервер ClickHouse, размещённый в организации ClickHouse и опубликованный в PyPI как mcp-clickhouse. Он даёт агенту три инструмента для ClickHouse: run_query для выполнения SQL, list_databases для списка баз и list_tables для списка таблиц выбранной базы с постраничной выдачей и фильтрами по маске имени. Запросам можно передавать значения отдельно от текста через необязательный объект params с плейсхолдерами вида {name:Type}, так что агенту не нужно подставлять значения в SQL самому.
Кроме ClickHouse, сервер поддерживает chDB, встроенный движок ClickHouse: инструмент run_chdb_select_query позволяет выполнять запросы к файлам, адресам и другим источникам без отдельной загрузки данных. Для chDB нужна установка с дополнением mcp-clickhouse[chdb]. Через run_query работают также DESCRIBE (запрос) и EXPLAIN ESTIMATE: первый показывает столбцы результата и ловит ошибки анализа заранее, второй оценивает, сколько частей, строк и меток прочитает запрос.
Когда использовать
Подключайте сервер, когда агент должен анализировать большие таблицы событий, логов или метрик в ClickHouse: изучить схему, написать аналитический запрос, проверить его стоимость до запуска и свести результат. Вариант с chDB удобен для разового анализа файлов без развёртывания отдельного сервера.
Ограничения и безопасность
По умолчанию запросы выполняются только на чтение, и это обеспечивает сам ClickHouse параметром readonly=1. Запись включается переменной CLICKHOUSE_ALLOW_WRITE_ACCESS=true. Опасные операции, такие как DROP, TRUNCATE, DELETE и UPDATE, требуют ещё и CLICKHOUSE_ALLOW_DROP=true. Авторы подчёркивают, что эта проверка работает на стороне MCP-сервера, является защитой от случайностей и не считается границей безопасности. Граница безопасности это права пользователя ClickHouse, поэтому заведите для агента отдельного пользователя с минимальными грантами. Даже в режиме чтения такой пользователь может отменять собственные запросы, в том числе запросы других соединений под тем же именем.
При запуске по HTTP или SSE аутентификация обязательна: статичный токен в CLICKHOUSE_MCP_AUTH_TOKEN, OAuth/OIDC через FastMCP либо явное отключение только для локальной отладки. Без одного из вариантов сервер не стартует. Значения параметров запроса остаются в аргументах инструмента и могут попасть в сообщения об ошибках ClickHouse и в его системные журналы, поэтому не передавайте через них секреты. Поддерживаются версии Python с 3.10 по 3.14, для локального запуска рекомендуется 3.12.
Установка
Claude Desktop
Откройте claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%/Claude/claude_desktop_config.json) и добавьте, подставив параметры своего сервиса 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_ROLE": "<clickhouse-role>",
"CLICKHOUSE_SECURE": "true",
"CLICKHOUSE_VERIFY": "true",
"CLICKHOUSE_CONNECT_TIMEOUT": "30"
}
}
}
}Замените uv в строке command на абсолютный путь к исполняемому файлу uv. На macOS его покажет which uv. Затем перезапустите Claude Desktop.
Демонстрационный сервер
Для проверки без своего сервера можно подключиться к публичному ClickHouse SQL Playground:
{
"mcpServers": {
"mcp-clickhouse": {
"command": "uv",
"args": [
"run",
"--with",
"mcp-clickhouse",
"--python",
"3.12",
"mcp-clickhouse"
],
"env": {
"CLICKHOUSE_HOST": "sql-clickhouse.clickhouse.com",
"CLICKHOUSE_PORT": "8443",
"CLICKHOUSE_USER": "demo",
"CLICKHOUSE_PASSWORD": "",
"CLICKHOUSE_SECURE": "true",
"CLICKHOUSE_VERIFY": "true",
"CLICKHOUSE_CONNECT_TIMEOUT": "30"
}
}
}
}chDB (встроенный движок)
{
"mcpServers": {
"mcp-clickhouse": {
"command": "uv",
"args": [
"run",
"--with",
"mcp-clickhouse[chdb]",
"--python",
"3.12",
"mcp-clickhouse"
],
"env": {
"CHDB_ENABLED": "true",
"CLICKHOUSE_ENABLED": "false",
"CHDB_DATA_PATH": "/path/to/chdb/data"
}
}
}
}Без uv
Установка пакета системным Python:
python3 -m pip install mcp-clickhouseДля поддержки chDB:
python3 -m pip install 'mcp-clickhouse[chdb]'Теперь в конфигурации клиента можно вызывать установленный скрипт:
{
"mcpServers": {
"mcp-clickhouse": {
"command": "mcp-clickhouse",
"env": {
"CLICKHOUSE_HOST": "<clickhouse-host>",
"CLICKHOUSE_PORT": "<clickhouse-port>",
"CLICKHOUSE_USER": "<clickhouse-user>",
"CLICKHOUSE_PASSWORD": "<clickhouse-password>",
"CLICKHOUSE_SECURE": "true",
"CLICKHOUSE_VERIFY": "true",
"CLICKHOUSE_CONNECT_TIMEOUT": "30"
}
}
}
}Права записи
По умолчанию сервер только читает. Для записи и опасных операций задайте в env:
"env": {
"CLICKHOUSE_ALLOW_WRITE_ACCESS": "true",
"CLICKHOUSE_ALLOW_DROP": "true"
}Совместимые клиенты
- Claude Desktop