Подключение dbt MCP к платформе dbt
В этом кратком руководстве используется локальный сервер MCP: он запускается на вашем компьютере с помощью uvx dbt-mcp, подключается к dbt platform для работы с Semantic Layer, Discovery и SQL, а также при необходимости запускает dbt локально.
Если вам нужен только самостоятельно развернутый CLI (с аккаунтом dbt platform или без него), см. Запуск самостоятельно развернутого dbt или Запуск самостоятельно развернутого dbt Wizard.
Чтобы настроить или отключить отдельные инструменты, см. Справочник переменных окружения.
Предварительные требования
- Установите uv
- Аккаунт dbt platform
- Для подключений через OAuth:
- MCP OAuth доступен на тарифах Starter, Enterprise и Enterprise+.
Шаг 1. Выберите способ аутентификации и выполните настройку
- OAuth
- Токены
MCP OAuth доступен в публичной бета-версии для аккаунтов на тарифах Starter, Enterprise и Enterprise+.
OAuth — самый быстрый способ настройки для аккаунтов dbt platform: вам не нужно копировать токены или управлять ими. При первом подключении открывается окно браузера для аутентификации.
Для использования OAuth без самостоятельно развернутой установки используйте удаленный сервер MCP. OAuth для удаленного MCP доступен в публичной бета-версии для аккаунтов на тарифах Starter, Enterprise и Enterprise+. Если ваш клиент не поддерживает OAuth или вам нужен доступ по токену, используйте аутентификацию по токену.
Только учетные записи со статическими поддоменами (например, abc123 в abc123.us1.dbt.com) могут использовать OAuth с MCP-серверами. Следуйте этим инструкциям, чтобы найти поддомен вашей учетной записи. Если у вашей учетной записи нет поддомена, обратитесь в службу поддержки за дополнительной информацией.
Найдите свой Access URL
- Войдите в свой аккаунт dbt platform.
- Перейдите в Account settings и скопируйте Access URL (например,
abc123.us1.dbt.com).
-
Поле
DBT_HOSTпринимает какabc123.us1.dbt.com, так иhttps://abc123.us1.dbt.com. -
Если ваш Access URL —
abc123.us1.dbt.com, разделите его на две переменные:DBT_HOST=us1.dbt.comMULTICELL_ACCOUNT_PREFIX=abc123Не включайте префикс аккаунта вDBT_HOST. Подробнее см. в примерах настройки multi-cell.
Добавьте конфигурацию в свой клиент MCP
- Claude Desktop
- Claude Code
- Cursor
- VS Code
Вариант A: быстрая установка (рекомендуется)
- Перейдите к последнему релизу dbt MCP и скачайте
dbt-mcp.mcpb. - Дважды щелкните файл, чтобы открыть его в Claude Desktop.
- Введите свой Access URL в качестве хоста dbt platform.
- Включите сервер.
Вариант B: ручная настройка
- В Claude Desktop перейдите в Settings → вкладка Developer → Edit Config.
- Вставьте следующую конфигурацию, заменив
YOUR-ACCESS-URLсвоим Access URL:
{
"mcpServers": {
"dbt": {
"command": "uvx",
"args": ["dbt-mcp"],
"env": {
"DBT_HOST": "YOUR-ACCESS-URL"
}
}
}
}
- Сохраните изменения и перезапустите Claude Desktop.
Расположение файла конфигурации:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Выполните эту команду, заменив YOUR-ACCESS-URL своим Access URL:
claude mcp add dbt \
-e DBT_HOST=YOUR-ACCESS-URL \
-- uvx dbt-mcp
Например, если ваш Access URL — abc123.us1.dbt.com:
claude mcp add dbt \
-e DBT_HOST=abc123.us1.dbt.com \
-- uvx dbt-mcp
При открытом Cursor нажмите одну из ссылок ниже для автоматической настройки, затем замените значение-заполнитель своим Access URL:
- Только dbt platform (OAuth) — только возможности платформы, без CLI
- dbt platform + CLI (OAuth) — возможности платформы + команды самостоятельно развернутого dbt CLI
После перехода по ссылке замените YOUR-ACCESS-URL своим фактическим Access URL (например, abc123.us1.dbt.com) и сохраните изменения.
- Откройте Settings → Features → Chat и убедитесь, что MCP включен.
- Откройте палитру команд (
Ctrl/Cmd + Shift + P) и выберите MCP: Open User Configuration. - Добавьте следующую конфигурацию в
mcp.json:
"servers", а не "mcpServers"{
"servers": {
"dbt": {
"command": "uvx",
"args": ["dbt-mcp"],
"env": {
"DBT_HOST": "YOUR-ACCESS-URL"
}
}
}
}
Замените YOUR-ACCESS-URL своим Access URL (например, abc123.us1.dbt.com) и сохраните изменения.
Необязательно: добавьте команды самостоятельно развернутого dbt CLI
Чтобы также выполнять команды dbt platform CLI (dbt run, dbt build, dbt test и другие), добавьте эти две переменные в блок env:
"DBT_PROJECT_DIR": "/path/to/your/dbt/project",
"DBT_PATH": "/path/to/your/dbt/executable"
Найдите DBT_PATH, выполнив which dbt (macOS/Linux) или where dbt (Windows). DBT_PROJECT_DIR — это папка, содержащая ваш dbt_project.yml.
Аутентификация по токену дает больше контроля и лучше подходит для общих или командных конфигураций. Вам понадобится сервисный токен или персональный токен доступа (PAT).
- PAT (Personal Access Token): необходим для использования
execute_sql. Привязан к вашей учетной записи пользователя. - Сервисный токен: подходит для всех остальных наборов инструментов платформы. Лучше подходит для общих или командных конфигураций.
Подробные рекомендации см. в разделе Выбор способа аутентификации.
Найдите свои пути и идентификаторы
Вам понадобятся следующие значения. Пошаговые инструкции см. в разделе Поиск идентификаторов.
| Переменная | Где найти |
|---|---|
DBT_HOST | Имя хоста dbt platform в Account settings → Access URL |
DBT_TOKEN | Сервисный токен или PAT в Account settings → API tokens |
DBT_PROD_ENV_ID | Идентификатор производственной среды в Deploy → Environments |
DBT_DEV_ENV_ID | Идентификатор среды разработки (необходим для execute_sql) |
DBT_USER_ID | Ваш числовой идентификатор пользователя (необходим для execute_sql) |
DBT_ACCOUNT_ID | Идентификатор аккаунта (необходим для инструментов Admin API) |
Эти переменные принимают имена хостов или числовые идентификаторы, а не полные URL:
# ✅ Правильно
DBT_HOST=cloud.getdbt.com # https://cloud.getdbt.com тоже подходит
DBT_PROD_ENV_ID=54321
DBT_USER_ID=123
# ❌ Неправильно — идентификаторы должны быть числами, а не полными URL
DBT_PROD_ENV_ID=https://cloud.getdbt.com/deploy/12345/projects/67890/environments/54321
DBT_USER_ID=https://cloud.getdbt.com/settings/profile
Если ваш Access URL — abc123.us1.dbt.com, разделите его на две переменные:
DBT_HOST=us1.dbt.comMULTICELL_ACCOUNT_PREFIX=abc123
Не включайте префикс аккаунта в DBT_HOST. Подробнее см. в примерах настройки multi-cell.
Добавьте конфигурацию в свой клиент MCP
Используйте приведенную ниже конфигурацию, заменив значения-заполнители найденными выше идентификаторами. Включайте только нужные вам переменные:
- Claude Desktop
- Claude Code
- Cursor
- VS Code
- В Claude Desktop перейдите в Settings → вкладка Developer → Edit Config.
- Вставьте следующую конфигурацию, заменив значения-заполнители:
{
"mcpServers": {
"dbt": {
"command": "uvx",
"args": ["dbt-mcp"],
"env": {
"DBT_HOST": "cloud.getdbt.com",
"DBT_TOKEN": "your-token-here",
"DBT_PROD_ENV_ID": "12345",
"DBT_DEV_ENV_ID": "67890",
"DBT_USER_ID": "123",
"DBT_ACCOUNT_ID": "99999"
}
}
}
}
- Сохраните изменения и перезапустите Claude Desktop.
Расположение файла конфигурации:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Выполните эту команду, заменив значения-заполнители своими фактическими значениями:
claude mcp add dbt \
-e DBT_HOST=cloud.getdbt.com \
-e DBT_TOKEN=your-token-here \
-e DBT_PROD_ENV_ID=12345 \
-- uvx dbt-mcp
Добавьте -e DBT_DEV_ENV_ID=... и -e DBT_USER_ID=..., если используете execute_sql; добавьте -e DBT_ACCOUNT_ID=... для Admin API.
- В Cursor откройте Settings → MCP → Edit config (или свой файл конфигурации).
- Вставьте следующую конфигурацию, заменив значения-заполнители:
{
"mcpServers": {
"dbt": {
"command": "uvx",
"args": ["dbt-mcp"],
"env": {
"DBT_HOST": "cloud.getdbt.com",
"DBT_TOKEN": "your-token-here",
"DBT_PROD_ENV_ID": "12345",
"DBT_DEV_ENV_ID": "67890",
"DBT_USER_ID": "123",
"DBT_ACCOUNT_ID": "99999"
}
}
}
}
- Сохраните конфигурацию.
- Откройте Settings → Features → Chat и убедитесь, что MCP включен.
- Откройте палитру команд (
Ctrl/Cmd + Shift + P) и выберите MCP: Open User Configuration. - Добавьте следующую конфигурацию в
mcp.json:
"servers", а не "mcpServers"{
"servers": {
"dbt": {
"command": "uvx",
"args": ["dbt-mcp"],
"env": {
"DBT_HOST": "cloud.getdbt.com",
"DBT_TOKEN": "your-token-here",
"DBT_PROD_ENV_ID": "12345",
"DBT_DEV_ENV_ID": "67890",
"DBT_USER_ID": "123",
"DBT_ACCOUNT_ID": "99999"
}
}
}
}
- Сохраните
mcp.jsonи перезапустите VS Code.
Шаг 2. Пройдите аутентификацию
- OAuth
- Токены
При первом подключении dbt MCP открывает окно браузера для завершения аутентификации OAuth. После входа ваш сеанс сохраняется, и последующие подключения выполняются автоматически.
Если аутентификация не начинается, закройте клиент и выполните:
- macOS/Linux:
rm -f ~/.dbt/mcp.yml ~/.dbt/mcp.lock - Windows:
Remove-Item -Force $env:USERPROFILE\.dbt\mcp.yml, $env:USERPROFILE\.dbt\mcp.lock
Затем перезапустите клиент.
Дополнительный шаг аутентификации не требуется — ваш токен уже указан в конфигурации. Сервер подключается автоматически при запуске клиента MCP.
Шаг 3. Проверьте настройку
Задайте своему ИИ-ассистенту вопрос о данных (например, «Какие модели есть в моем проекте dbt?» или «Какие метрики определены в моем Semantic Layer?»). Если dbt MCP работает, в ответе будут использованы ваши метаданные dbt.
Доступные возможности
При подключении к платформе ваш ИИ-ассистент может использовать:
- Запросы к Semantic Layer
- Discovery для метаданных (происхождение моделей, результаты тестов, свежесть источников)
- Admin API (запуск заданий, получение списка запусков и артефактов)
- Выполнение SQL и преобразование текста в SQL (требуется PAT)
- Все команды dbt, если вы добавили
DBT_PROJECT_DIRиDBT_PATH
Полный список инструментов см. в разделе Доступные инструменты.
Если вам нужно только выполнять команды dbt локально (с аккаунтом dbt platform или без него), см. Запуск самостоятельно развернутого dbt.
Устранение неполадок
Все темы по устранению неполадок см. в разделе Часто задаваемые вопросы о dbt MCP и устранение неполадок.
Следующие шаги
- Выполняйте команды dbt локально: см. Запуск самостоятельно развернутого dbt
- Настройте отдельные наборы инструментов: см. Справочник переменных окружения
- Изучите требования наборов инструментов: см. Настройка самостоятельно развернутого MCP