MCP Docs ревизия 2026-07-28

Начало / Как подключить MCP-сервер / Подключение MCP-сервера в OpenCode

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

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

РуководствоСверено с документацией поставщиков серверов 13.10.2026Основа: Руководство GitHub MCP Server для OpenCodeСверено 13.10.2026, ревизия 2026-07-28Открыть .md

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

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

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

opencode.json — ВкусВилл MCP
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "vkusvill": {
      "type": "remote",
      "url": "https://mcp.vkusvill.ru/mcp",
      "enabled": true
    }
  }
}

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

opencode.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 — локальный сервер
{
  "$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: задайте переменную до запуска.

Другие ошибки — в разделе «Частые ошибки».