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

Интеграция VS Code с MCP

Microsoft Visual Studio Code (VS Code) — это мощная и популярная интегрированная среда разработки (IDE).

VS Code может подключаться как к самостоятельно размещённому серверу dbt MCP (работает на вашем компьютере, поддерживает команды CLI, такие как dbt run), так и к удалённому серверу dbt MCP (работает по HTTP, не требует установки, ориентирован на потребление данных). Перед началом убедитесь, что у вас есть:

  • VS Code с установленными последними обновлениями.
  • Для самостоятельно размещённого MCP: выполнена настройка самостоятельно размещённого MCP и настроены пути к вашему проекту dbt.
  • Для удалённого MCP: ваш MCP URL из раздела Account settings → Access URLs → MCP Endpoint URL в dbt platform.
  • После того как администратор настроит общие учетные данные для аналитики, пользователи с доступом только для чтения смогут использовать их вместо собственных учетных данных разработчика.

Настройка подключения к самостоятельно размещённому серверу dbt MCP​

Чтобы начать, в VS Code:

  1. Откройте меню Settings и выберите соответствующую вкладку в верхней части страницы в зависимости от вашего сценария:

    • Workspace: настраивает сервер в контексте текущего workspace
    • User: настраивает сервер в контексте пользователя

    Примечание для пользователей WSL: если вы используете VS Code с Windows Subsystem for Linux (WSL), необходимо настраивать параметры, специфичные для WSL. Выполните команду Preferences: Open Remote Settings из Command Palette (F1) или выберите вкладку Remote в редакторе Settings. Локальные пользовательские настройки используются и в WSL, но могут быть переопределены настройками для WSL. Настройка MCP-серверов в локальных пользовательских настройках не будет корректно работать в среде WSL.

  2. Выберите Features --> Chat

  3. Убедитесь, что MCP Enabled

mcp-vscode-settingsmcp-vscode-settings
  1. Откройте палитру команд Control/Command + Shift + P и выберите один из вариантов:

    • MCP: Open Workspace Folder MCP Configuration — если вы хотите установить MCP-сервер для данного workspace
    • MCP: Open User Configuration — если вы хотите установить MCP-сервер для пользователя
  2. Добавьте конфигурацию сервера (dbt) в предоставленный файл mcp.json как один из серверов:

подсказка

Вам не нужно клонировать репозиторий dbt-mcp. Установите uv и выполните uvx dbt-mcp (или используйте конфигурацию ниже); клонирование требуется только для участия в разработке.

 Самостоятельно размещаемый MCP с OAuth платформы dbt

Самостоятельно размещаемый MCP с 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

(Версии dbt: v1.11 и новее)
{
"servers": {
"dbt": {
"command": "uvx",
"args": ["dbt-mcp"],
"env": {
"DBT_ENGINE_PROJECT_DIR": "/path/to/your/dbt/project",
"DBT_PATH": "/path/to/your/dbt/executable"
}
}
}
}

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

  • (Версии dbt: v1.11 и новее) DBT_ENGINE_PROJECT_DIR: Полный путь к папке, содержащей файл dbt_project.yml
    • macOS/Linux: Выполните pwd из папки проекта.
    • Windows: Выполните cd из папки проекта в командной строке.
  • DBT_PATH: Путь к исполняемому файлу dbt
    • macOS/Linux: Выполните which dbt.
    • Windows: Выполните where dbt.
 Самостоятельно размещённый MCP с .env

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

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

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

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

(Версии dbt: v1.11 и новее)
{
"servers": {
"dbt": {
"command": "uvx",
"args": ["dbt-mcp"],
"env": {
"DBT_ENGINE_HOST": "cloud.getdbt.com",
"DBT_TOKEN": "your-token-here",
"DBT_PROD_ENV_ID": "12345",
"DBT_ENGINE_PROJECT_DIR": "/path/to/project",
"DBT_PATH": "/path/to/dbt"
}
}
}
}

С использованием файла .env (альтернативный вариант — конфигурация из двух файлов):

{
"servers": {
"dbt": {
"command": "uvx",
"args": [
"--env-file",
"/absolute/path/to/your-dbt-project/.env",
"dbt-mcp"
]
}
}
}
  1. Вы можете запускать, останавливать и настраивать MCP-серверы следующими способами:
    • Выполняя команду MCP: List Servers из Command Palette (Control/Command + Shift + P) и выбирая нужный сервер.
    • Используя ключевые слова inline непосредственно в файле mcp.json.
VS Code inline managementVS Code inline management

Теперь вы можете получать доступ к серверу dbt MCP в VS Code через такие интерфейсы, как GitHub Copilot.

Настройка подключения к удалённому серверу dbt MCP​

Удалённый сервер dbt MCP работает в dbt platform — uvx и самостоятельная установка не требуются. VS Code подключается к нему по HTTP с помощью того же файла mcp.json, который используется для серверов, размещённых самостоятельно.

к сведению

OAuth для удалённого MCP доступен в публичной бета-версии для учётных записей Starter, Enterprise и Enterprise+.

  1. Откройте палитру команд (Control/Command + Shift + P) и выберите один из вариантов:

    • MCP: Open Workspace Folder MCP Configuration — для этой рабочей области.
    • MCP: Open User Configuration — для вашего пользователя.
  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 в ключ верхнего уровня servers. (VS Code использует servers, а не mcpServers.) Выберите вкладку, соответствующую вашему способу аутентификации:

    OAuth для удалённого сервера MCP доступен в рамках публичного бета-тестирования для учётных записей Starter, Enterprise и Enterprise+.

    Перед подключением

    • Ваш MCP-клиент должен поддерживать OAuth для MCP-серверов, работающих по HTTP. Если такой поддержки нет, используйте аутентификацию на основе токенов.
    • При первом подключении клиент открывает браузер для входа в систему. Затем dbt показывает экран согласия с запрашиваемыми областями доступа (конкретными разрешениями, которые клиенту будет позволено использовать) — описание каждой области доступа см. в разделе Области доступа и согласие.
    • Большинство современных MCP-клиентов регистрируются самостоятельно при первом подключении с помощью динамической регистрации (RFC 7591). Клиенты, которые её не поддерживают, администратор должен зарегистрировать в разделе Account settings → Integrations → App integrations. См. раздел Ручная регистрация.

    Полное описание процесса, сеансов и ограничений см. в разделе OAuth (удалённый MCP).

    Добавьте следующий код в mcp.json. При первом подключении к серверу VS Code откроет браузер для входа и предоставления согласия.

    {
    "servers": {
    "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.

  4. Сохраните файл. Выполните команду MCP: List Servers из палитры команд, чтобы запустить сервер, а затем задайте в Copilot Chat вопрос о данных, чтобы проверить подключение.

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

В этом разделе приведены шаги по устранению ошибок, с которыми вы можете столкнуться при интеграции VS Code с MCP.

Не удаётся найти исполняемый файл uvx
Конфигурация не работает в WSL (VS Code)
Сервер не запускается

Ресурсы​

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

0
Loading