Справочник переменных окружения MCP
На этой странице приведён краткий справочник всех переменных окружения, используемых сервером dbt MCP, развёрнутым в собственной инфраструктуре. Подробные сведения о каждой переменной (включая примеры) см. в разделе Настройка MCP в собственной инфраструктуре.
Локальный CLI
Эти переменные необходимы для выполнения команд dbt через MCP.
| Переменная | Обязательность | Описание |
|---|---|---|
DBT_PROJECT_DIR | Обязательная | Полный путь к папке вашего проекта dbt (папке, содержащей dbt_project.yml). |
DBT_PATH | Обязательная | Полный путь к исполняемому файлу dbt. Чтобы найти его, выполните which dbt (macOS/Linux) или where dbt (Windows). |
DBT_PROFILES_DIR | Необязательная | Путь к пользовательскому каталогу с файлом profiles.yml. По умолчанию — ~/.dbt/. |
DBT_CLI_TIMEOUT | Необязательная | Время ожидания выполнения команд dbt в секундах. По умолчанию — 60. Компиляция охватывает весь проект, поэтому для больших проектов может потребоваться увеличить этот предел, чтобы избежать превышения времени ожидания. |
Платформа dbt
Эти переменные необходимы для использования возможностей dbt platform (Semantic Layer, Discovery API, Admin API, выполнение SQL).
| Переменная | Обязательность | Описание |
|---|---|---|
DBT_HOST | Обязательная | Имя хоста вашей dbt platform. Допускаются как cloud.getdbt.com (по умолчанию), так и https://cloud.getdbt.com. Укажите полное имя хоста с поддоменом, например DBT_HOST=abc123.us1.dbt.com. Отдельно задавать префикс с помощью MULTICELL_ACCOUNT_PREFIX или DBT_HOST_PREFIX больше не требуется. |
DBT_TOKEN | Обязательная | Сервисный токен или персональный токен доступа (PAT). Для инструмента execute_sql требуется PAT — сервисные токены для этого инструмента не подходят. |
DBT_PROD_ENV_ID | Обязательная | Идентификатор вашей производственной среды (целое число). |
DBT_DEV_ENV_ID | Обязательная для execute_sql | Идентификатор вашей среды разработки (целое число). |
DBT_USER_ID | Обязательная для execute_sql | Ваш числовой идентификатор пользователя. |
DBT_ACCOUNT_ID | Обязательная для Admin API и аутентификации с помощью PAT | Ваш числовой идентификатор аккаунта. Требуется, если в качестве DBT_TOKEN используется персональный токен доступа (PAT). |
MULTICELL_ACCOUNT_PREFIX и DBT_HOST_PREFIX — устаревшие переменные окружения. Они поддерживаются для обратной совместимости — если они уже заданы, то продолжат работать. Однако рекомендуется указывать полное имя хоста непосредственно в DBT_HOST (например, DBT_HOST=abc123.us1.dbt.com).
Пошаговые инструкции по поиску каждого значения см. в разделе Поиск ваших идентификаторов.
Настройка инструментов
В dbt MCP предусмотрено два режима управления доступностью инструментов: режим отключения (по умолчанию) и режим включения (список разрешённых).
По мере добавления новых возможностей наборы инструментов могут расширяться. Общие шаблоны имён переменных — DISABLE_{TOOLSET}= и DBT_MCP_ENABLE_{TOOLSET}=, поэтому для новых наборов инструментов используется то же соглашение. Актуальный список имён наборов инструментов см. в таблицах ниже или в README dbt-mcp.
- Режим отключения: используйте, если вам нужна большая часть инструментов и требуется отключить лишь некоторые из них.
- Режим включения: используйте, если вам нужен только определённый набор инструментов.
Не используйте оба режима для одного и того же набора инструментов. Например, избегайте такой конфигурации:
# ❌ Смешение режимов приводит к непредсказуемому поведению
DISABLE_SEMANTIC_LAYER=false
DBT_MCP_ENABLE_SEMANTIC_LAYER=true
Также избегайте строк DBT_MCP_ENABLE_*= с пустым значением: они активируют режим включения и без предупреждения отключают все остальные наборы инструментов.
Режим отключения (по умолчанию)
По умолчанию доступны все инструменты. Чтобы отключить набор инструментов, задайте для соответствующей переменной из списка ниже значение true в конфигурации вашего MCP-клиента:
| Переменная | Значение по умолчанию | Описание |
|---|---|---|
DISABLE_DBT_CLI | false | Отключает локальные инструменты dbt CLI (dbt v1.x и v2). |
DISABLE_SEMANTIC_LAYER | false | Отключает инструменты Semantic Layer. |
DISABLE_DISCOVERY | false | Отключает инструменты Discovery API. |
DISABLE_ADMIN_API | false | Отключает инструменты Admin API. |
DISABLE_SQL | true | Инструменты SQL отключены по умолчанию. Чтобы включить их, задайте значение false. |
DISABLE_DBT_CODEGEN | true | Инструменты генерации кода отключены по умолчанию. Чтобы включить их, задайте значение false (требуется пакет dbt-codegen). |
DISABLE_LSP | false | Отключает инструменты LSP/dbt v2. |
DISABLE_MCP_SERVER_METADATA | true | Инструменты метаданных сервера отключены по умолчанию. Чтобы включить их, задайте значение false. |
DISABLE_TOOLS | "" | Список имён отдельных инструментов для отключения, разделённых запятыми. |
Режим включения (список разрешённых)
Если задана хотя бы одна переменная DBT_MCP_ENABLE_*, активны только явно включённые наборы инструментов:
| Переменная | Описание |
|---|---|
DBT_MCP_ENABLE_DBT_CLI | Задайте значение true, чтобы включить локальные инструменты dbt CLI (dbt v1.x и v2). |
DBT_MCP_ENABLE_SEMANTIC_LAYER | Задайте значение true, чтобы включить инструменты Semantic Layer. |
DBT_MCP_ENABLE_DISCOVERY | Задайте значение true, чтобы включить инструменты Discovery API. |
DBT_MCP_ENABLE_ADMIN_API | Задайте значение true, чтобы включить инструменты Admin API. |
DBT_MCP_ENABLE_SQL | Задайте значение true, чтобы включить инструменты SQL. |
DBT_MCP_ENABLE_DBT_CODEGEN | Задайте значение true, чтобы включить инструменты генерации кода. |
DBT_MCP_ENABLE_LSP | Задайте значение true, чтобы включить инструменты LSP/dbt v2. |
DBT_MCP_ENABLE_TOOLS | Список имён отдельных инструментов для включения, разделённых запятыми. |
Приоритет
Если задано несколько переменных, они обрабатываются в следующем порядке (от наивысшего приоритета к наименьшему):
DBT_MCP_ENABLE_TOOLS(включение отдельных инструментов по имени)DISABLE_TOOLS(отключение отдельных инструментов по имени)- Включение набора инструментов (
DBT_MCP_ENABLE_*=true) - Отключение набора инструментов (
DISABLE_*=true) - Поведение по умолчанию
Semantic Layer
Эти переменные управляют поведением инструментов Semantic Layer.
| Переменная | Значение по умолчанию | Описание |
|---|---|---|
DBT_MCP_SL_METRICS_RELATED_MAX | 10 | Максимальное количество метрик, при котором list_metrics также возвращает имена измерений и сущностей непосредственно в ответе, сокращая количество вызовов инструментов, необходимых для ответа на вопросы о данных. Если количество метрик не превышает это значение, измерения и сущности включаются непосредственно в ответ list_metrics. Если количество метрик превышает это значение, возвращаются только имена метрик, а LLM отдельно вызывает get_dimensions/get_entities. Задайте значение 0, чтобы всегда возвращать только метрики и никогда не включать данные измерений или сущностей в ответ. |
DBT_MCP_SL_MAX_RESPONSE_CHARS | 16000 | Максимальная длина CSV, возвращаемого list_metrics, в символах. Значение должно быть целым числом >= 0. Если длина ответа превышает этот предел и количество метрик превышает DBT_MCP_SL_METRICS_RELATED_MAX, столбцы description и metadata исключаются из ответа для экономии токенов. Задайте значение 0, чтобы отключить сокращение и всегда возвращать полный ответ. |
Ведение журналов и отладка
| Переменная | Значение по умолчанию | Описание |
|---|---|---|
DBT_MCP_LOG_LEVEL | INFO | Уровень журналирования для MCP-сервера. Допустимые значения: DEBUG, INFO, WARNING, ERROR, CRITICAL. Для диагностики проблем временно задайте значение DEBUG. |
MCP_TRANSPORT | stdio | Транспортный протокол. Задавайте значение streamable-http только для локальной отладки (например, для подключения отладчика Python). См. руководство CONTRIBUTING проекта dbt-mcp. |