dbt MCP Server

официальный

Официальный MCP-сервер для dbt (data build tool), обеспечивающий интеграцию с CLI dbt Core/Cloud, обнаружение метаданных проекта, информацию о моделях и возможности запросов к семантическому слою.

Документация

dbt MCP-сервер

OpenSSF Best Practices

Этот MCP-сервер (Model Context Protocol) предоставляет различные инструменты для взаимодействия с dbt. Вы можете использовать этот MCP-сервер, чтобы предоставить AI-агентам контекст вашего проекта в dbt Core, dbt Fusion и dbt Platform.

Подробнее читайте в нашей документации здесь. Этот пост в блоге содержит больше деталей о возможностях dbt MCP-сервера.

Экспериментальный MCP-бандл

С каждым релизом мы публикуем экспериментальный Model Context Protocol Bundle (dbt-mcp.mcpb), чтобы клиенты, поддерживающие MCPB, могли импортировать этот сервер без дополнительной настройки. Скачайте бандл из ассетов последнего релиза и следуйте документации mcpb CLI от Anthropic для установки или проверки.

Обратная связь

Если у вас есть комментарии или вопросы, создайте GitHub Issue или присоединяйтесь к нам в сообществе Slack в канале #tools-dbt-mcp.

Архитектура

Архитектура dbt MCP-сервера позволяет вашему агенту подключаться к различным инструментам.

architecture diagram of the dbt MCP server

Инструменты

SQL

Инструменты для выполнения и генерации SQL на инфраструктуре dbt Platform.

  • execute_sql: Выполняет SQL на инфраструктуре dbt Platform с поддержкой Semantic Layer.
  • text_to_sql: Генерирует SQL из естественного языка, используя контекст проекта.

Semantic Layer

Чтобы узнать больше о dbt Semantic Layer, нажмите здесь.

  • get_dimension_values: Получает уникальные значения для измерения; с возможностью ограничения конкретными метриками.
  • get_dimensions: Получает измерения для указанных метрик.
  • get_entities: Получает сущности для указанных метрик.
  • get_metrics_compiled_sql: Возвращает скомпилированный SQL для метрик без выполнения запроса.
  • list_metrics: Извлекает все определенные метрики.
  • list_saved_queries: Извлекает все сохраненные запросы.
  • query_metrics: Выполняет запросы метрик с возможностью фильтрации и группировки.

Discovery

Чтобы узнать больше о dbt Discovery API, нажмите здесь.

  • get_all_macros: Извлекает макросы; с возможностью фильтрации по пакету или возврата только имен пакетов.
  • get_all_models: Извлекает имена и описания всех моделей.
  • get_all_sources: Получает все источники со статусом актуальности; с возможностью фильтрации по имени источника.
  • get_exposure_details: Получает детали экспозиции, включая владельца, родителей и статус актуальности.
  • get_exposures: Получает все экспозиции (нисходящие дашборды, приложения или анализы).
  • get_lineage: Получает полный граф происхождения (предки и потомки) с фильтрацией по типу и глубине.
  • get_macro_details: Получает детали конкретного макроса.
  • get_mart_models: Извлекает все модели витрин данных.
  • get_model_children: Получает нисходящие зависимости модели.
  • get_model_details: Получает детали модели, включая скомпилированный SQL, столбцы и схему.
  • get_model_health: Получает сигналы здоровья: статус выполнения, результаты тестов и актуальность вышестоящих источников.
  • get_model_parents: Получает вышестоящие зависимости модели.
  • get_model_performance: Получает историю выполнений для модели; с возможностью включения результатов тестов.
  • get_related_models: Находит похожие модели с помощью семантического поиска.
  • get_seed_details: Получает детали конкретного seed.
  • get_semantic_model_details: Получает детали конкретной семантической модели.
  • get_snapshot_details: Получает детали конкретного snapshot.
  • get_source_details: Получает детали источника, включая столбцы и актуальность.
  • get_test_details: Получает детали конкретного теста.
  • search: [Alpha] Ищет ресурсы по всему проекту dbt (не общедоступно).

dbt CLI

