Настройка локального MCP
Локальный сервер dbt MCP запускается на вашей машине и поддерживает dbt Core, dbt Fusion Engine и Cloud CLI. Вы можете использовать его как с учетной записью dbt platform, так и без неё.
Предварительные требования
- Установите uv, чтобы иметь возможность запускать
dbt-mcpи связанные зависимости в изолированном виртуальном окружении. - Иметь локальный проект dbt (если вы хотите использовать команды dbt CLI).
Варианты настройки
Выберите способ настройки, который лучше всего подходит под ваш рабочий процесс:
OAuth-аутентификация с dbt platform EnterpriseEnterprise +
Этот метод использует OAuth для аутентификации в вашей учетной записи dbt platform. Это самый простой вариант настройки, который не требует ручного управления токенами или переменными окружения.
Только учетные записи со статическими поддоменами (например, abc123.us1.dbt.com) могут использовать OAuth с MCP-серверами. Все учетные записи находятся в процессе миграции на статические поддомены до декабря 2025 года. Для получения дополнительной информации обратитесь в службу поддержки.
Параметры конфигурации
- dbt platform only
- dbt platform + CLI
Этот вариант предназначен для пользователей, которым нужны только возможности dbt platform (Discovery API, Semantic Layer, управление заданиями) без использования локальных CLI‑команд.
Если вы используете только dbt platform, инструменты CLI автоматически отключаются. Значение поля DBT_HOST можно найти в информации о вашей учетной записи dbt platform в разделе Access URLs.
{
"mcpServers": {
"dbt": {
"command": "uvx",
"args": ["dbt-mcp"],
"env": {
"DBT_HOST": "https://<your-dbt-host-with-custom-subdomain>",
}
}
}
}
Примечание: Замените <your-dbt-host-with-custom-subdomain> на ваш реальный хост (например, abc123.us1.dbt.com). Это включает аутентификацию OAuth без необходимости локальной установки dbt.
Этот вариант предназначен для пользователей, которым нужны как команды dbt CLI, так и возможности dbt platform (Discovery API, Semantic Layer, управление заданиями).
Для доступа к CLI обязательны поля DBT_PROJECT_DIR и DBT_PATH. Значение поля DBT_HOST можно найти в информации о вашей учетной записи dbt platform в разделе Access URLs.
{
"mcpServers": {
"dbt": {
"command": "uvx",
"args": ["dbt-mcp"],
"env": {
"DBT_HOST": "https://<your-dbt-host-with-custom-subdomain>",
"DBT_PROJECT_DIR": "/path/to/project",
"DBT_PATH": "/path/to/dbt/executable"
}
}
}
}
Примечание: Замените <your-dbt-host-with-custom-subdomain> на ваш реальный хост (например, https://abc123.us1.dbt.com). Это включает аутентификацию OAuth.
После настройки ваша сессия подключается к учетной записи dbt platform, запускает процесс OAuth-аутентификации, а затем открывает вашу учетную запись, где вы можете выбрать проект, на который хотите ссылаться.
После завершения настройки OAuth перейдите к разделу Проверка конфигурации.
Только CLI (без dbt platform)
Если вы используете CLI dbt Core или Fusion и вам не нужен доступ к возможностям dbt platform (Discovery API, Semantic Layer, Administrative API), вы можете настроить локальный MCP, указав только информацию о вашем проекте dbt.
Добавьте следующую конфигурацию в ваш MCP-клиент (точное расположение файлов см. в соответствующих руководствах по интеграции):
{
"mcpServers": {
"dbt": {
"command": "uvx",
"args": ["dbt-mcp"],
"env": {
"DBT_PROJECT_DIR": "/path/to/your/dbt/project",
"DBT_PATH": "/path/to/your/dbt/executable"
}
}
}
}
Определение путей
Следуйте инструкциям для вашей ОС, чтобы определить нужные пути:
После завершения этой настройки перейдите к разделу Проверка конфигурации.
Настройка через переменные окружения
Если вам нужно настроить несколько переменных окружения или вы предпочитаете управлять ими отдельно, вы можете использовать переменные окружения. Если вы используете только команды dbt CLI, вам не нужно указывать переменные окружения, специфичные для dbt platform, и наоборот.
Пример файла:
DBT_HOST=cloud.getdbt.com
DBT_PROD_ENV_ID=your-production-environment-id
DBT_DEV_ENV_ID=your-development-environment-id
DBT_USER_ID=your-user-id
DBT_ACCOUNT_ID=your-account-id
DBT_TOKEN=your-service-token
DBT_PROJECT_DIR=/path/to/your/dbt/project
DBT_PATH=/path/to/your/dbt/executable
MULTICELL_ACCOUNT_PREFIX=your-account-prefix
Этот файл потребуется для интеграции с инструментами, совместимыми с MCP.
Настройки API и SQL-инструментов
| Loading table... |
Примеры конфигурации Multi-cell:
✅ Корректная конфигурация:
DBT_HOST=us1.dbt.com
MULTICELL_ACCOUNT_PREFIX=abc123
❌ Некорректная конфигурация (распространённая ошибка):
DBT_HOST=abc123.us1.dbt.com # Не включайте префикс в host!
# MULTICELL_ACCOUNT_PREFIX не задан
Если ваш полный URL — abc123.us1.dbt.com, разделите его так:
DBT_HOST=us1.dbt.comMULTICELL_ACCOUNT_PREFIX=abc123
Настройки dbt CLI
Локальный dbt-mcp поддерживает все варианты dbt, включая dbt Core и dbt Fusion Engine.
| Loading table... |
Определение DBT_PATH
Следуйте инструкциям для вашей ОС, чтобы найти DBT_PATH:
Дополнительные примечания:
- Вы можете задавать любые переменные окружения, поддерживаемые вашим исполняемым файлом dbt, например поддерживаемые в dbt Core.
- dbt MCP учитывает стандартные переменные окружения и флаги для сбора статистики использования, описанные здесь.
DBT_WARN_ERROR_OPTIONS='{"error": ["NoNodesForSelectionCriteria"]}'устанавливается автоматически, чтобы MCP-сервер понимал, что при выполнении команды dbt не был выбран ни один узел. При необходимости вы можете переопределить это значение, однако оно обеспечивает более удобную работу при вызове dbt из MCP-сервера, гарантируя выбор корректных узлов.
Отключение инструментов
Вы можете отключить следующий доступ к инструментам в локальном dbt-mcp:
| Loading table... |
Использование переменных окружения в конфигурации MCP-клиента
Рекомендуемый способ настройки MCP-клиента — использовать поле env в вашем JSON-файле конфигурации. Это позволяет хранить всю конфигурацию в одном файле:
{
"mcpServers": {
"dbt": {
"command": "uvx",
"args": ["dbt-mcp"],
"env": {
"DBT_HOST": "cloud.getdbt.com",
"DBT_TOKEN": "your-token-here",
"DBT_PROD_ENV_ID": "12345",
"DBT_PROJECT_DIR": "/path/to/project",
"DBT_PATH": "/path/to/dbt"
}
}
}
}
Использование файла .env
Если вы предпочитаете управлять переменными окружения в отдельном файле, вы можете создать файл .env и сослаться на него:
{
"mcpServers": {
"dbt": {
"command": "uvx",
"args": ["--env-file", "/path/to/.env", "dbt-mcp"]
}
}
}
Однако этот подход требует управления двумя файлами вместо одного.
(Необязательно) Проверка конфигурации
В командной строке выполните следующее, чтобы проверить настройку:
Если используется поле env в JSON:
export DBT_PROJECT_DIR=/path/to/project
export DBT_PATH=/path/to/dbt
uvx dbt-mcp
Если используется файл .env:
uvx --env-file <path-to-.env-file> dbt-mcp
Если ошибок нет, значит конфигурация настроена корректно.
Настройка MCP-клиента
После завершения конфигурации следуйте соответствующему руководству по интеграции для выбранного инструмента:
Отладочные настройки
Эти параметры позволяют настроить уровень логирования MCP-сервера для диагностики и устранения проблем.
| Loading table... |
Чтобы увидеть больше деталей о работе MCP-сервера и упростить отладку, вы можете временно установить уровень логирования DEBUG. Рекомендуется использовать его временно, чтобы избежать переполнения диска логами.
Устранение неполадок
Не удаётся найти исполняемый файл uvx
Некоторые MCP-клиенты могут не находить uvx из JSON-конфигурации. Это приводит к ошибкам вида Could not connect to MCP server dbt-mcp, Error: spawn uvx ENOENT и подобным.
Решение: найдите полный путь к uvx и укажите его в конфигурации:
- macOS/Linux: выполните
which uvxв терминале. - Windows: выполните
where uvxв CMD или PowerShell.
Затем обновите JSON-конфигурацию, указав полный путь:
{
"mcpServers": {
"dbt": {
"command": "/full/path/to/uvx", # Например, на macOS с Homebrew: "command": "/opt/homebrew/bin/uvx"
"args": ["dbt-mcp"],
"env": { ... }
}
}
}
