---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.4
alternate:
  - https://sourcecraft.dev/portal/docs/en/code-assistant/operations/agent/mcp/using-mcp-in-ca.md
  - https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/using-mcp-in-ca.md
  - href: ru/code-assistant/operations/agent/mcp/using-mcp-in-ca.md
    type: text/markdown
    title: Markdown version
  - href: ../../../llms.txt
    type: text/markdown
    title: llms.txt
title: "MCP в плагине Code\_Assistant для VS Code"
description: "Настройка, включение и управление MCP-серверами в плагине Code\_Assistant для VS Code."
---
> **Documentation Index:** Fetch the complete configuration index at https://sourcecraft.dev/portal/docs/ru/llms.txt


# MCP в плагине Code Assistant для VS Code

<!-- source: ru/_includes/code-assistant/only-in-vscode.md -->
{% note warning %}

Функциональность доступна только в Visual Studio Code.

{% endnote %}
<!-- endsource: ru/_includes/code-assistant/only-in-vscode.md -->

Сервер MCP (Model Context Protocol) действует как мост, предоставляя Code Assistant доступ к более широкому спектру инструментов и внешних сервисов, таких как базы данных, API или пользовательские скрипты. Он использует стандартный метод связи, позволяя Code Assistant использовать эти внешние возможности.

Подробнее на странице [Что такое MCP](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/what-is-mcp.md).

<!-- source: ru/_includes/code-assistant/recommended-mcp-servers.md -->
{% note info %}

Список MCP-серверов Yandex Cloud и SourceCraft, а также рекомендуемые MCP-серверы можно посмотреть в разделе [MCP-серверы SourceCraft и Yandex Cloud](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/recommended-mcp-servers.md).

{% endnote %}
<!-- endsource: ru/_includes/code-assistant/recommended-mcp-servers.md -->

## Настройка MCP-серверов {#configuring-mcp-servers}

Конфигурации MCP-серверов можно управлять на следующих уровнях:
* Глобальная конфигурация — хранится в файле `mcp_settings.json`, доступном через настройки VS Code. Эти настройки применяются ко всем вашим рабочим пространствам, если не переопределены конфигурацией на уровне проекта.
* Конфигурация на уровне проекта — определяется в файле `.codeassistant/mcp.json` в корневом каталоге вашего проекта. Это позволяет настроить серверы, специфичные для проекта, и делиться конфигурациями с вашей командой, добавляя файл в систему контроля версий. Code Assistant автоматически обнаруживает и загружает этот файл, если он существует.

{% note warning %}

