Проверяем страшилку про MCP
Подключили к OpenCode 50 MCP-инструментов. Запрос не вырос ни на байт
Вопрос был про два плюс два. Мы по очереди подключали к агенту 0, 10, 25 и 50 бесполезных для него инструментов и смотрели, что действительно уехало модели.

К OpenCode подключили синтетический склад: поиск накладной, проверка остатков, статус поставки и ещё несколько десятков функций, которые нужны вопросу «сколько будет два плюс два» примерно никак.
По старой логике все описания должны были дружно войти в контекст, сесть у окна и съесть часть счёта. В текущем OpenCode они даже не попали в запрос модели по отдельности. И вот это уже интереснее обычного совета «не ставьте много MCP».
01
Полсотни инструментов ради таблицы умножения
Стенд был нарочно скучным. Локальный MCP-сервер создавал заданное количество тестовых инструментов. Каждый имел название, описание и три аргумента. Никаких складов, CRM и чужих данных за ними не было.
Четыре запуска
По очереди: 0, 10, 25 и 50 инструментов.
Один вопрос
Во всех случаях модель спрашивали только про два плюс два.
Локальная заглушка
Ответ заранее задан. Внешних вызовов и API-ключей нет.
Отдельный журнал подтвердил, что MCP-сервер действительно стартовал с нужным каталогом в каждом прогоне. Второй журнал записывал только размер JSON-тела и перечень инструментов, которые OpenCode показал модели. Заголовки и секреты мы не сохраняли — сохранять там было нечего.
02
Ноль, десять, пятьдесят — всё по 29 929 байт
OpenCode 2.0.3 · локальный стенд
Один и тот же вопрос, новый запуск для каждого каталога
Пятьдесят MCP-инструментов были подключены. В модельном запросе по-прежнему осталось двенадцать инструментов и ровно 29 929 байт.
MCP от этого не стал бесплатным и невесомым. Но фраза «каждая схема инструмента всегда едет прямо в контекст» для этого запуска OpenCode уже неверна.
03
Вместо пятидесяти отвёрток модель получила один ящик
Среди двенадцати видимых инструментов был execute. Его схема не менялась ни в одном прогоне. Через этот общий вход OpenCode даёт модели доступ к каталогу действий, не раскладывая все MCP-описания рядом с каждым сообщением.
В актуальной документации этот режим называется Code Mode. MCP-инструменты группируются по серверу и вызываются через общий исполняющий слой. Модель знает, куда обратиться, но ей не выдают полную опись склада вместе с вопросом про погоду.
много MCP-инструментов на стороне агента
→ один общий execute в запросе модели
→ поиск нужного действия только при необходимости
Другой клиент может поступать иначе и отправлять модели полный список нативных схем. Даже OpenCode можно настроить по-другому. Поэтому переносить наши 29 929 байт на любой агент с любой конфигурацией — занятие бодрое, но бесполезное.
04
Счёт не вырос. Бардак всё ещё может
Контекстный налог в этом опыте исчез, а эксплуатационный остался. Каждый сервер надо запустить, подключить и не забыть, кому он выдал доступ. Удалённый MCP может требовать авторизацию, видеть запросы инструментов и хранить собственные логи.
Подключение
Сломанный сервер задерживает старт, даже если модель о нём ещё ничего не знает.
Разрешения
Пятьдесят действий сложнее проверить, чем пять. Особенно когда одно умеет удалять.
Выбор
Общий каталог экономит контекст, но модели всё равно надо найти правильный инструмент.
Данные
Файл не становится безопасным только потому, что до него добрались через красивый протокол.
05
Подключайте не мало. Подключайте по работе
Один MCP-сервер с документацией и репозиторием для разработки — нормальный набор. CRM, почта, платежи, аналитика и продакшен-база «на всякий случай» — уже коллекция дверей, ключи от которых лежат на одном кольце.
Сделайте отдельного агента под конкретную работу и оставьте ему только нужные серверы. Для чтения не выдавайте запись. Для эксперимента заведите отдельный API-ключ и небольшой лимит. Если простой вопрос неожиданно породил длинную сессию, это будет видно отдельно от основного проекта.
Проверить на своей конфигурации
Отдельный ключ покажет, что делает именно ваш агент
Подключите OpenCode к TokenTool отдельным ключом, поставьте лимит и выполните одну короткую проверяемую задачу. Потом добавьте нужный MCP-сервер и повторите её в новой сессии.
Так вы сравните не чужую страшилку, а число вызовов и расход своей связки — с вашей моделью, инструментами и правилами.
Границы опыта
Прогон сделан 15 сентября 2026 года на OpenCode 2.0.3. Использованы четыре свежие сессии, локальный MCP-сервер и локальная модель-заглушка. Измерено несжатое UTF-8 JSON-тело до отправки модели. Это не подсчёт оплачиваемых токенов и не тест всех MCP-клиентов.