Перейти к основному содержимому

Интеграция 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​

  1. Перейдите на страницу последнего релиза dbt MCP и скачайте файл dbt-mcp.mcpb.
  2. Дважды щелкните скачанный файл, чтобы открыть его в Claude Desktop.
  3. Настройте dbt platform Host. Нужное значение можно найти в вашей учетной записи dbt platform: перейдите в Account settings и скопируйте Access URL.
  4. Включите сервер в Claude Desktop.
  5. Задайте Claude вопрос, связанный с данными, и посмотрите, как работает dbt MCP!

Расширенная настройка Claude Desktop​

Используйте расширенную настройку, если хотите самостоятельно определить сервер dbt MCP в конфигурационном файле Claude — том же JSON-файле, в котором Claude хранит настройки всех серверов MCP в разделе mcpServers, с такими полями, как command, args и env. Базовый принцип описан в примере установки MCP.

Чтобы открыть конфигурационный файл и добавить или заменить запись сервера dbt MCP:

  1. В Claude перейдите в Settings…

  2. В окне настроек выберите вкладку Developer.

  3. Нажмите Edit Config и откройте файл в текстовом редакторе.

  4. Добавьте конфигурацию сервера в раздел mcpServers. Выберите вариант, подходящий для вашего сценария использования:

     Самостоятельно размещённый MCP с OAuthStarterEnterpriseEnterprise +

    Конфигурация для пользователей, которым нужна удобная аутентификация OAuth в dbt platform.

    Этот вариант предназначен для пользователей, которым нужны только функции платформы dbt (Discovery API, Semantic Layer, управление заданиями) без самостоятельно размещаемых команд dbt platform CLI.

    Если вы используете только dbt platform, инструменты CLI автоматически отключаются. Значение поля DBT_HOST можно найти в информации о вашей учетной записи dbt platform в разделе Access URLs.

    {
    "mcpServers": {
    "dbt": {
    "command": "uvx",
    "args": ["dbt-mcp"],
    "env": {
    "DBT_HOST": "YOUR-ACCESS-URL"
    }
    }
    }
    }

    Примечание: Замените YOUR-ACCESS-URL на имя хоста из вашего Access URL (например, abc123.us1.dbt.com). Допускаются оба варианта: abc123.us1.dbt.com и https://abc123.us1.dbt.com. Это позволяет использовать аутентификацию OAuth без необходимости самостоятельно размещать dbt.

     Самостоятельно размещённый MCP (только CLI)

    Конфигурация для самостоятельного размещения для пользователей, которым нужно только выполнять команды dbt с dbt v1 или dbt v2

    {
    "mcpServers": {
    "dbt": {
    "command": "uvx",
    "args": ["dbt-mcp"],
    "env": {
    "DBT_PROJECT_DIR": "/path/to/your/dbt/project",
    "DBT_PATH": "/path/to/your/dbt/executable"
    }
    }
    }
    }

    Как определить пути:

    • DBT_PROJECT_DIR: полный путь к папке, содержащей файл dbt_project.yml
    • DBT_PATH: чтобы определить путь, выполните which dbt в терминале (macOS/Linux) или where dbt (Windows) в PowerShell
     Самостоятельно размещённый MCP с .env

    Расширенная конфигурация для пользователей, которым нужны собственные переменные окружения. Поместите файл .env в корневую папку проекта dbt (ту же папку, где находится dbt_project.yml) и укажите абсолютный путь с помощью --env-file.

    Использование поля env (конфигурация в одном файле):

    Идентификаторы — это целые числа, а не URL-адреса

    DBT_PROD_ENV_ID, DBT_DEV_ENV_ID и DBT_USER_ID должны быть числовыми идентификаторами (например, 54321), а не полными URL-адресами, скопированными из браузера. DBT_HOST принимает как cloud.getdbt.com, так и https://cloud.getdbt.com.

    Использование файла .env (укажите абсолютный путь к .env в корневой папке проекта dbt):

    {
    "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 (альтернативный вариант):

    {
    "mcpServers": {
    "dbt": {
    "command": "uvx",
    "args": [
    "--env-file",
    "/absolute/path/to/your-dbt-project/.env",
    "dbt-mcp"
    ]
    }
    }
    }
  5. Сохраните файл и перезапустите 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 и вставить его непосредственно в свой ИИ-инструмент.

 Составьте собственный MCP URL

Рекомендуем использовать MCP URL из раздела Account settings → Access URLs → MCP Endpoint URL в dbt platform. Однако, если вы хотите составить собственный MCP URL, используйте свой Access URL из раздела Account settings в dbt platform. Удаленная конечная точка MCP — https://YOUR_DBT_HOST_URL/api/ai/v1/mcp. Замените YOUR_DBT_HOST_URL только именем хоста (без https://).

Информацию о хостах по умолчанию, аккаунтах multi-cell и регионах см. в разделе Доступ, регионы и IP-адреса.

Затем перейдите на вкладку, соответствующую вашему способу аутентификации:

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, затем подключитесь.

  1. В вашем ИИ-инструменте перейдите в настройки коннекторов и выберите добавление пользовательского коннектора (в Claude Desktop перейдите в Chat → Customize → Connectors, затем нажмите Add custom connector).
  2. Введите имя (например, dbt) и вставьте MCP URL вашей dbt platform (например, https://abc123.us1.dbt.com/api/ai/v1/mcp), затем нажмите Add.
    Диалог добавления пользовательского коннектора с MCP URL dbtДиалог добавления пользовательского коннектора с MCP URL dbt
  3. Нажмите Connect. Инструмент перенаправит вас в dbt для прохождения процедуры предоставления согласия OAuth, где вы сможете разрешить или отклонить отдельные области доступа.
    Экран согласия OAuth с запрашиваемыми областями доступа и доступом к проектамЭкран согласия OAuth с запрашиваемыми областями доступа и доступом к проектам
  4. После вашего согласия коннектор будет добавлен в таблицу Custom connectors и будет отображаться как подключённый.
    Добавление пользовательского коннектора dbt в настройках коннекторов ИИ-инструментаДобавление пользовательского коннектора dbt в настройках коннекторов ИИ-инструмента
  5. Готово 🎉! Задайте инструменту вопрос о данных, например «Какова общая выручка за последние 30 дней?», чтобы проверить подключение.

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.

  1. Следуйте инструкциям в разделе Настройка самостоятельно размещённого MCP, чтобы выбрать способ аутентификации:

  2. Создайте .mcp.json в корне проекта и добавьте запись dbt в ключ mcpServers верхнего уровня. Выберите вариант, подходящий для вашего сценария использования:

     Самостоятельно размещённый MCP с OAuthStarterEnterpriseEnterprise +

    Конфигурация для пользователей, которым нужна удобная аутентификация OAuth в dbt platform.

    Этот вариант предназначен для пользователей, которым нужны только функции платформы dbt (Discovery API, Semantic Layer, управление заданиями) без самостоятельно размещаемых команд dbt platform CLI.

    Если вы используете только dbt platform, инструменты CLI автоматически отключаются. Значение поля DBT_HOST можно найти в информации о вашей учетной записи dbt platform в разделе Access URLs.

    {
    "mcpServers": {
    "dbt": {
    "command": "uvx",
    "args": ["dbt-mcp"],
    "env": {
    "DBT_HOST": "YOUR-ACCESS-URL"
    }
    }
    }
    }

    Примечание: Замените YOUR-ACCESS-URL на имя хоста из вашего Access URL (например, abc123.us1.dbt.com). Допускаются оба варианта: abc123.us1.dbt.com и https://abc123.us1.dbt.com. Это позволяет использовать аутентификацию OAuth без необходимости самостоятельно размещать dbt.

     Самостоятельно размещённый MCP (только CLI)

    Конфигурация для самостоятельного размещения для пользователей, которым нужно только выполнять команды dbt с dbt v1 или dbt v2

    {
    "mcpServers": {
    "dbt": {
    "command": "uvx",
    "args": ["dbt-mcp"],
    "env": {
    "DBT_PROJECT_DIR": "/path/to/your/dbt/project",
    "DBT_PATH": "/path/to/your/dbt/executable"
    }
    }
    }
    }

    Как определить пути:

    • DBT_PROJECT_DIR: полный путь к папке, содержащей файл dbt_project.yml
    • DBT_PATH: чтобы определить путь, выполните which dbt в терминале (macOS/Linux) или where dbt (Windows) в PowerShell
     Самостоятельно размещённый MCP с .env

    Расширенная конфигурация для пользователей, которым нужны собственные переменные окружения. Поместите файл .env в корневую папку проекта dbt (ту же папку, где находится dbt_project.yml) и укажите абсолютный путь с помощью --env-file.

    Использование поля env (конфигурация в одном файле):

    Идентификаторы — это целые числа, а не URL-адреса

    DBT_PROD_ENV_ID, DBT_DEV_ENV_ID и DBT_USER_ID должны быть числовыми идентификаторами (например, 54321), а не полными URL-адресами, скопированными из браузера. DBT_HOST принимает как cloud.getdbt.com, так и https://cloud.getdbt.com.

    Использование файла .env (укажите абсолютный путь к .env в корневой папке проекта dbt):

    {
    "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 (альтернативный вариант):

    {
    "mcpServers": {
    "dbt": {
    "command": "uvx",
    "args": [
    "--env-file",
    "/absolute/path/to/your-dbt-project/.env",
    "dbt-mcp"
    ]
    }
    }
    }
О команде claude mcp add

CLI 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+.

  1. Откройте .mcp.json в корне проекта (создайте его, если он ещё не существует).

  2. Получите URL вашего MCP-сервера:

    Вы можете скопировать полный MCP URL в разделе Account settings → Access URLs → MCP Endpoint URL в dbt platform и вставить его непосредственно в свой ИИ-инструмент.

     Составьте собственный MCP URL

    Рекомендуем использовать MCP URL из раздела Account settings → Access URLs → MCP Endpoint URL в dbt platform. Однако, если вы хотите составить собственный MCP URL, используйте свой Access URL из раздела Account settings в dbt platform. Удаленная конечная точка MCP — https://YOUR_DBT_HOST_URL/api/ai/v1/mcp. Замените YOUR_DBT_HOST_URL только именем хоста (без https://).

    Информацию о хостах по умолчанию, аккаунтах multi-cell и регионах см. в разделе Доступ, регионы и IP-адреса.

  3. Добавьте запись dbt в .mcp.json, используя вкладку, соответствующую вашему способу аутентификации:

    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/
  4. Сохраните файл. Claude Code считывает .mcp.json при запуске — задайте ему вопрос о данных, чтобы проверить подключение.

Устранение неполадок​

Ошибки Claude Desktop
Claude Code не может подключиться к серверу dbt MCP

Нашли ошибку?

0
Loading