Skip to main content
Glama

dbt-mcp

Official
by dbt-labs

dbt MCP-сервер

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

Архитектура

схема архитектуры сервера dbt mcp

Настраивать

  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

mcp-vscode-настройки

  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

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dbt-labs/dbt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server