dbt-mcp

Official
by dbt-labs
Integrations
  • Provides tools to interact with dbt, including executing dbt CLI commands (build, compile, run, test), accessing Semantic Layer for metric querying, and using Discovery API to explore models and their relationships in a dbt project.

dbt MCP-сервер

Этот сервер MCP (Model Context Protocol) предоставляет инструменты для взаимодействия с dbt. Прочтите этот блог, чтобы узнать больше.

Архитектура

Настраивать

  1. Клонируйте репозиторий:
git clone https://github.com/dbt-labs/dbt-mcp.git cd dbt-mcp
  1. Установить УФ
  2. Установить задачу
  3. Запустить task install
  4. Настройте переменные среды:
cp .env.example .env

Затем отредактируйте .env , указав необходимые вам переменные среды (см. раздел Configuration в файле README.md ).

Конфигурация

Сервер MCP имеет следующую конфигурацию:

Группы инструментов

ИмяПо умолчаниюОписание
DISABLE_DBT_CLIfalseУстановите значение true , чтобы отключить инструменты MCP dbt Core и dbt Cloud CLI.
DISABLE_SEMANTIC_LAYERfalseУстановите значение true , чтобы отключить объекты MCP семантического слоя dbt.
DISABLE_DISCOVERYfalseУстановите значение true , чтобы отключить объекты MCP API dbt Discovery.
DISABLE_REMOTEtrueУстановите значение false , чтобы включить удаленные объекты MCP.

Конфигурация для обнаружения и семантического уровня

ИмяПо умолчаниюОписание
DBT_HOSTcloud.getdbt.comИмя хоста вашего экземпляра dbt Cloud. Это будет выглядеть как Access URL найденный здесь . Если вы используете Multi-cell, не включайте здесь ACCOUNT_PREFIX
MULTICELL_ACCOUNT_PREFIX-Если вы используете Multi-cell, установите это в ваш ACCOUNT_PREFIX . Если вы не используете Multi-cell, не устанавливайте эту переменную окружения. Вы можете узнать больше здесь
DBT_TOKEN-Ваш личный токен доступа или сервисный токен. Примечание Сервисный токен требуется при использовании семантического слоя
DBT_PROD_ENV_ID-Ваш идентификатор производственной среды dbt Cloud

Конфигурация для удаленных инструментов

ИмяОписание
DBT_DEV_ENV_IDВаш идентификатор среды разработки dbt Cloud
DBT_USER_IDВаш идентификатор пользователя dbt Cloud

Конфигурация для dbt CLI

ИмяОписание
DBT_PROJECT_DIRПуть к локальному размещению репозитория вашего проекта dbt. Это должно выглядеть примерно так: /Users/firstnamelastname/reponame
DBT_PATHПуть к исполняемому файлу dbt Core или dbt Cloud CLI. Вы можете найти исполняемый файл dbt, запустив which dbt

Использование с клиентами MCP

После завершения установки вы сможете использовать свой сервер с клиентом MCP.

Эта конфигурация будет добавлена в соответствующий файл конфигурации клиента. Обязательно замените разделы внутри <> :

{ "mcpServers": { "dbt-mcp": { "command": "<path-to-mcp-executable>", "args": [ "run", "<path-to-this-directory>/src/dbt_mcp/main.py" ] } } }

<path-to-mcp-executable> зависит от вашей ОС:

  • Linux и Mac: <path-to-this-directory>/.venv/bin/mcp
  • ПК: <path-to-this-directory>/.venv/Scripts/mcp

Клод Десктоп

Следуйте этим инструкциям, чтобы создать файл claude_desktop_config.json и подключиться.

На Mac вы можете найти журналы Claude Desktop в ~/Library/Logs/Claude .

Курсор

  1. Откройте меню Курсор и выберите Настройки → Настройки курсора → MCP.
  2. Нажмите «Добавить новый глобальный сервер MCP».
  3. Добавьте конфигурацию, указанную выше, в предоставленный файл mcp.json
  4. Убедитесь, что ваше соединение активно на вкладке MCP.

Документация по Cursor MCP здесь для справки

Код VS

  1. Откройте меню «Настройки» (Command + Comma) и выберите нужную вкладку в верхней части страницы для вашего варианта использования.
    • Workspace — настраивает сервер в контексте вашего рабочего пространства.
    • User - настраивает сервер в контексте вашего пользователя.
    • Примечание для пользователей WSL : если вы используете VS Code с WSL, вам необходимо настроить параметры, специфичные для WSL. Выполните команду Preferences: Open Remote Settings из палитры команд (F1) или выберите вкладку Remote в редакторе настроек. Настройки локального пользователя повторно используются в WSL, но могут быть переопределены настройками, специфичными для WSL. Настройка серверов MCP в настройках локального пользователя не будет работать должным образом в среде WSL.
  2. Выберите Функции → Чат
  3. Убедитесь, что «Mcp» Enabled

  1. Нажмите «Изменить в settings.json» в разделе «Mcp > Discovery».
  2. Добавьте конфигурацию вашего сервера ( dbt ) в предоставленный файл settings.json в качестве одного из серверов:
{ "mcp": { "inputs": [], "servers": { "dbt": { "command": "<path-to-mcp-executable>", "args": ["run", "<path-to-this-directory>/src/dbt_mcp/main.py"] } } } }

<path-to-mcp-executable> зависит от вашей ОС:

  • Linux и Mac: <path-to-this-directory>/.venv/bin/mcp
  • ПК: <path-to-this-directory>/.venv/Scripts/mcp
  1. Вы можете запускать, останавливать и настраивать свои серверы MCP следующими способами:
  • Запуск команды MCP: List Servers из палитры команд (Control + Command + P) и выбор сервера.
  • Использование ключевых слов, встроенных в файл settings.json

Документация VS Code MCP здесь для справки

Инструменты

dbt CLI

  • build — выполняет модели, тесты, снимки и начальные значения в порядке зависимости.
  • compile — генерирует исполняемый SQL-код из моделей, тестов и анализов без их запуска
  • docs — создает документацию для проекта dbt
  • ls (список) — выводит список ресурсов в проекте dbt, таких как модели и тесты.
  • parse — анализирует и проверяет файлы проекта на правильность синтаксиса.
  • run — выполняет модели для их материализации в базе данных.
  • test — запускает тесты для проверки целостности данных и модели.
  • show — выполняет запрос к хранилищу данных.

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

Семантический слой

  • list_metrics — извлекает все определенные метрики
  • get_dimensions — Получает измерения, связанные с указанными метриками
  • get_entities — Получает сущности, связанные с указанными метриками
  • query_metrics — запрашивает метрики с возможностью группировки, упорядочивания, фильтрации и ограничения.

Открытие

  • get_mart_models — Получает все модели mart
  • get_all_models — Получает все модели
  • get_model_details — Получает сведения о конкретной модели
  • get_model_parents — Получает родительские узлы определенной модели
  • get_model_children — Получает дочерние режимы определенной модели

Внося вклад

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

Related MCP Servers

View all related MCP servers

ID: 4g56yk3tar