Интеграция Claude с dbt MCP
Claude — это ИИ-ассистент от Anthropic с двумя основными интерфейсами:
- Claude Desktop: графический интерфейс с поддержкой MCP для доступа к файлам и выполнения команд, а также базовыми возможностями работы с кодом.
- Claude Code: инструмент для разработки в терминале или IDE.
Оба интерфейса могут подключаться к одному из следующих серверов:
- Локально развернутый сервер dbt MCP (работает на вашем компьютере, поддерживает команды CLI, например
dbt run) - Удаленный сервер dbt MCP (HTTP, ориентирован на использование данных). Для OAuth локальная установка не требуется. Аутентификация на основе токена в Claude Desktop использует прокси
mcp-remoteи требует Node.js.
Предварительные требования
- Вы используете Claude для работы с ИИ или ИИ-агентами
- Для OAuth (с локально развернутым или удаленным сервером) используйте свой URL доступа со статическим поддоменом.
- OAuth для удаленного сервера MCP доступен для учетных записей Starter, Enterprise и Enterprise+.
-
После того как администратор настроит общие учетные данные для аналитики, пользователи с доступом только для чтения смогут использовать их вместо собственных учетных данных разработчика.
Только учетные записи со статическими поддоменами (например, abc123 в abc123.us1.dbt.com) могут использовать OAuth с MCP-серверами. Следуйте этим инструкциям, чтобы найти поддомен вашей учетной записи. Если у вашей учетной записи нет поддомена, обратитесь в службу поддержки за дополнительной информацией.
Claude Desktop
Claude Desktop считывает настройки серверов MCP из claude_desktop_config.json. Откройте этот файл через Settings → Developer → Edit Config.
Настройка подключения к локально развернутому серверу dbt MCP
Для быстрой первоначальной установки можно скачать готовый файл .mcpb; для более гибкой настройки отредактируйте JSON напрямую.
Клонировать репозиторий dbt-mcp не нужно — для локального развертывания установите uv и выполните uvx dbt-mcp (или воспользуйтесь конфигурациями, приведенными далее на этой странице). Клонируйте репозиторий только в том случае, если хотите внести вклад в разработку dbt MCP.
Быстрая установка с помощью файла .mcpb
- Перейдите на страницу последнего релиза dbt MCP и скачайте файл
dbt-mcp.mcpb. - Дважды щелкните скачанный файл, чтобы открыть его в Claude Desktop.
- Настройте dbt platform Host. Нужное значение можно найти в вашей учетной записи dbt platform: перейдите в Account settings и скопируйте Access URL.
- Включите сервер в Claude Desktop.
- Задайте Claude вопрос, связанный с данными, и посмотрите, как работает dbt MCP!
Расширенная настройка Claude Desktop
Используйте расширенную настройку, если хотите самостоятельно определить сервер dbt MCP в конфигурационном файле Claude — том же JSON-файле, в котором Claude хранит настройки всех серверов MCP в разделе mcpServers, с такими полями, как command, args и env. Базовый принцип описан в примере установки MCP.
Чтобы открыть конфигурационный файл и добавить или заменить запись сервера dbt MCP:
-
В Claude перейдите в Settings…
-
В окне настроек выберите вкладку Developer.
-
Нажмите Edit Config и откройте файл в текстовом редакторе.
-
Добавьте конфигурацию сервера в раздел
mcpServers. Выберите вариант, подходящий для вашего сценария использования: -
Сохраните файл и перезапустите Claude Desktop. В правом нижнем углу поля ввода сообщения появится индикатор MCP-сервера.
Дополнительные параметры конфигурации (переменные окружения, сервисные токены, настройки доступа к инструментам) описаны в разделе Настройка самостоятельно размещённого MCP-сервера.
Подключение к удалённому MCP-серверу dbt
Удалённый MCP-сервер dbt работает в dbt platform. Для OAuth Claude Desktop подключается по HTTP через пользовательский коннектор. Для аутентификации по токену используйте прокси mcp-remote, описанный на вкладке для токенов. Claude Desktop не принимает "type": "http" в claude_desktop_config.json.
OAuth для удалённого MCP доступен в публичной бета-версии для учётных записей Starter, Enterprise и Enterprise+.
Сначала получите свой MCP URL. Он понадобится для обоих способов аутентификации:
Вы можете скопировать полный MCP URL в разделе Account settings → Access URLs → MCP Endpoint URL в dbt platform и вставить его непосредственно в свой ИИ-инструмент.
Затем перейдите на вкладку, соответствующую вашему способу аутентификации:
- OAuth (remote)
- Token-based
OAuth для удалённого MCP доступен в публичной бета-версии для аккаунтов Starter, Enterprise и Enterprise+.
Перед подключением
- Ваш MCP-клиент должен поддерживать OAuth для MCP-серверов, работающих по HTTP. Если такой поддержки нет, используйте аутентификацию на основе токенов.
- При первом подключении клиент открывает браузер для входа в систему. Затем dbt показывает экран согласия с запрашиваемыми областями доступа (конкретными разрешениями, которые клиенту будет позволено использовать) — описание каждой области доступа см. в разделе Области доступа и согласие.
- Большинство современных MCP-клиентов регистрируются самостоятельно при первом подключении с помощью динамической регистрации (RFC 7591). Клиенты, которые её не поддерживают, администратор должен зарегистрировать в разделе Account settings → Integrations → App integrations. См. раздел Ручная регистрация.
Полное описание процесса, сеансов и ограничений см. в разделе OAuth (удалённый MCP).
Для использования OAuth добавьте dbt в качестве пользовательского коннектора в настройках Claude Desktop. Редактировать claude_desktop_config.json не требуется.
Ниже описано, как подключить dbt в качестве пользовательского коннектора в Claude Desktop. Интерфейс зависит от инструмента, но порядок действий одинаков: добавьте пользовательский коннектор с вашим MCP URL, пройдите процедуру предоставления согласия OAuth, затем подключитесь.
- В вашем ИИ-инструменте перейдите в настройки коннекторов и выберите добавление пользовательского коннектора (в Claude Desktop перейдите в Chat → Customize → Connectors, затем нажмите Add custom connector).
- Введите имя (например,
dbt) и вставьте MCP URL вашей dbt platform (например,https://abc123.us1.dbt.com/api/ai/v1/mcp), затем нажмите Add. - Нажмите Connect. Инструмент перенаправит вас в dbt для прохождения процедуры предоставления согласия OAuth, где вы сможете разрешить или отклонить отдельные области доступа.
- После вашего согласия коннектор будет добавлен в таблицу Custom connectors и будет отображаться как подключённый.
- Готово 🎉! Задайте инструменту вопрос о данных, например «Какова общая выручка за последние 30 дней?», чтобы проверить подключение.
Используйте аутентификацию на основе токенов, если ваш клиент пока не поддерживает OAuth для HTTP-серверов MCP или если вам нужна общая конфигурация либо конфигурация для CI.
"type": "http" недопустим в Claude DesktopClaude Desktop не поддерживает "type": "http" в claude_desktop_config.json. Если вставить этот блок (формат, который работает в .mcp.json в Claude Code), Claude Desktop пропустит сервер и покажет сообщение вроде «Не удалось загрузить некоторые серверы MCP».
Вместо этого используйте конфигурацию прокси mcp-remote из шага 2.
Для подключения к удалённому серверу MCP с аутентификацией на основе токенов в Claude Desktop требуется Node.js, чтобы npx мог запускать mcp-remote.
-
В Claude Desktop перейдите в Settings → Developer → Edit Config, чтобы открыть
claude_desktop_config.json. -
Добавьте запись
dbt-remoteвmcpServers:{
"mcpServers": {
"dbt-remote": {
"command": "npx",
"args": [
"mcp-remote",
"https://YOUR_DBT_HOST_URL/api/ai/v1/mcp/",
"--header",
"Authorization: Token YOUR_DBT_ACCESS_TOKEN",
"--header",
"x-dbt-prod-environment-id: DBT_PROD_ENV_ID"
]
}
}
}Замените
YOUR_DBT_HOST_URLименем вашего хоста (например,abc123.us1.dbt.com), а заполнители токена и идентификатора среды — своими значениями. Чтобы передать необязательные заголовки, такие какx-dbt-user-idилиx-dbt-dev-environment-id, добавьте в массивargsдополнительные пары"--header"и"Header-Name: value".Для удалённого MCP с аутентификацией по токену задайте следующие заголовки в конфигурации MCP вашего клиента:
Authorization(обязательный) —Token YOUR_DBT_ACCESS_TOKENилиBearer YOUR_DBT_ACCESS_TOKEN. Используйте персональный токен доступа (PAT) или сервисный токен с правами Developer для проекта, которому принадлежит среда, указанная вx-dbt-prod-environment-id. Назначьте сервисным токенам набор разрешенийDeveloper. PAT наследуют разрешения своих создателей. Без прав Developer подключение завершается ошибкой401.x-dbt-prod-environment-id(обязательный) — идентификатор вашей производственной среды dbt platform. Пошаговые инструкции см. в разделе Как найти идентификаторы dbt MCP.x-dbt-dev-environment-id— обязателен дляexecute_sqlи инструментов dbt v2. Пошаговые инструкции см. в разделе Как найти идентификаторы dbt MCP.x-dbt-user-id— обязателен дляexecute_sql. Подробности см. в разделе Где найти мой идентификатор пользователя?.
Используйте числовые идентификаторы, а не полные URL-адресаВ заголовках
x-dbt-prod-environment-id,x-dbt-dev-environment-idиx-dbt-user-idожидаются числовые идентификаторы (например,54321), а не полные URL-адреса, скопированные из браузера. URL-адрес хоста MCP должен содержатьhttps://независимо от того, задаёте ли вы его в полеurlили передаёте как аргументmcp-remote.При аутентификации по токену для
execute_sqlтребуется персональный токен доступа (PAT). Сервисные токены не подойдут. Чтобы выполнять SQL без создания PAT, используйте подключение через OAuth (удалённый MCP). Полный список заголовков см. в разделе Настройка удалённого MCP.Полный путь кnpxЕсли Claude Desktop показывает
Server disconnectedили не может найтиnpx, задайте для"command"полный путь, полученный с помощьюwhich npx(macOS или Linux) илиwhere npx(Windows), например"command": "/opt/homebrew/bin/npx". -
Сохраните файл и перезапустите Claude Desktop. В разделе Settings → Developer убедитесь, что
dbt-remoteзапущен. Задайте Claude вопрос о данных, чтобы убедиться, что сервер подключён.
Claude Code
Claude Code считывает конфигурацию MCP-серверов из .mcp.json в корне проекта (корне репозитория вашей рабочей области). Для самостоятельно размещённых серверов можно использовать ту же структуру command / args / env, что и в других клиентах. Для удалённой аутентификации на основе токенов Claude Code поддерживает "type": "http" в .mcp.json, в отличие от Claude Desktop.
Настройка с самостоятельно размещённым сервером dbt MCP
Клонировать репозиторий dbt-mcp не нужно — для самостоятельного размещения установите uv и запустите uvx dbt-mcp (или используйте конфигурации ниже на этой странице). Клонируйте репозиторий, только если хотите внести вклад в dbt MCP.
-
Следуйте инструкциям в разделе Настройка самостоятельно размещённого MCP, чтобы выбрать способ аутентификации:
- OAuth с dbt platform
- Только CLI
- Переменные окружения (включая файл
.env, подключаемый через--env-file)
-
Создайте
.mcp.jsonв корне проекта и добавьте записьdbtв ключmcpServersверхнего уровня. Выберите вариант, подходящий для вашего сценария использования:
claude mcp addCLI Claude Code позволяет регистрировать MCP-серверы с помощью claude mcp add, но обычно записывает их в конфигурацию уровня пользователя (~/.claude.json), а не в .mcp.json проекта. Для dbt MCP мы рекомендуем сохранять .mcp.json в вашем репозитории, чтобы конфигурация действовала на уровне проекта и ею было проще делиться.
Настройка с удалённым сервером dbt MCP
Claude Code может подключаться к удалённому серверу dbt MCP по HTTP с помощью "type": "http" в .mcp.json. Эта структура конфигурации HTTP предназначена для Claude Code (и аналогичных клиентов), а не для claude_desktop_config.json в Claude Desktop.
OAuth для удалённого MCP доступен в публичной бета-версии для учётных записей Starter, Enterprise и Enterprise+.
-
Откройте
.mcp.jsonв корне проекта (создайте его, если он ещё не существует). -
Получите URL вашего MCP-сервера:
Вы можете скопировать полный MCP URL в разделе Account settings → Access URLs → MCP Endpoint URL в dbt platform и вставить его непосредственно в свой ИИ-инструмент.
-
Добавьте запись
dbtв.mcp.json, используя вкладку, соответствующую вашему способу аутентификации:- OAuth (удалённый сервер)
- На основе токена
OAuth для удалённого MCP доступен в публичной бета-версии для учётных записей Starter, Enterprise и Enterprise+.
Перед подключением
- Ваш MCP-клиент должен поддерживать OAuth для MCP-серверов, работающих по HTTP. Если такой поддержки нет, используйте аутентификацию на основе токенов.
- При первом подключении клиент открывает браузер для входа в систему. Затем dbt показывает экран согласия с запрашиваемыми областями доступа (конкретными разрешениями, которые клиенту будет позволено использовать) — описание каждой области доступа см. в разделе Области доступа и согласие.
- Большинство современных MCP-клиентов регистрируются самостоятельно при первом подключении с помощью динамической регистрации (RFC 7591). Клиенты, которые её не поддерживают, администратор должен зарегистрировать в разделе Account settings → Integrations → App integrations. См. раздел Ручная регистрация.
Полное описание процесса, сеансов и ограничений см. в разделе OAuth (удалённый MCP).
Добавьте следующую конфигурацию в
.mcp.jsonв корне проекта. При первом подключении Claude Code откроет браузер для входа и предоставления разрешений.{
"mcpServers": {
"dbt": {
"type": "http",
"url": "https://YOUR_DBT_HOST_URL/api/ai/v1/mcp/"
}
}
}Замените
YOUR_DBT_HOST_URLна имя вашего хоста (например,abc123.us1.dbt.com). URL можно найти в dbt platform в разделе Account settings → Access URLs → MCP Endpoint URL.Вы также можете зарегистрировать этот же сервер через CLI:
claude mcp add --transport http dbt https://YOUR_DBT_HOST_URL/api/ai/v1/mcp/{
"mcpServers": {
"dbt": {
"type": "http",
"url": "https://YOUR_DBT_HOST_URL/api/ai/v1/mcp/",
"headers": {
"Authorization": "Token YOUR_DBT_ACCESS_TOKEN",
"x-dbt-prod-environment-id": "DBT_PROD_ENV_ID",
"x-dbt-user-id": "DBT_USER_ID",
"x-dbt-dev-environment-id": "DBT_DEV_ENV_ID"
}
}
}
}Для удалённого MCP с аутентификацией по токену задайте следующие заголовки в конфигурации MCP вашего клиента:
Authorization(обязательный) —Token YOUR_DBT_ACCESS_TOKENилиBearer YOUR_DBT_ACCESS_TOKEN. Используйте персональный токен доступа (PAT) или сервисный токен с правами Developer для проекта, которому принадлежит среда, указанная вx-dbt-prod-environment-id. Назначьте сервисным токенам набор разрешенийDeveloper. PAT наследуют разрешения своих создателей. Без прав Developer подключение завершается ошибкой401.x-dbt-prod-environment-id(обязательный) — идентификатор вашей производственной среды dbt platform. Пошаговые инструкции см. в разделе Как найти идентификаторы dbt MCP.x-dbt-dev-environment-id— обязателен дляexecute_sqlи инструментов dbt v2. Пошаговые инструкции см. в разделе Как найти идентификаторы dbt MCP.x-dbt-user-id— обязателен дляexecute_sql. Подробности см. в разделе Где найти мой идентификатор пользователя?.
Используйте числовые идентификаторы, а не полные URL-адресаВ заголовках
x-dbt-prod-environment-id,x-dbt-dev-environment-idиx-dbt-user-idожидаются числовые идентификаторы (например,54321), а не полные URL-адреса, скопированные из браузера. URL-адрес хоста MCP должен содержатьhttps://независимо от того, задаёте ли вы его в полеurlили передаёте как аргументmcp-remote.При аутентификации по токену для
execute_sqlтребуется персональный токен доступа (PAT). Сервисные токены не подойдут. Чтобы выполнять SQL без создания PAT, используйте подключение через OAuth (удалённый MCP). Полный список заголовков см. в разделе Настройка удалённого MCP. -
Сохраните файл. Claude Code считывает
.mcp.jsonпри запуске — задайте ему вопрос о данных, чтобы проверить подключение.


