dbt-labs/dbt-mcp

MCP-сервер для взаимодействия с dbt.

MCP⭐ 609Pythonпоследний релиз: v2.3.1
Открыть на GitHub ↗

Что это за инструмент

dbt-mcp — это MCP-сервер от dbt Labs, который позволяет AI-агентам взаимодействовать с проектами dbt Core, Fusion и Platform через набор специализированных инструментов.

Зачем нужен

Инструмент предоставляет AI-агентам контекст и доступ к данным dbt-проекта, позволяя выполнять SQL-запросы, исследовать метрики через Semantic Layer и управлять CI/CD-пайплайнами. Это полезно для автоматизации аналитических задач, отладки моделей и генерации отчетов с помощью естественного языка.

Что можно реализовать

  • Генерация SQL-запросов из текстовых запросов пользователя с использованием контекста проекта (text_to_sql).
  • Исследование метрик и измерений через Semantic Layer (получение значений, скомпилированного SQL, списка метрик).
  • Анализ lineage (родословной) данных: поиск зависимостей моделей, источников и экспозиций.
  • Управление задачами dbt Platform: запуск, отмена, повторный запуск джобов и просмотр их логов через Admin API.
  • Автоматизация рутинных операций CLI: компиляция SQL, запуск тестов, генерация документации.

Ключевые возможности

  • Поддержка dbt Core, dbt Fusion и dbt Platform в едином интерфейсе.
  • Интеграция с Semantic Layer для работы с метриками и измерениями.
  • Возможность выполнения SQL на инфраструктуре dbt Platform с поддержкой Semantic Layer.
  • Доступ к Admin API для управления джобами и проектами в dbt Cloud.
  • Экспериментальный MCP Bundle (dbt-mcp.mcpb) для упрощенной установки в совместимых клиентах.

👤 Кому подойдёт: разработчики данных, аналитики, инженеры по данным, использующие AI-агентов для работы с dbt

Релизы

v2.3.1patch
🕐 9 дн назад · релиз на GitHub ↗

Исправлено определение префикса аккаунта из DBT_HOST для предотвращения ошибок DNS и исправлен код ошибки 500 при валидации jq-фильтров.

  • Fixed: Исправлено определение префикса аккаунта из DBT_HOST, когда API dbt Platform возвращает null в поле subdomain, что предотвращало ошибки DNS в инструментах открытия и семантического слоя для многозонал
  • Fixed: Исправлена ошибка: метод get_job_run_artifacts возвращал ошибку сервера 500 вместо ошибки клиента 400 при невалидной проверке jq-фильтра.
v2.3.0minor
🕐 12 дн назад · релиз на GitHub ↗

В dbt-mcp v2.3.0 добавлен инструмент get_job_run_artifacts с фильтрацией jq, исправлено определение ошибок в Fusion и улучшена безопасность путей.

  • Added: Восстановлен инструмент get_job_run_artifacts с поддержкой фильтрации jq для работы с большими артефактами.
  • Added: Добавлена фильтрация артефактов dbt docs v2 (index/, metadata/) в list_job_run_artifacts и защита от некорректных путей в get_job_run_artifact.
  • Fixed: Исправлено определение ошибок и предупреждений source freshness в Fusion-запусках, где статусы имеют заглавные буквы.
  • Fixed: Реализована санитизация параметра artifact_path в get_job_run_artifacts для принятия только относительных путей.
v2.2.1patch
🕐 17 дн назад · релиз на GitHub ↗

Исправлено зависание event loop при форматировании метрик запросов; добавлена оценка объема аргументов и ответов в телеметрии.

  • Fixed: Устранено блокирование event loop (задержки свыше 25 секунд) при форматировании результатов query_metrics.
  • Added: В события телеметрии добавлены оценки количества токенов и символов для аргументов вызовов инструментов и ответов.
v2.2.0minor
🕐 27 дн назад · релиз на GitHub ↗

В dbt-mcp v2.2.0 добавлен параметр dbt_version_override для запуска job на другой версии dbt без изменения окружения.

  • Added: В функцию trigger_job_run добавлен необязательный параметр dbt_version_override, позволяющий запускать job на другой версии dbt без изменения самой задачи или её окружения.
v2.1.2patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлены проверки в PR и подписи коммитов, а также устранены проблемы с правами доступа и ответами локального OAuth-хелпера.

  • Fixed: Исправлены проверки в pull request и настроено автоматическое подписание коммитов релиза.
  • Fixed: Устранены проблемы с правами доступа и структурой ответа в локальном OAuth-хелпере.
v2.1.1patch
🕐 1 мес назад · релиз на GitHub ↗

Обновлён процесс публикации в PyPI для поддержки метаданных версии 2.5.

  • Fixed: Обновлён процесс публикации в PyPI для поддержки метаданных версии 2.5.
v2.1.0minor
🕐 1 мес назад · релиз на GitHub ↗

В версии 2.1.0 добавлена возможность получения точного имени реляции, отрендеренного адаптером, из запросов деталей узла.

  • Added: Запросы деталей узла теперь возвращают точное имя реляции, отрендеренное адаптером.
v2.0.0-beta.1majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

В версии v2.0.0-beta.1 функция get_lineage теперь возвращает структурированный граф и поддерживает интерактивный UI, что является ломающим изменением.

  • Breaking: get_lineage теперь возвращает структурированный граф (root_id/nodes/edges) вместо списка узлов, а по умолчанию глубина поиска равна 1.
  • Added: Добавлена поддержка рендеринга интерактивного UI MCP-app для хостов, поддерживающих MCP.
  • Added: Введена переменная DISABLE_MCP_APPS для отключения функциональности ресурсов приложений.
v1.21.1patch
🕐 2 мес назад · релиз на GitHub ↗

Исправлена ошибка KeyError в get_dimension_values и устранена проблема установки через hatch-vcs.

  • Fixed: Исправлена необработанная ошибка KeyError в функции get_dimension_values при отсутствии запрашиваемого столбца в схеме Arrow
  • Fixed: Добавлен fallback-версия hatch-vcs для устранения сбоев установки mcpb в средах без истории Git