AIKraft Agents

dbt-labs/dbt-mcp

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

MCP⭐ 616Pythonпоследний релиз: v2.10.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.10.1patch
🕐 3 дн назад · релиз на GitHub ↗

Исправлена логика авторизации для списков задач и запусков; удалён неиспользуемый код документации.

  • Fixed: Разрешение доступа к задачам и запускам теперь зависит от владельцев и политик, а не от глобальных требований.
  • Deprecated: Удалены неиспользуемые вспомогательные функции полнотекстового поиска и конфигурация index_limits.
  • Инструменты Product-docs MCP продолжают искать в llms.txt и получать отдельные страницы.
v2.10.0minor
🕐 6 дн назад · релиз на GitHub ↗

Обновление certifi для безопасности, исправление прав окружений и улучшение гибкости фильтрации задач.

  • Added: project_id в list_jobs стал опциональным: при отсутствии проекта или среды возвращается общий список, а явный проект переопределяет фильтр среды.
  • Fixed: Разрешения на запуск, отмену и повторный запуск задач теперь корректно ограничиваются владельцем окружения, принимая writable-гранты.
  • Added: Секции Args в generic_register_tools, list_lsp_tools, get_column_lineage и LSPConnection.initialize приведены в соответствие с параметрами.
  • Fixed: Обновлен certifi до версии 2026.10.19 для исключения доверия к удаленным из Mozilla CA store корневым сертификатам emSign.
v2.9.0minor
🕐 10 дн назад · релиз на GitHub ↗

dbt-mcp v2.9.0: добавлено обнаружение dbt Mesh, поддержка Python 3.14 и исправления стабильности.

  • Added: Добавлен инструмент поиска public dbt Mesh моделей для кросс-проектных ссылок.
  • Added: Добавлена поддержка Python 3.14 в CI и тестах.
  • Fixed: Исправлено зависание процессов dbt при таймаутах и ошибках парсинга LIMIT.
  • Fixed: Исправлено некорректное приведение имён колонок к верхнему регистру.
  • Обновлены зависимости и улучшена асинхронная обработка запросов сервера.
v2.8.0majorbreaking
🕐 24 дн назад · релиз на GitHub ↗

dbt-mcp v2.8.0: новая архитектура контекста, единый реестр инструментов, исправление Flight SQL и новые зависимости.

  • Breaking: Введена единая система контекстных мапперов вместо позиционного внедрения; удалено глобальное перечисление jobs, теперь требуется указание проекта или среды.
  • Added: FastMCP автоматически генерирует схемы и валидаторы, отклоняя лишние параметры, а Hosts проверяют права владения для job/run ID.
  • Added: Переименован параметр AdminApiConfig.environment_id, заменив prod_environment_id, а list_jobs теперь включает staging-окружения.
  • Fixed: Ограничено время подготовки Flight SQL до 60 секунд, а при сбое соединения метрики собираются через GraphQL Semantic Layer.
  • Added: pydantic, pydantic-core, anyio и pyarrow объявлены прямыми зависимостями проекта.
v2.7.0minor
🕐 28 дн назад · релиз на GitHub ↗

dbt-mcp v2.7.0: добавлена пагинация для Admin, Discovery и Semantic Layer, улучшено управление памятью и исправлен импорт с pydantic 2.14.

  • Added: Инструменты Admin, Discovery и Semantic Layer теперь возвращают ограниченные страницы и метаданные для продолжения; вызывающие стороны должны следовать этим данным для получения дополнительных страниц
  • Added: Добавлена поддержка бюджетов ответов, внедренных хостом, наблюдений за допуском и размером потоковой передачи, а также ограничение состояния документации и выгрузка обработки артефактов.
  • Fixed: Исправлена ошибка ImportError при запуске с pydantic 2.14 путем удаления приватного импорта eval_type_backport из регистрации проксируемых инструментов.
  • Обновлена зависимость source-map-js с версии 1.2.1 до 1.2.2 в интерфейсе /ui.
v2.6.0minor
🕐 1 мес назад · релиз на GitHub ↗

dbt-mcp v2.6.0: улучшена аутентификация OAuth, исправлена валидация токенов и обновлены зависимости безопасности.

  • Added: Добавлена инструкция по повторной аутентификации при истечении OAuth-сессии в ошибках запросов.
  • Added: Относительные пути DBT_PROJECT_DIR и DBT_PROFILES_DIR теперь автоматически преобразуются в абсолютные при запуске.
  • Fixed: Исправлена валидация токенов dbt Platform OAuth: допущена погрешность до 10 секунд для корректной проверки iat.
  • Fixed: Обновлены библиотеки urllib3 (до 2.8.0) и PyJWT (до 2.15.0) для устранения уязвимостей безопасности.
  • Оптимизирован процесс интеграционного тестирования в CI: упрощена логика одобрения изменений в PR.
v2.3.1patch
🕐 1 мес назад · релиз на 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
🕐 1 мес назад · релиз на 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
🕐 2 мес назад · релиз на GitHub ↗

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

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

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

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

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

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

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

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

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

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

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

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