Перейти к содержимому

MCP — Настройка

Включение MCP-эндпоинта на коллекторе.

Нужен коллектор GMONIT версии >= v4-6274.

Переменные окружения коллектора:

ПеременнаяОписаниеПример
MCP_ENABLEDВключить MCP-модульtrue
MCP_AUTH_TOKENBearer-токен для аутентификации MCP-клиентов. Любая непустая строкаmcp-7Hq3...
CLICKHOUSE_READ_USERПользователь ClickHouse, от имени которого MCP выполняет запросыgmonit_readonly
CLICKHOUSE_READ_KEYПароль этого пользователя<секрет>

При MCP_ENABLED=true CLICKHOUSE_READ_USER и CLICKHOUSE_READ_KEY становятся обязательными — без них коллектор не стартует. Кого выбирать в качестве этого пользователя — см. Read-only пользователь ClickHouse.

После рестарта коллектора эндпоинт доступен по адресу https://<адрес-коллектора>/mcp (Streamable HTTP).

Быстрая проверка доступности:

Окно терминала
curl -i -H "Authorization: Bearer <MCP_AUTH_TOKEN>" \
https://<адрес-коллектора>/mcp

Коды ответа: 200/405 — эндпоинт жив (MCP принимает POST), 401 — неверный токен.

MCP выполняет все запросы от имени пользователя ClickHouse, указанного в подключении. Чтобы AI-агент не мог изменить или удалить данные, выделите ему отдельную учётку с правом только на чтение.

Особенно важно при включённом режиме произвольного SQL — read-only пользователь там единственная реальная защита от разрушительных запросов агента.

По умолчанию агент работает только через структурированные инструменты (Apdex приложений, схема таблиц, состояние pipeline). Произвольный SQL включается отдельно — это компромисс между гибкостью и безопасностью.

ПеременнаяОписаниеПо умолчанию
MCP_RAW_SQL_ENABLEDРазрешить инструмент execute_query с произвольным SQLfalse

Если флаг не выставлен, инструмент в наборе MCP остаётся, но любой его вызов агенту возвращает сообщение о том, что произвольный SQL отключён — у агента не получится обойти ограничение, переформулировав запрос.

При включении:

  • Результат любого запроса режется на 200 строках
  • Агент может выполнить всё, что позволят права пользователя ClickHouse — поэтому включайте только в связке с read-only пользователем
  • Полезно для ad-hoc исследования данных, для production-окружений лучше держать выключенным

Подключение AI-агента к развёрнутому MCP-эндпоинту.

Для Claude Code (CLI):

Окно терминала
claude mcp add --transport http \
--header "Authorization: Bearer <MCP_AUTH_TOKEN>" \
gmonit https://<адрес-коллектора>/mcp

<MCP_AUTH_TOKEN> и адрес коллектора возьмите у администратора стенда.

Проверить подключение:

Окно терминала
claude mcp list

Несколько стендов можно держать одновременно — каждому своё имя:

Окно терминала
claude mcp add --transport http --header "Authorization: Bearer <TOKEN_DEV>" \
gmonit-dev https://<dev-collector>/mcp
claude mcp add --transport http --header "Authorization: Bearer <TOKEN_PROD>" \
gmonit-prod https://<prod-collector>/mcp

Удалить:

Окно терминала
claude mcp remove gmonit

Другие MCP-клиенты (Codex, IDE-плагины) подключаются так же — указывается транспорт HTTP, URL вида https://<адрес-коллектора>/mcp и заголовок Authorization: Bearer <MCP_AUTH_TOKEN>.