dbt-doctor MCP

dbt-doctor оценивает здоровье проекта dbt, профилирует модели, находит дрейф схемы и дописывает документацию в schema.yml.

  • 105 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Сервер читает таблицы хранилища данных и изменяет `schema.yml` проекта.
Все причины и проверки

astoriel/dbt-doctor

Установка

Ручная установка

{
  "mcpServers": {
    "dbt-doctor": {
      "command": "dbt-doctor",
      "args": ["--project-dir", "/absolute/path/to/your/dbt/project"]
    }
  }
}

Блок для `claude_desktop_config.json` из README. Сначала `pip install dbt-doctor` и `dbt compile`.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Сервер читает таблицы хранилища данных и изменяет `schema.yml` проекта.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

dbt-doctor — MCP-сервер, который дает агенту контекст о проекте dbt. Он читает `manifest.json`, смотрит в хранилище данных и объясняет, где не хватает тестов и описаний. Оценка проекта от 0 до 100 процентов учитывает документацию, тесты и именование, а рейтинг моделей показывает, какие покрыты хуже всего. Профилирование считает доли NULL, кардинальность, минимум и максимум, число повторов одним пакетным SQL-запросом на таблицу. Из статистики выводятся предложения тестов `not_null`, `unique`, `accepted_values`. Сравнение хранилища с манифестом находит добавленные, удаленные и изменившие тип столбцы. Запись в `schema.yml` через `ruamel.yaml` сохраняет комментарии и ручные настройки, дописывая только недостающее, с предпросмотром различий. Инструментов двенадцать: `audit_project`, `profile_model`, `detect_schema_drift`, `suggest_tests`, `update_model_yaml` и другие.

Для кого. Аналитическим инженерам на dbt, которым нужно быстро увидеть дыры в тестах и описаниях и закрыть их через агента.

Подходит, если

  • Перед релизом нужна оценка покрытия моделей тестами и описаниями.
  • Надо выяснить, чем отличаются столбцы в хранилище от описанных в манифесте.
  • Модель без документации хочется описать по реальным данным.
  • В проекте подозреваются модели-сироты и узлы с большим числом потомков.

Не подходит, если

  • Нужны запуски команд dbt, для этого есть официальный `dbt-mcp`.
  • Доступ агента к данным хранилища запрещен.
  • Нужна поддержка продакшен-нагрузки без оговорок.

Пример запроса к агенту

Оцени здоровье проекта dbt, покажи пять моделей с худшим покрытием тестами и предложи тесты для самой слабой, не записывая их в файлы.

MCP

Транспорт
stdio
Авторизация
не нужна

Ограничения

Автор называет проект активной альфой и ведет перечень ограничений в `KNOWN_LIMITATIONS.md` и `STATUS.md`, а снимок статуса в README датирован концом 2025 года. До работы нужно выполнить `dbt compile`, чтобы появился `target/manifest.json`. Запросы к хранилищу идут только на чтение внутри транзакции, но профилирование все равно читает реальные таблицы. Запись в `schema.yml` показывает различия до применения, однако файлы под Git лучше сохранить до пробы.

Как отключить. Удалите запись `dbt-doctor` из конфигурации MCP-клиента и при желании выполните `pip uninstall dbt-doctor`.

Частые вопросы

Как установить?

Выполните `pip install dbt-doctor`, затем добавьте сервер в конфигурацию клиента с `--project-dir` на путь проекта.

Что нужно сделать до запуска?

Выполнить `dbt compile`, чтобы появился `target/manifest.json`, который сервер парсит.

Безопасен ли `execute_query`?

Запросы выполняются в транзакции только на чтение, а имена таблиц и столбцов проверяются по белому списку.

Не затрет ли он мои комментарии в YAML?

Нет, запись через `ruamel.yaml` сохраняет комментарии, тесты и форматирование и добавляет только недостающее.

Чем отличается от dbt-mcp?

`dbt-mcp` запускает команды dbt, а dbt-doctor занят аудитом, профилированием, дрейфом схемы и документацией.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

dbt MCP

dbt-mcp

Официальный

Официальный сервер MCP от dbt Labs: Semantic Layer, метаданные проекта, запуск команд dbt и SQL к хранилищу из агента

MCP-серверРасширенный доступ621Звезды репозитория

Ragstar отвечает на вопросы по dbt-проекту в чате и Slack, а его MCP-сервер дает Claude поиск по моделям и их SQL

MCP-серверРасширенный доступ180Звезды репозитория

dbt Charts

dbt-charts

Официальный

Декларативный YAML поверх SQL для дашбордов: описываете, как показать данные, агенты пишут YAML, люди проверяют. Пакет dbt-charts и CLI dct, бета

CLIРасширенный доступ599Звезды репозитория

Плагин Dex: агент изучает базу, строит модели dbt и семантический слой и следит за дрейфом схем с контролем затрат

ПлагинРасширенный доступ119Звезды репозитория

dbt Agent Skills

dbt-agent-skills

Официальный

Официальные скиллы dbt Labs: агент понимает проекты dbt, выполняет рабочие процессы и помогает с миграцией

СкиллРасширенный доступ762Звезды репозитория
Официальный

Агент запрашивает метрики, логи и трассы из GreptimeDB на SQL, TQL и RANGE, с запретом записи и маскировкой чувствительных данных

MCP-серверРасширенный доступ29Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
dbt-doctor (эта карточка)нетне нужна105
dbt MCPдаAPI-ключ621запускает команды dbt; dbt-doctor занят аудитом, профилированием и записью документации
dbt Agent Skillsда762набор скиллов для работы с dbt; dbt-doctor добавляет MCP-инструменты анализа проекта

Коротко о README

Сервер сводит аудит проекта, профилирование данных, дрейф схемы и безопасную запись документации в один набор инструментов.

Бейдж для README

Сообщить о проблеме