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_CLI

false

Установите значение

true

, чтобы отключить инструменты MCP dbt Core и dbt Cloud CLI.

DISABLE_SEMANTIC_LAYER

false

Установите значение

true

, чтобы отключить объекты MCP семантического слоя dbt.

DISABLE_DISCOVERY

false

Установите значение

true

, чтобы отключить объекты MCP API dbt Discovery.

DISABLE_REMOTE

true

Установите значение

false

, чтобы включить удаленные объекты MCP.

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

Имя

По умолчанию

Описание

DBT_HOST

cloud.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