Scherlok — MCP-сервер для Claude Code: установка
Scherlok профилирует таблицы, замечает аномалии в данных и может остановить CI при критической проблеме.
claude mcp add scherlok -e SCHERLOK_CONNECTION=<SCHERLOK_CONNECTION> -- uvx scherlokЧто делает Scherlok
Scherlok подключается к PostgreSQL, BigQuery, Snowflake, MySQL или DuckDB и собирает профиль таблиц: объёмы, типы колонок, NULL, распределения, свежесть и кардинальность. Профили хранятся локально в SQLite. После пяти корректных профилей сервер учитывает вариативность последних 30 профилей.
Модель работы строится на трёх командах: connect подключает базу, investigate изучает данные, watch ищет отклонения. Команда ci объединяет этот процесс для конвейера. Система обнаруживает падение или рост объёма, дрейф схемы, всплеск NULL, сдвиг распределения, проблемы со свежестью и рост числа уникальных значений.
Результат можно отправить в Slack, Discord, Teams или произвольный HTTP-адрес, а --exit-code --fail-on critical превращает критическую аномалию в ошибку CI. Для dbt нужен пакет scherlok[dbt]; сервер читает target/manifest.json и использует profiles.yml. Без переменной SCHERLOK_CONNECTION подключение через MCP не настроится.
Какие задачи решает
- профилировать таблицы базы данных
- найти падение объёма или всплеск строк
- обнаружить дрейф схемы и NULL
- проверить свежесть таблиц
- остановить CI при критической аномалии
Примеры запросов агенту
- Проверь базу через Scherlok и перечисли критические аномалии.
- Сравни текущие таблицы с изученными профилями и покажи проблемы со свежестью.
- Запусти проверку dbt-проекта
./my_dbt_projectпосле сборки моделей.
Как установить Scherlok
Командой платформы
claude mcp add scherlok -e SCHERLOK_CONNECTION=<SCHERLOK_CONNECTION> -- uvx scherlokВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scherlok <команда>
Командой платформы
codex mcp add scherlok --env SCHERLOK_CONNECTION=<SCHERLOK_CONNECTION> -- uvx scherlokВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scherlok <команда>
Файл настроек
{
"mcpServers": {
"scherlok": {
"command": "uvx",
"args": [
"scherlok"
],
"env": {
"SCHERLOK_CONNECTION": "<SCHERLOK_CONNECTION>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scherlok <команда>
Файл настроек
{
"servers": {
"scherlok": {
"type": "stdio",
"command": "uvx",
"args": [
"scherlok"
],
"env": {
"SCHERLOK_CONNECTION": "<SCHERLOK_CONNECTION>"
}
}
}
}Вместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scherlok <команда>
Командой платформы
gemini mcp add -e SCHERLOK_CONNECTION=<SCHERLOK_CONNECTION> scherlok uvx scherlokВместо <…> подставьте свои значения. uvx запускает команду с именем пакета; если в README она другая — uvx --from scherlok <команда>
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Scherlok
Как установить Scherlok в Claude Code?
Выполните claude mcp add scherlok -e SCHERLOK_CONNECTION=<SCHERLOK_CONNECTION> -- uvx scherlok.
Что делает Scherlok?
Он изучает профиль таблиц, затем выявляет изменения объёма, схемы, NULL, распределений, свежести и кардинальности. Результат можно использовать как проверку CI.
Какие базы данных поддерживает Scherlok?
В описании перечислены PostgreSQL, BigQuery, Snowflake, MySQL и DuckDB. Для dbt используется отдельная установка scherlok[dbt].