OpenCode MCP позволяет кодовому агенту подключать инструменты проекта через серверы MCP и использовать доступные действия в ходе задачи. Практический выбор начинается с того, какие данные агенту действительно нужны и какие операции он вправе выполнять. Подключённый сервер расширяет возможности агента, а вместе с ними растёт область доступа к проекту.
Инструменты проекта
OpenCode подключает MCP-серверы и показывает агенту их инструменты; каждому проекту нужен собственный минимальный список подключений.
Кодовому агенту часто хватает файлов репозитория и обычных средств разработки. MCP нужен там, где задача требует данных или действий за пределами этой базы: читать документацию команды, получать сведения из системы задач, обращаться к тестовому сервису. Документация OpenCode по MCP описывает подключение серверов и отмечает расход контекста на их инструменты. Это практический довод против подключения всего каталога возможностей сразу.
Сервер объявляет инструменты, ресурсы и другие доступные элементы, а агент видит их через клиент. Описание протокола как такового есть в обзоре MCP. Здесь задача уже: решить, какие вызовы помогают писать и проверять код конкретного проекта. Например, поиск по внутренней документации полезен при работе с устоявшимся интерфейсом, а доступ к рабочей базе ради исправления текста кнопки избыточен.
Перед подключением выпишите рабочий запрос обычным языком. «Найти описание схемы событий и обновить тест» предполагает чтение документации и запись в ветку репозитория. «Посмотреть состояние заказа» требует доступа к данным; для обучения агента лучше обезличенный тестовый набор. Выбор сервера определяется таким разбором, без оглядки на популярность его названия в списке расширений. Зафиксируйте причину подключения в настройках проекта.
Минимальный набор
Проведите инвентаризацию встроенных возможностей OpenCode до добавления MCP. Если агент уже читает проектные файлы, второй инструмент чтения тех же файлов создаст путаницу в результатах и правах. Если API сервиса нужен лишь для проверки одного поля, сервер с операциями удаления и редактирования создаёт лишний риск. Выбирайте инструмент с понятным назначением и ясным описанием входных данных.
| Задача | Нужный доступ | Лишний доступ |
|---|---|---|
| Обновить тест по документации | Чтение справки и запись в ветку | Изменение рабочих данных |
| Проверить схему события | Чтение тестовой схемы | Удаление коллекций |
| Сверить задачу с кодом | Чтение задачи и файлов | Администрирование проекта |
Таблица служит шаблоном обсуждения с владельцем системы. Названия разрешений зависят от сервера, поэтому фактические операции сверяют по его документации и списку инструментов после подключения. Настройки проекта храните вместе с рабочим контекстом команды, а секреты передавайте через предусмотренный безопасный механизм. Ключ доступа с правом изменения продуктивных данных ради чтения справочника выбирать нельзя.
Связь между сервером и клиентом подробнее разобрана в материале про MCP-клиент. Для OpenCode важна дополнительная проверка: видит ли агент только нужные серверы в текущем проекте. Подключение, полезное для одного репозитория, способно мешать в другом, где другая схема данных и другой состав команды. Список инструментов пересматривают при смене задачи.
Права и секреты
Разделите чтение и изменение. Чтение тестовой документации можно дать шире, изменение карточек задач или файловых хранилищ — только под конкретный сценарий. Доступ к рабочим сервисам согласуйте с их владельцами. Если сервер предлагает сразу широкие права, ограничьте учётную запись на стороне сервиса или выберите более узкую интеграцию. Указание агенту «будь осторожен» слабее реального ограничения полномочий.
- Опишите действие, которое агент должен выполнить, и источник данных, без которого задача остановится.
- Выберите сервер с документированным перечнем инструментов и проверьте его в тестовом проекте.
- Выдайте отдельные учётные данные с минимальными правами и сохраните секреты вне текста задачи.
- Запустите запрос на учебных данных, просмотрите вызовы инструментов и изменение файлов перед допуском к рабочему репозиторию.
Точные команды и формат файла настройки сверяйте с документацией своей версии OpenCode: конфигурация меняется. Даже при одинаковом названии сервера способы авторизации различаются. Проверьте, куда попадут журналы вызовов и какие данные окажутся в контексте модели. Служебные токены, персональные данные и содержимое закрытых репозиториев требуют отдельных правил команды.
После теста полезно записать короткое правило проекта: разрешённые серверы, типы задач, владелец ключей и порядок остановки доступа. Это точнее, чем общая памятка об ИИ. В разборе ИИ-агентов для бизнеса показано, как поставить агента в процесс с ответственным человеком. Здесь ответственность проявляется в конкретных вызовах инструментов и изменениях кода.
Какие инструменты нужны вашему кодовому агенту?
Проверка вызовов
Для контрольной задачи заранее задайте ожидаемый путь: какую страницу справки агент прочитает, какой файл изменит, какой тест запустит. После выполнения сравните ожидание с фактическим журналом. Удачный ответ при лишнем обращении к закрытому источнику считать успешным испытанием нельзя. В отчёте важно сохранить входной запрос, список вызванных инструментов и изменения в коде.
Код проверяют привычным способом: diff, тесты, ревью и сборка в изолированной среде. MCP сам по себе лишён функции проверки найденной информации. Сервер может вернуть устаревшую документацию или неожиданную ошибку; агент способен сделать убедительный вывод из плохих данных. Человек должен видеть происхождение справки и сверять её с актуальным интерфейсом проекта. Запуск кода и запись в сервисы особенно чувствительны к скрытым последствиям.
В случае ошибки сначала отделите сбой доступа от ошибки рассуждения. Если сервер вернул отказ, исправление текста запроса агенту бесполезно: проверьте авторизацию и права. Если сервер ответил верно, а патч неверен, уточните критерии задачи и тесты. Если вызван лишний инструмент, уменьшите набор подключений. Разные причины требуют разных действий, иначе команда копит исключения в инструкциях и теряет понимание настройки.
Материал про описание MCP-инструментов помогает оценить ясность схемы вызова. Хорошо описанный инструмент сообщает, что читает, что изменяет и что возвращает при ошибке. Это снижает вероятность случайного выбора, хотя итог всё равно проверяется ревьюером.
Поддержка набора
После запуска назначьте владельца каждого подключения. Он отслеживает изменения доступных инструментов, срок действия учётных данных и состояние тестового сервера. При обновлении клиента или сервера повторите короткую проверку типовой задачи. Новая версия может поменять название поля, способ авторизации либо формат ответа. У агента при этом может сохраниться старое описание действия в контексте рабочего диалога.
Оценивайте полезность сервера по конкретному результату: сколько задач завершено с верными вызовами, сколько патчей прошло ревью, какие ошибки повторяются. Дополнительный инструмент оправдан, когда он открывает нужные данные и его вызовы можно проследить. Если команда часто исправляет последствия неверного выбора функции, удаление избыточного сервера может быть лучшим улучшением.
OpenCode остаётся кодовым агентом, а MCP — способом связать его с внешними возможностями проекта. Подключение сервера само по себе оставляет качество процесса разработки открытым вопросом. Качество определяют границы доступа, проверяемые тесты и ревью изменений человеком. Для нового проекта достаточно начать с одной задачи, где внешний источник действительно нужен, и расширять состав инструментов после разбора результатов. Удаляйте устаревшие доступы после смены владельца проекта.
Составьте список задач, которые буксуют без внешних данных. Для первой выберите один сервер с правом чтения и проверьте его вызовы в учебном репозитории.