MCP в OpenCode: удалённые серверы в opencode.jsonMCP-сервер: что это простыми словами и как подключить

MCP в OpenCode: удалённые серверы в opencode.json

Коротко: MCP-серверы в OpenCode описываются в блоке mcp файла opencode.json. Для удалённого сервера нужны "type": "remote" и url; вход — ключом в headers или через opencode mcp auth. Ниже готовый конфиг и то, о чём не пишут в кратких инструкциях: как не раздуть контекст агента инструментами.

Что даёт MCP агенту в терминале

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

Шаг 1. Ключ

Если вы уже настроили OpenCode на наш API по главе «opencode в России», ключ у вас есть: тот же ключ открывает и MCP-серверы, баланс общий. Если нет — получите его здесь, без регистрации:

Ключ для OpenCode

Получите ключ sk-… прямо на странице

Один ключ подходит и для модели в OpenCode, и для MCP-серверов. Выберите серию — пригодится, если захотите подключить и модель тоже.

Нажмите — и получите base_url и API-ключ.

Регистрация и карта не нужны.

Бесплатно. Ключ появится прямо здесь.

Положите ключ в переменную окружения, чтобы он не попал в git:

Шаблон — так работать не будет~/.zshrc или ~/.bashrcПодсвеченное — заглушки. Их выдаёт кнопка выше: пара секунд, без регистрации и карты.
export TWELVER_API_KEY="sk-<ваш-ключ>"

Шаг 2. Блок mcp в opencode.json

Глобальный конфиг лежит в ~/.config/opencode/opencode.json, проектный — в opencode.json в корне репозитория. Добавьте серверы:

Готово к работеopencode.jsonВаш ключ уже подставлен — копируйте как есть. Синее — не заглушка: {env:…} подставляет значение из переменной окружения. Оставьте как есть.
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "twelver-web-search": {
      "type": "remote",
      "url": "https://twelver.ru/api/mcp/v1/web-search",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:TWELVER_API_KEY}"
      }
    },
    "twelver-image": {
      "type": "remote",
      "url": "https://twelver.ru/api/mcp/v1/image-generation",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:TWELVER_API_KEY}"
      }
    }
  }
}

Перезапустите OpenCode и проверьте, что серверы подключились:

opencode mcp list

Вариант без ключа: OAuth

Если убрать headers, OpenCode увидит, что серверу нужен вход, и предложит пройти его в браузере. Запустить вход можно и вручную:

opencode mcp auth twelver-web-search

Для входа через OAuth нужен зарегистрированный аккаунт. Если что-то идёт не так, opencode mcp debug имя-сервера покажет, на каком шаге остановился вход, а opencode mcp logout сбросит сохранённые токены.

Шаг 3. Проверьте в сессии

Попросите агента что-то, для чего нужен инструмент:

  • «Найди в документации, как в последней версии Next.js настраиваются кэширующие заголовки, и поправь next.config» — агент сходит в web-search, прочитает страницу и только потом возьмётся за код.
  • «Сгенерируй иконку приложения 1:1 в плоском стиле, положи ссылку в README» — сработает text-to-image.

Как не перегрузить агента инструментами

Каждый подключённый сервер добавляет описания своих инструментов в каждый запрос к модели. Это стоит токенов и, что хуже, размывает внимание модели: при двадцати инструментах она чаще зовёт не тот. Три практических правила:

  • Держите в глобальном конфиге только то, что нужно везде — обычно это поиск. Генерацию картинок включайте в проектном конфиге фронтенда.
  • Выключайте, а не удаляйте: "enabled": false оставляет сервер в конфиге, но не грузит его при старте.
  • Подключайте набор под задачу. Серверы Twelver разделены по наборам как раз для этого: поиск отдельно, изображения отдельно, видео отдельно.

Поле timeout — не про долгие генерации

В OpenCode timeout у MCP-сервера — это время на получение списка инструментов при подключении (по умолчанию 5 секунд), а не на выполнение вызова. Если сервер не успевает ответить на старте, поднимите его; на длительность генерации это поле не влияет.

Модель и инструменты одним ключом

Особенность связки, ради которой её стоит собрать: OpenCode может брать у Twelver и модель (через OpenAI-совместимый провайдер), и инструменты (через MCP) — одним ключом и с одного баланса. Провайдер настраивается по главе «opencode в России», MCP — как выше; оба блока живут в одном opencode.json.

Если не работает

СимптомПричинаЧто делать
Сервер в mcp list со статусом ошибкиКлюч не подставился из окруженияПроверьте echo $TWELVER_API_KEY в той же оболочке, где запускаете OpenCode
Инструментов нет в сессииСервер выключен или конфиг не подхватилсяПроверьте "enabled": true и что JSON валиден
Таймаут при стартеСписок инструментов не успел загрузиться за 5 секундПоднимите timeout у сервера, например до 15000
Агент зовёт не тот инструментПодключено слишком много серверовВыключите лишние через "enabled": false
Формат конфига сверен с документацией OpenCode на 17.09.2026.

Пишете код не только в терминале? Та же схема для Codex и Cursor, а подборка серверов, которые стоит подключить разработчику, — в статье лучшие MCP-серверы.

Частые вопросы

Как подключить MCP к OpenCode?
Добавьте в opencode.json блок mcp с записью сервера. Для удалённого: "type": "remote", "url" и при необходимости "headers" с ключом; для локального: "type": "local" и команда запуска. Перезапустите OpenCode и проверьте подключение командой opencode mcp list.
Где лежит конфиг MCP в OpenCode?
В том же файле, что и остальные настройки: глобально — ~/.config/opencode/opencode.json, для проекта — opencode.json в корне репозитория. Проектный конфиг дополняет и перекрывает глобальный.
Как передать API-ключ MCP-серверу в OpenCode?
Через поле headers: "Authorization": "Bearer {env:ИМЯ_ПЕРЕМЕННОЙ}". Запись {env:…} подставляет значение переменной окружения при запуске, так что сам ключ в файл не попадает.
Поддерживает ли OpenCode OAuth для MCP?
Да. Если удалённый сервер требует входа, OpenCode предложит пройти его в браузере; вручную вход запускается командой opencode mcp auth имя-сервера, а сбрасывается — opencode mcp logout.
Замедляют ли MCP-серверы OpenCode?
Только при запуске, пока загружается список инструментов. Важнее другое: описания инструментов всех включённых серверов уходят модели в каждом запросе, увеличивая счёт за токены. Держите включёнными только серверы, которые нужны в текущем проекте.

Попробуйте сами

Соберите свой MCP-сервер за минуту

Отметьте нужные инструменты — ссылки коннекторов и mcp.json соберутся сами. Подключается к Claude, Cursor, LM Studio, Codex и OpenCode.

Собрать MCP-сервер
Оцените свой опыт