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

Интеграция Claude с dbt MCP

Claude — это AI-ассистент от Anthropic с двумя основными интерфейсами:

  • Claude Code: инструмент для разработки в терминале/IDE
  • Claude for desktop: графический интерфейс с поддержкой MCP для доступа к файлам и выполнения команд, а также базовыми возможностями для работы с кодом

Claude Code

Вы можете настроить Claude Code как с локальным, так и с удалённым сервером dbt-mcp. Мы рекомендуем использовать локальный dbt-mcp для задач, ориентированных на разработчиков. Подробнее о возможностях локальных и удалённых серверов см. на странице About MCP.

Настройка с локальным сервером dbt MCP

Предварительные требования:

Области (scopes) Claude Code

По умолчанию MCP-сервер устанавливается в области "local", что означает его активность для сессий Claude Code в текущей директории для пользователя, который выполнил установку.

Также возможно установить MCP-сервер:

  • В области "user", чтобы он был доступен для всех сессий Claude Code независимо от используемой директории
  • В области "project", чтобы создать конфигурационный файл, который можно хранить в системе контроля версий, и тогда все разработчики проекта будут иметь MCP-сервер уже установленным

Чтобы установить сервер в области проекта, выполните следующую команду и закоммитьте файл .mcp.json. Убедитесь, что путь к файлу env-переменных одинаков для всех пользователей.

claude mcp add dbt -s project -- uvx --env-file <path-to-.env-file> dbt-mcp

Дополнительную информацию об областях см. в документации Understanding MCP server scopes.

Claude for desktop

  1. Перейдите в настройки Claude. Нажмите на меню Claude в системной строке меню (не настройки внутри окна Claude) и выберите Settings….

  2. В окне настроек перейдите на вкладку Developer в левой боковой панели. Этот раздел содержит параметры для настройки MCP-серверов и других функций для разработчиков.

  3. Нажмите кнопку Edit Config и откройте конфигурационный файл в текстовом редакторе.

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

     Local MCP with OAuth

    Локальный MCP с аутентификацией через платформу dbt EnterpriseEnterprise +

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

    Этот вариант предназначен для пользователей, которым нужны только возможности 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.

     Local MCP (CLI only)

    Локальная конфигурация для пользователей, которым нужно использовать только команды dbt CLI с dbt Core или Fusion

    {
    "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 в Terminal (macOS/Linux) или where dbt (Windows) в Powershell
     Local MCP with .env

    Расширенная конфигурация для пользователей, которым нужны пользовательские переменные окружения

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

    {
    "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", "/path/to/.env", "dbt-mcp"]
    }
    }
    }
  5. Сохраните файл. После успешного перезапуска Claude Desktop вы увидите индикатор MCP-сервера в правом нижнем углу поля ввода сообщения.

Для отладки логи Claude Desktop находятся по пути ~/Library/Logs/Claude для Mac или %APPDATA%\Claude\logs для Windows.

Использование OAuth или переменных окружения напрямую

Рекомендуемый способ — настроить переменные окружения напрямую в конфигурационном файле Claude Code без необходимости использовать отдельный файл .env:

  1. Добавьте MCP-сервер:
claude mcp add dbt -- uvx dbt-mcp
  1. Откройте редактор конфигурации:
claude mcp edit dbt
  1. В редакторе конфигурации добавьте переменные окружения в зависимости от вашего сценария использования:

Только для dbt Core или Fusion (без dbt platform):

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

Использование файла .env

Если вы предпочитаете управлять переменными окружения в отдельном файле:

claude mcp add dbt -- uvx --env-file <path-to-.env-file> dbt-mcp

Замените <path-to-.env-file> на полный путь к вашему файлу .env.

Troubleshooting

  • Claude Desktop может возвращать ошибки, такие как Error: spawn uvx ENOENT или Could not connect to MCP server dbt-mcp. Попробуйте заменить команду и путь к файлу с переменными окружения на полный путь. Для uvx определите полный путь, выполнив which uvx в Unix-системах, и укажите этот путь в JSON. Например: "command": "/the/full/path/to/uvx".

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

0
Loading