# Подключение MCP-сервера в OpenCode

Раздел mcp в opencode.json: локальные и удалённые серверы

> Страница сайта MCP Docs — руководство (https://mcpdocs.ru/podklyuchenie/opencode/). Тип: Руководство. Сверено с документацией поставщиков серверов 13.10.2026. Ревизия спецификации 2026-07-28, сверено 13.10.2026.

OpenCode — агент для работы с кодом в терминале. Серверы MCP он берёт из раздела `mcp` файла `opencode.json` (или `opencode.jsonc`): обычно `~/.config/opencode/opencode.json` или файл в корне проекта.

_OpenCode описывает серверы в разделе mcp: local — команда массивом, remote — адрес; секреты подставляются из переменных окружения._

## Удалённый сервер

_opencode.json — ВкусВилл MCP_

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vkusvill": {
      "type": "remote",
      "url": "https://mcp.vkusvill.ru/mcp",
      "enabled": true
    }
  }
}
```

Если сервер принимает токен, а не OAuth, укажите заголовок и отключите автоматический поиск OAuth:

_opencode.json — токен из переменной окружения_

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "github": {
      "type": "remote",
      "url": "https://api.githubcopilot.com/mcp/",
      "enabled": true,
      "oauth": false,
      "headers": { "Authorization": "Bearer {env:GITHUB_PERSONAL_ACCESS_TOKEN}" }
    }
  }
}
```

## Локальный сервер

У локального сервера команда записывается массивом, переменные окружения — в `environment`:

_opencode.json — локальный сервер_

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "playwright": {
      "type": "local",
      "command": ["npx", "@playwright/mcp@latest"],
      "enabled": true
    },
    "yandex-search": {
      "type": "local",
      "command": ["npx", "-y", "@yandex-cloud/mcp", "-s", "search"],
      "enabled": true
    }
  }
}
```

## На что обратить внимание

- Серверы с десятками инструментов заметно расходуют контекст модели. Отключайте лишние серверы полем `"enabled": false` и сужайте набор инструментов, если сервер это позволяет.
- Подстановка `{env:ИМЯ}` берёт значение из окружения, в котором запущен OpenCode: задайте переменную до запуска.

Другие ошибки — в разделе [«Частые ошибки»](https://mcpdocs.ru/podklyuchenie/#oshibki).