Если репозиторий размещен на платформе SourceCraft, то предустанавливается MCP для взаимодействия с платформой. Этот MCP позволяет создавать [Предложения изменений (pull requests)](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/index.md#pr) на платформе, читать и реализовывать [Задачи](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/index.md#issues) и многое другое. Также в системный промпт включаются рекомендации по использованию MCP и слаг репозитория.

{% endnote %}

Если имя сервера существует как в глобальной, так и в проектной конфигурации, конфигурация на уровне проекта имеет приоритет.

### Редактирование файлов с настройками MCP {#editing-mcp-settings-files}

Вы можете редактировать как глобальные, так и проектные файлы конфигурации MCP прямо из меню настроек MCP в Code Assistant:

1. Нажмите ![image](../../../../_assets/console-icons/ellipsis.svg) в верхней панели чата и выберите MCP-серверы.
1. Выберите соответствующую опцию:
    * ![image](../../../../_assets/console-icons/pencil.svg) **Edit Global MCP** — открывает глобальный файл `mcp_settings.json`.
    * ![image](../../../../_assets/console-icons/pencil.svg) **Edit Project MCP** — открывает проектный файл `.codeassistant/mcp.json`. Если этот файл отсутствует, Code Assistant создаст его автоматически.

    Оба файла используют формат JSON с объектом `mcpServers`, содержащим именованные конфигурации серверов:

    ```json
    {
      "mcpServers": {
        "server1": {
          "command": "python",
          "args": ["/path/to/server.py"],
          "env": {
            "API_KEY": "your_api_key"
          },
          "alwaysAllow": ["tool1", "tool2"],
          "disabled": false
        }
      }
    }
    ```

### Типы транспорта {#transport-types}

MCP поддерживает следующие типы транспорта для связи с серверами: STDIO для локальных серверов, Streamable HTTP (рекомендуется для новых удаленных серверов) и SSE (для устаревших удаленных серверов).

#### Транспорт STDIO {#stdio-transport}

Используется для локальных серверов, работающих на вашем компьютере:
* Обмен данными через стандартные потоки ввода/вывода.
* Низкая задержка (отсутствие сетевых накладных расходов).
* Повышенная безопасность (отсутствие сетевой доступности).
* Упрощенная настройка (не требуется HTTP-сервер).
* Запускается как дочерний процесс на вашем компьютере.

Подробнее на странице [Транспорт STDIO](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/server-transports.md#stdio).

Пример конфигурации STDIO:

```json
{
  "mcpServers": {
    "local-server": {
      "command": "node",
      "args": ["server.js"],
      "cwd": "/path/to/project/root", // Необязательно: указание рабочей директории
      "env": {
        "API_KEY": "your_api_key"
      },
      "alwaysAllow": ["tool1", "tool2"],
      "disabled": false
    }
  }
}
```

Где:
* `command` (обязательный) — исполняемый файл для запуска (например `node`, `python`, `npx` или абсолютный путь).
* `args` (опциональный) — массив строковых аргументов, передаваемых в команду. Вы можете использовать системные переменные окружения через синтаксис `${env:VARIABLE_NAME}`.
* `cwd` (опциональный) — рабочая директория, из которой будет запущен серверный процесс. Если не указано, используется путь первой папки рабочего пространства или рабочая директория основного процесса. Полезно, если скрипт сервера зависит от относительных путей.
* `env` (опциональный) — объект, содержащий переменные окружения для установки в процессе сервера.
* `alwaysAllow` (опциональный) — массив названий инструментов с этого сервера, которые будут автоматически одобрены.
* `disabled` (опциональный) — установите `true`, чтобы отключить эту конфигурацию сервера.

#### Использование системных переменных окружения в аргументах {#environment-variables}

Вы можете ссылаться на системные переменные окружения в массиве `args`, используя синтаксис `${env:VARIABLE_NAME}`. Это позволяет передавать конфиденциальную информацию, такую как API-ключи или токены, из системного окружения без их прямого упоминания в конфигурации:

```json
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN=${env:GITHUB_PERSONAL_ACCESS_TOKEN}",
        "ghcr.io/github/github-mcp-server"
      ],
      "alwaysAllow": [
        "get_pull_request"
      ]
    }
  }
}
```

В этом примере `${env:GITHUB_PERSONAL_ACCESS_TOKEN}` будет заменен значением переменной окружения `GITHUB_PERSONAL_ACCESS_TOKEN` из вашей системы. Это особенно полезно, когда:
* Вы работаете с Docker-контейнерами, которым нужно передавать переменные окружения.
* Вы хотите исключить конфиденциальные данные из конфигурационных файлов.
* Вы используете одну и ту же конфигурацию в разных окружениях с разными учетными данными.

{% note info %}

Переменная окружения должна существовать в вашей системе, чтобы это работало. Вы можете задать системные переменные окружения через настройки операционной системы или конфигурационные файлы оболочки (например, `.bashrc`, `.zshrc` или переменные окружения Windows).

{% endnote %}

#### Транспорт Streamable HTTP {#streamable-http-transport}

Это современный стандарт для удаленных серверов, доступных через HTTP/HTTPS, обеспечивающий большую гибкость и заменяющий устаревший транспорт SSE для новых реализаций:
* Обмен данными через HTTP POST/GET с единым MCP-эндпоинтом.
* Опционально использует Server-Sent Events (SSE) для потоковой передачи.
* Может быть размещен на удаленном сервере.
* Поддерживает несколько клиентских подключений.
* Требует сетевого доступа.
* Поддерживает централизованное развертывание и управление.

Подробнее на странице [Транспорт Streamable HTTP](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/server-transports.md#streamable-http).

Пример конфигурации Streamable HTTP:

```json
{
  "mcpServers": {
    "modern-remote-server": {
      "type": "streamable-http",
      "url": "https://your-modern-server.com/api/mcp-endpoint",
      "headers": {
        "X-API-Key": "your-secure-api-key"
      },
      "alwaysAllow": ["newToolA", "newToolB"],
      "disabled": false
    }
  }
}
```

Где:
* `type` (обязательный) — должен быть установлен в `"streamable-http"`.
* `url` (обязательный) — полный URL единого эндпоинта удаленного MCP-сервера, например `https://your-server.com/mcp`.
* `headers` (опциональный) — объект, содержащий пользовательские HTTP-заголовки для отправки с запросами, например для токенов аутентификации.
* `alwaysAllow` (опциональный) — массив названий инструментов с этого сервера, которые будут автоматически одобрены.
* `disabled` (опциональный) — установите в `true`, чтобы отключить эту конфигурацию сервера.

#### Транспорт SSE (устаревший) {#sse-transport-legacy}

Используется для старых удаленных серверов, доступных через HTTP/HTTPS:
* Обмен данными через протокол Server-Sent Events (обычно требует отдельных эндпоинтов для связи клиент-сервер и сервер-клиент).
* Может быть размещен на удаленном сервере.
* Поддерживает несколько клиентских подключений.
* Требует сетевого доступа.
* Поддерживает централизованное развертывание и управление.

Для новых реализаций удаленных серверов рекомендуется использовать [Streamable HTTP](#streamable-http-transport).

Подробнее на странице [Транспорт SSE (устаревший)](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/server-transports.md#sse-transport).

Пример конфигурации SSE (устаревший):

```json
{
  "mcpServers": {
    "legacy-remote-server": {
      "type": "sse", // Явно указать как SSE
      "url": "https://your-legacy-server-url.com/mcp-base", // Базовый URL
      "headers": {
        "Authorization": "Bearer your-legacy-token"
      },
      "alwaysAllow": ["oldToolX"],
      "disabled": false
    }
  }
}
```

Где:
* `type` (опциональный, но рекомендуется для ясности) — должен быть установлен в `"sse"`, если указан `url` для SSE-сервера, чтобы отличить от Streamable HTTP. Если `url` указан, но `type` отсутствует, Code Assistant может попытаться определить тип автоматически, но явное указание предпочтительнее.
* `url` (обязательный) — базовый URL удаленного MCP-сервера. Для устаревшего SSE это обычно подразумевает отдельные пути, такие как `/events` (для потока SSE) и `/message` (для POST-запросов), которые будут определены или ожидаемы сервером.
* `headers` (опциональный) — объект, содержащий пользовательские HTTP-заголовки для отправки с запросами, например для токенов аутентификации.
* `alwaysAllow` (опциональный) — массив названий инструментов с этого сервера, которые будут автоматически одобрены.
* `disabled` (опциональный) — установите в `true`, чтобы отключить эту конфигурацию сервера.

## Включение или отключение MCP-серверов {#disable-mcp-servers}

Отключение MCP-серверов удаляет всю связанную с MCP логику и определения из системного запроса, что снижает использование токенов. Это предотвратит подключение Code Assistant к любым MCP-серверам, а инструменты `use_mcp_tool` и `access_mcp_resource` станут недоступны. Установите этот параметр, если вы не планируете использовать MCP-серверы. По умолчанию включено.

1. Нажмите ![image](../../../../_assets/console-icons/ellipsis.svg) в верхней панели чата и выберите MCP-серверы.
1. Включите или выключите опцию **Enable MCP Servers**.

## Включение или отключение создания MCP-серверов {#enabling-or-disabling-mcp-server-creation}

Отключение создания MCP-серверов удаляет инструкции из системного запроса, которые Code Assistant использует для написания MCP-серверов, но не удаляет контекст, связанный с их работой. Это снижает использование токенов. По умолчанию включено.

1. Нажмите ![image](../../../../_assets/console-icons/ellipsis.svg) в верхней панели чата и выберите MCP-серверы.
1. Включите или выключите опцию **Enable MCP Server Creation**.

## Как использовать Code Assistant для создания MCP-сервера {#how-to-use-ca-to-create-mcp-server}

Если вам нужен определенный инструмент или возможность, которые недоступны через существующие MCP-серверы, вы можете попросить Code Assistant создать новый.

{% note tip %}

Убедитесь, что опция **Enable MCP Server Creation** включена в панели настроек MCP. Если эта опция отключена, Code Assistant не будет иметь необходимых инструкций для создания сервера.

{% endnote %}

1. Сформулируйте запрос: явно попросите Code Assistant о новом инструменте или возможности. Например:
    * `Создай MCP-инструмент, который получает текущую цену биткоина.`
    * `Мне нужен инструмент, который подключается к внутренней базе данных пользователей моей компании через ее API.`
    * `Создай MCP-сервер для взаимодействия с API GitHub Gist.`
1. После вашего запроса Code Assistant выполнит следующие шаги:
    * Получит внутренние инструкции для создания сервера.
    * Создаст базовый проект сервера (обычно на TypeScript) в стандартной директории MCP, если вы не укажете иное.
    * Напишет код для реализации запрошенного инструмента, включая обработку необходимых API-вызовов.
    * Если инструмент требует ключи API или другие учетные данные, Code Assistant запросит их у вас с помощью инструмента `ask_followup_question`, чтобы настроить их безопасно как переменные окружения для сервера.
    * Автоматически добавит конфигурацию нового сервера в ваш глобальный файл `mcp_settings.json` или проектный файл `.codeassistant/mcp.json`.
    * Попытается подключиться к вновь настроенному серверу, чтобы его инструменты стали доступны.
1. Если предыдущие шаги выполнены успешно, Code Assistant подтвердит создание, и новый сервер и его инструменты появятся в вашем списке MCP-серверов, готовые к использованию.

Эта функция позволяет вам адаптировать возможности Code Assistant, создавая интеграции, которые вам нужны, прямо из ваших запросов.

## Управление отдельными MCP-серверами {#managing-individual-mcp-servers}

Каждый MCP-сервер имеет собственную панель конфигурации, где можно изменять настройки, управлять инструментами и контролировать его работу. Чтобы получить доступ к этим настройкам:

1. Нажмите ![image](../../../../_assets/console-icons/ellipsis.svg) в верхней панели чата и выберите MCP-серверы.
1. В списке MCP-серверов найдите нужный и выполните одно из следующих действий: 

### Удаление сервера {#deleting-a-server}

1. Нажмите ![image](../../../../_assets/console-icons/trash-bin.svg) рядом с MCP-сервером, который вы хотите удалить.
1. В окне подтверждения нажмите **Delete**.

### Перезапуск сервера {#restarting-a-server}

Нажмите ![image](../../../../_assets/console-icons/arrow-rotate-right.svg) рядом с MCP-сервером, который вы хотите перезапустить.

### Включение или отключение сервера {#enabling-or-disabling-a-server}

Нажмите переключатель ![image](../../../../_assets/console-icons/toggle-on.svg) рядом с MCP-сервером, который вы хотите включить или выключить.

### Тайм-аут сети {#network-timeout}

Чтобы установить максимальное время ожидания ответа после вызова инструмента на MCP-сервере:
1. Раскройте выпадающий список ![image](../../../../_assets/console-icons/chevron-right.svg) рядом с MCP-сервером.
1. Выставьте время в поле **Network Timeout**. По умолчанию установлена 1 минута, но можно задать значение от 30 секунд до 5 минут.

### Автоматическое одобрение инструментов {#auto-approving-mcp-tools}

[Автоматическое одобрение](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/auto-approving-actions.md) инструментов MCP работает для каждого инструмента отдельно и по умолчанию отключено. Чтобы настроить автоматическое одобрение:
1. На панели ![image](../../../../_assets/console-icons/check-double.svg) **Auto-approve** включите ![image](../../../../_assets/console-icons/toggle-on.svg) MCP.
1. Раскройте необходимый MCP-сервер и выберите параметр **Auto-Run** для конкретных инструментов.

После включения Code Assistant будет автоматически одобрять использование этого инструмента без запроса. 

{% note info %}

Глобальная настройка **MCP** на панели ![image](../../../../_assets/console-icons/check-double.svg) **Auto-approve** имеет приоритет — если она отключена, никакие инструменты MCP не будут автоматически одобряться.

{% endnote %}

## Поиск и установка MCP-серверов {#finding-and-installing-mcp-servers}

Вы можете найти и установить MCP-серверы в Code Assistant самостоятельно, для этого:
* Проверьте списки MCP-серверов, поддерживаемых сообществом на GitHub.
* Попросите Code Assistant помочь вам найти или даже создать MCP-серверы, если включена опция [Enable MCP Server Creation](#enabling-or-disabling-mcp-server-creation).
* Создайте пользовательские MCP-серверы с помощью SDK, чтобы расширить возможности Code Assistant своими инструментами. Полная документация SDK в [репозитории MCP на GitHub](https://github.com/modelcontextprotocol/).

<!-- source: ru/_includes/code-assistant/recommended-mcp-servers.md -->
{% note info %}

Список MCP-серверов Yandex Cloud и SourceCraft, а также рекомендуемые MCP-серверы можно посмотреть в разделе [MCP-серверы SourceCraft и Yandex Cloud](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/recommended-mcp-servers.md).

{% endnote %}
<!-- endsource: ru/_includes/code-assistant/recommended-mcp-servers.md -->

## Использование инструментов MCP в вашем рабочем процессе {#using-mcp-tools-in-your-workflow}

После настройки MCP-сервера Code Assistant автоматически обнаруживает доступные инструменты и ресурсы. Эффективное использование этих инструментов требует понимания основных шагов взаимодействия и того, как Code Assistant интерпретирует предоставленные вами инструменты.

### Основные шаги рабочего процесса {#main-workflow-steps}

Ваше взаимодействие с инструментами MCP обычно происходит в следующей последовательности:

#### 1. Запуск задачи {#starting-a-task}

Начните с ввода вашего запроса в интерфейсе чата Code Assistant.

#### 2. Идентификация инструмента Code Assistant {#identifying-mcp-tools}

Code Assistant анализирует ваш запрос, чтобы определить, может ли доступный инструмент MCP помочь. Этот этап сильно зависит от качества описаний ваших инструментов MCP.

##### Критическая роль описаний {#critical-role-of-descriptions}

Описания инструментов существенно влияют на способность Code Assistant:
* Определить правильный инструмент для задачи,
* Понять, как структурировать необходимые параметры.
* Понять, как избежать неправильной интерпретации возможностей инструмента.

Все это зависит от четких, лаконичных и информативных описаний как самих инструментов, так и их параметров. Неясная или отсутствующая информация, особенно для параметров, может значительно затруднить выбор или использование инструмента Code Assistant.

Например, запрос `Проанализируй производительность моего API` может привести к тому, что Code Assistant выберет инструмент MCP, предназначенный для тестирования эндпоинтов API. Успешная идентификация и использование этого инструмента Code Assistant напрямую зависят от качества его описания.

##### Рекомендации для определения инструментов MCP {#best-practices-for-identifying-mcp-tools}

Чтобы Code Assistant мог эффективно использовать ваши инструменты MCP, учитывайте следующее при их определении на сервере:
* Название инструмента — выберите описательное и однозначное название, которое четко указывает на основную функцию инструмента.
* Описание инструмента — предоставьте подробное резюме того, что делает инструмент, его назначение и любые важные контексты или предварительные условия для его использования. Объясните результат или итог использования инструмента.
* Описание параметров — это критически важно. Для каждого параметра:
  * Четко укажите его назначение и тип ожидаемых данных, например `ID пользователя для поиска`, `Путь к файлу для обработки`, `Строка поискового запроса`.
  * Укажите любые требования к формату, ограничения или пример допустимого значения, если применимо.
  * Укажите, является ли параметр необязательным или обязательным. Хотя схема MCP обычно обрабатывает это, заметка может быть полезной.
* Ясность для ИИ — пишите описания так, как если бы вы объясняли инструмент другому разработчику или ИИ. Чем больше контекста у Code Assistant, тем лучше он сможет интегрировать инструмент в свои рабочие процессы. Если инструмент предназначен для использования в определенной последовательности или в сочетании с другими инструментами, упоминание об этом также может быть полезным.
* Дополнение пользовательскими инструкциями — помимо описаний, встроенных в MCP-сервер, вы можете дополнительно направлять Code Assistant на использование конкретных инструментов MCP, предоставляя [пользовательские инструкции](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/chat-rules.md). Это позволяет определить предпочтительные подходы, описать сложные рабочие процессы, включающие несколько инструментов, или указать, когда определенный инструмент MCP должен быть приоритетным или избегаться.

#### 3. Вызов инструмента {#calling-a-tool}

Если Code Assistant, руководствуясь описаниями инструментов, определяет подходящий инструмент, он предложит его использование. Затем вы должны одобрить это, если [автоодобрение](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/auto-approving-actions.md) не настроено для доверенных инструментов.

### Максимизация взаимодействия с MCP-серверами {#maximizing-interaction-with-mcp-servers}

Вкладывая усилия в создание детализированных описаний и, возможно, дополняя их пользовательскими инструкциями, вы значительно улучшаете взаимодействие между Code Assistant и вашими MCP-серверами. Это раскрывает их полный потенциал для более надежного и эффективного выполнения задач.

## Устранение неполадок MCP-серверов {#troubleshooting-mcp-servers}

Распространенные проблемы и их решения:
* Сервер не отвечает — проверьте, запущен ли процесс сервера, и убедитесь в наличии сетевого подключения.
* Ошибки прав доступа — убедитесь, что в `mcp_settings.json` для глобальных настроек или `.codeassistant/mcp.json` для настроек проекта правильно настроены API-ключи и учетные данные.
* Инструмент недоступен — убедитесь, что сервер правильно реализует инструмент и он не отключен в настройках.
* Медленная работа — попробуйте изменить значение тайм-аута сети для конкретного MCP-сервера.

## Примеры конфигурации MCP для разных платформ {#examples-of-mcp-configuration-for-different-platforms}

{% list tabs %}

- macOS/Linux

  При настройке MCP-серверов на macOS или Linux можно использовать более простую конфигурацию, так как оболочка Windows не требуется. Вот пример настройки MCP-сервера Puppeteer на macOS или Linux:

  ```json
  {
    "mcpServers": {
      "puppeteer": {
        "command": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-puppeteer"
        ]
      }
    }
  }
  ```

  Эта конфигурация:
  * Напрямую использует `npx` без необходимости оболочки.
  * Использует флаг `-y` для автоматического ответа `да` на любые запросы во время установки.
  * Запускает пакет `@modelcontextprotocol/server-puppeteer`, который предоставляет возможности автоматизации браузера.

  Тот же подход можно использовать для других MCP-серверов на Windows, изменяя имя пакета в зависимости от типа сервера.

- Windows

  При настройке MCP-серверов на Windows используйте командную строку Windows `cmd.exe` для выполнения команд. Вот пример настройки MCP-сервера Puppeteer на Windows:

  ```json
  {
    "mcpServers": {
      "puppeteer": {
        "command": "cmd",
        "args": [
          "/c",
          "npx",
          "-y",
          "@modelcontextprotocol/server-puppeteer"
        ]
      }
    }
  }
  ```

  Эта конфигурация:
  * Использует команду `cmd.exe` для доступа к командной строке Windows.
  * Использует `/c`, чтобы указать `cmd.exe` выполнить команду и завершить работу.
  * Использует `npx` для запуска пакета без его постоянной установки.
  * Флаг `-y` автоматически отвечает `да` на любые запросы во время установки.
  * Запускает пакет `@modelcontextprotocol/server-puppeteer`, который предоставляет возможности автоматизации браузера.

{% endlist %}

## Конфигурация с использованием менеджеров версий сред выполнения {#configuration-with-runtime-version-managers}

При работе с несколькими версиями языков программирования или сред выполнения вы можете использовать менеджеры версий, такие как [asdf](https://asdf-vm.com/) или [mise](https://mise.jdx.dev/) (ранее rtx). Эти инструменты помогают управлять несколькими версиями сред выполнения на одной системе. Вот как настроить MCP-серверы для работы с этими менеджерами версий:

{% list tabs %}

- mise

  [mise](https://mise.jdx.dev/) — это быстрый, современный менеджер версий сред выполнения, который можно использовать для указания версии Node.js, Python или других сред выполнения для вашего MCP-сервера:

  ```json
  {
    "mcpServers": {
      "mcp-batchit": {
        "command": "mise",
        "args": [
          "x",
          "--",
          "node",
          "/Users/myself/workspace/mcp-batchit/build/index.js"
        ],
        "disabled": false,
        "alwaysAllow": [
          "search",
          "batch_execute"
        ]
      }
    }
  }
  ```

  Эта конфигурация:
  * Использует команду `mise` для управления версиями сред выполнения.
  * Подкоманда `x` выполняет команду с настроенной версией среды выполнения.
  * `--` разделяет аргументы `mise` и команду для выполнения.
  * Запускает `node` с конкретной версией, настроенной в настройках `mise`.
  * Указывает на JavaScript-файл MCP-сервера.
  * Автоматически разрешает инструменты `search` и `batch_execute`.

- asdf

  [asdf](https://asdf-vm.com/) — популярный инструмент для управления несколькими версиями среды выполнения. Вот как настроить MCP-сервер для использования определенной версии Node.js, управляемой `asdf`:

  ```json
  {
    "mcpServers": {
      "appsignal": {
        "command": "/Users/myself/.asdf/installs/nodejs/22.2.0/bin/node",
        "args": [
          "/Users/myself/Code/Personal/my-mcp/build/index.js"
        ],
        "env": {
          "ASDF_NODE_VERSION": "22.2.0"
        },
        "disabled": false,
        "alwaysAllow": []
      }
    }
  }
  ```

  Эта конфигурация:
  * Напрямую ссылается на исполняемый файл Node.js из каталога установок `asdf`.
  * Устанавливает переменную окружения `ASDF_NODE_VERSION`, чтобы гарантировать использование согласованной версии.
  * Указывает на JavaScript-файл MCP-сервера.

  Использование менеджеров версий гарантирует, что ваши MCP-серверы работают с правильной версией среды выполнения, независимо от версии по умолчанию в системе, обеспечивая согласованность в разных средах и предотвращая конфликты версий.

{% endlist %}

#### Полезные ссылки {#see-also}

* [Что такое MCP](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/what-is-mcp.md)
* [Обзор MCP](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/overview.md)
* [Транспорт MCP в плагине Code Assistant для VS Code](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/server-transports.md)
* [Работа с MCP-сервером SourceCraft](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/work-with-mcp.md)
* [Отличия MCP и REST API](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/mcp-vs-api.md)
* [MCP-серверы SourceCraft и Yandex Cloud](https://sourcecraft.dev/portal/docs/ru/code-assistant/operations/agent/mcp/recommended-mcp-servers.md)
