# Справочник переменных окружения MCP

Локальная разработка

На этой странице приведён краткий справочник всех переменных окружения, используемых сервером dbt MCP, развёрнутым в собственной инфраструктуре. Подробные сведения о каждой переменной (включая примеры) см. в разделе [Настройка MCP в собственной инфраструктуре](https://docs.getdbt.tech/docs/dbt-ai/setup-local-mcp.md).

## Локальный 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`        | Обязательная                                              | [Имя хоста](https://docs.getdbt.tech/docs/platform/about-platform/access-regions-ip-addresses.md) вашей dbt platform. Допускаются как `cloud.getdbt.com` (по умолчанию), так и `https://cloud.getdbt.com`.<br /><br />Укажите полное имя хоста с поддоменом, например `DBT_HOST=abc123.us1.dbt.com`. Отдельно задавать префикс с помощью `MULTICELL_ACCOUNT_PREFIX` или `DBT_HOST_PREFIX` больше не требуется. |
| `DBT_TOKEN`       | Обязательная                                              | Сервисный токен или персональный токен доступа (PAT).<br /><br />Для инструмента `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`).

Пошаговые инструкции по поиску каждого значения см. в разделе [Поиск ваших идентификаторов](https://docs.getdbt.tech/docs/dbt-ai/mcp-find-ids.md).

## Настройка инструментов

В dbt MCP предусмотрено два режима управления доступностью инструментов: режим отключения (по умолчанию) и режим включения (список разрешённых).

По мере добавления новых возможностей наборы инструментов могут расширяться. Общие шаблоны имён переменных — `DISABLE_{TOOLSET}=` и `DBT_MCP_ENABLE_{TOOLSET}=`, поэтому для новых наборов инструментов используется то же соглашение. Актуальный список имён наборов инструментов см. в таблицах ниже или в [README dbt-mcp](https://github.com/dbt-labs/dbt-mcp).

Какой режим выбрать?

* **Режим отключения:** используйте, если вам нужна большая часть инструментов и требуется отключить лишь некоторые из них.
* **Режим включения:** используйте, если вам нужен только определённый набор инструментов.

Не используйте оба режима для одного и того же набора инструментов. Например, избегайте такой конфигурации:

```bash
# ❌ Смешение режимов приводит к непредсказуемому поведению
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`          | Список имён отдельных инструментов для включения, разделённых запятыми.                |

### Приоритет

Если задано несколько переменных, они обрабатываются в следующем порядке (от наивысшего приоритета к наименьшему):

1. `DBT_MCP_ENABLE_TOOLS` (включение отдельных инструментов по имени)
2. `DISABLE_TOOLS` (отключение отдельных инструментов по имени)
3. Включение набора инструментов (`DBT_MCP_ENABLE_*=true`)
4. Отключение набора инструментов (`DISABLE_*=true`)
5. Поведение по умолчанию

## 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](https://github.com/dbt-labs/dbt-mcp/blob/main/CONTRIBUTING.md). |