Использование вашим клиентом команд dbt через инструментарий MCP может изменить ваши модели данных, источники и объекты хранилища. Действуйте, только если вы доверяете клиенту и понимаете потенциальное влияние.

  • build: Выполняет модели, тесты, snapshots и seeds в порядке DAG.
  • clone: Клонирует выбранные узлы из указанного состояния в целевые схемы.
  • compile: Генерирует исполняемый SQL из моделей/тестов/анализов; полезно для проверки логики Jinja.
  • docs: Генерирует документацию для проекта dbt.
  • get_lineage_dev: Извлекает происхождение из локального manifest.json с фильтрацией по типу и глубине.
  • get_node_details_dev: Извлекает детали узлов из локального manifest.json (модели, seeds, snapshots, источники).
  • list: Перечисляет ресурсы в проекте dbt по типу с поддержкой селекторов.
  • parse: Парсит и проверяет файлы проекта на корректность синтаксиса.
  • run: Выполняет модели для их материализации в базе данных.
  • show: Выполняет SQL в базе данных и возвращает результаты.
  • test: Запускает тесты для проверки целостности данных и моделей.

Admin API

Чтобы узнать больше о dbt Administrative API, нажмите здесь.

  • cancel_job_run: Отменяет запущенное задание.
  • get_job_details: Получает конфигурацию задания, включая триггеры, расписание и команды dbt.
  • get_job_run_details: Получает детали выполнения, включая статус, время, шаги и артефакты.
  • get_job_run_error: Получает детали ошибок и/или предупреждений для выполнения задания; с возможностью включения или отображения только предупреждений.
  • list_job_run_artifacts: Перечисляет доступные артефакты выполнения задания.
  • list_jobs: Перечисляет задания в аккаунте dbt Platform; с возможностью фильтрации по проекту или окружению.
  • list_jobs_runs: Перечисляет выполнения заданий; с возможностью фильтрации по заданию, статусу или полю сортировки.
  • list_projects: Перечисляет все проекты в аккаунте dbt Platform.
  • retry_job_run: Повторяет неудачное выполнение задания.
  • trigger_job_run: Запускает выполнение задания; с возможностью переопределения git-ветки, схемы или других настроек.

dbt Codegen

Эти инструменты помогают автоматизировать генерацию шаблонного кода для файлов проекта dbt.

  • generate_model_yaml: Генерирует YAML модели со столбцами; с возможностью наследования вышестоящих описаний.
  • generate_source: Генерирует YAML источника путем интроспекции схем базы данных; с возможностью включения столбцов.
  • generate_staging_model: Генерирует SQL промежуточной модели из исходной таблицы.

dbt LSP

Набор инструментов, использующих движок Fusion для продвинутой компиляции SQL и анализа происхождения на уровне столбцов.

  • fusion.compile_sql: Компилирует SQL в контексте проекта через dbt Platform.
  • fusion.get_column_lineage: Отслеживает происхождение на уровне столбцов через dbt Platform.
  • get_column_lineage: Отслеживает происхождение на уровне столбцов локально (требуется dbt-lsp через dbt Labs VSCE).

Документация по продукту

Инструменты для поиска и извлечения контента из официальной документации dbt на docs.getdbt.com.

  • get_product_doc_pages: Извлекает полное Markdown-содержимое одной или нескольких страниц docs.getdbt.com по пути или URL.
  • search_product_docs: Ищет на docs.getdbt.com страницы, соответствующие запросу; возвращает заголовки, URL и описания, ранжированные по релевантности. Используйте get_product_doc_pages для получения полного содержимого.

Метаданные MCP-сервера

Эти инструменты предоставляют информацию о самом MCP-сервере.

  • get_mcp_server_branch: Возвращает текущую git-ветку запущенного dbt MCP-сервера.
  • get_mcp_server_version: Возвращает текущую версию dbt MCP-сервера.

Примеры

Обычно вы подключаете dbt MCP-сервер к продукту-агенту, такому как Claude или Cursor. Однако, если вы заинтересованы в создании собственного агента, ознакомьтесь с директорией примеров, чтобы узнать, с чего начать.

Зависимости

Зависимости зафиксированы на конкретных версиях и не обновляются автоматически. Только обновления зависимостей, связанные с безопасностью, отправляются через автоматические pull request'ы.

Участие в разработке

Прочитайте CONTRIBUTING.md для инструкций о том, как принять участие!