MCP v2 в PolyApiIDE: как AI-агент запускает ваши запросы

PPolyApiIDE · Опубликовано 22 окт 2026 · 5 мин

Я делаю PolyApiIDE, и с MCP v2 часто путают одну вещь: внутри расширения не запускается отдельный MCP-сервер. На самом деле всё проще и прозаичнее — внешний AI-инструмент может поставить в очередь ровно одну команду для расширения и позже забрать результат. Ни постоянного соединения, ни отдельного процесса — обычная очередь команд через сервер.

Что это такое

MCP v2 — канал, через который AI-агент, работающий, например, внутри редактора кода, может попросить PolyApiIDE реально выполнить сохранённый запрос, коллекцию, папку или сценарий против настоящего API и вернуть настоящий ответ. Не симуляцию и не догадку модели о том, что вернул бы сервер, а фактический HTTP-вызов с вашими переменными, авторизацией и окружением — именно так, как если бы вы сами запустили это во вкладке.

Важное ограничение сразу: агент не получает открытый доступ к браузеру и не может пойти «погулять» по произвольным сайтам. Он может запустить только то, что уже сохранено у вас в PolyApiIDE, и только через одну из четырёх команд — не больше.

Зачем это нужно

Типичный сценарий — вы или агент дорабатываете интеграцию прямо в редакторе: правите клиентский код, который дёргает чужой API, и агенту нужно свериться с реальным поведением эндпоинта, а не с тем, что написано в документации. Раньше для этого приходилось переключаться во вкладку расширения руками, находить нужный запрос, запускать и копировать ответ обратно в чат с агентом. MCP v2 убирает это переключение: агент сам ставит команду в очередь и сам забирает результат, когда тот готов.

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

Как работает поток команда → job_id

Механика без магии, разложим по шагам:

  • внешний AI-инструмент аутентифицируется по client_id вашего расширения — это технический идентификатор API-клиента, не логин и пароль от личного кабинета; для полноценной регистрации клиента нужен ещё и client_secret, но для постановки команды в очередь достаточно одного client_id;
  • инструмент отправляет на сервер одну из команд: run_request, run_collection, run_folder или run_scenario, указывая, что именно запустить;
  • расширение периодически опрашивает сервер на наличие висящих команд для этого client_id;
  • когда команда найдена, расширение выполняет соответствующий сохранённый объект локально — с теми же переменными, окружением и авторизацией, что и при ручном запуске;
  • результат становится доступен по job_id — AI-инструмент забирает его отдельным запросом, когда сочтёт нужным.

То есть расширение ничего не слушает «снаружи» и не принимает входящие соединения — оно сам инициирует опрос сервера, а AI-инструмент сам инициирует забор результата. Это и объясняет, почему MCP v2 — это не встроенный сервер, а именно очередь с двусторонним поллингом.

Безопасность: client_id — это как пароль

Это главное, что нужно понять перед тем, как включать функцию, и я не хочу это прятать в сноске. В этом канале одного client_id достаточно, чтобы поставить команду в очередь — секрет не требуется. Это значит, что client_id нужно хранить так же бережно, как пароль: у кого он есть, тот может заставить ваше расширение выполнить сохранённый запрос, коллекцию, папку или сценарий.

Практический вывод: не публикуйте client_id в публичном репозитории, в конфиге CI-логов, в скриншоте для тикета в поддержку и тем более в чате, который могут прочитать посторонние. Если вы подозреваете, что client_id утёк — его можно перевыпустить в настройках, как и любой другой скомпрометированный ключ доступа.

При этом канал не даёт полный контроль над браузером: агент не может открыть произвольный сайт, прочитать вашу историю или выйти за рамки четырёх команд выше. Это сужает ущерб от утечки, но не делает её безопасной — отнеситесь к client_id серьёзно.

Текущие лимиты

  • функция доступна только на платных планах (Месяц, Год, Lifetime) — на Free MCP v2 не работает;
  • очередь ограничена 20 необработанными командами на один client_id — это защита от переполнения, а не рабочий лимит для обычного использования;
  • каждая поставленная команда и её запись о результате истекают через 24 часа — если забрать результат по job_id не успели, его придётся запускать заново;
  • сам канал ограничен по частоте запросов (rate limit) — это защита от перегрузки, а не способ гонять тысячи команд в минуту.

Подробности по этим ограничениям и ответы на частые вопросы про client_id — в FAQ.

Как включить

MCP v2 открывается там же, где живёт лицензия — вкладка Settings → License. Поскольку это платная возможность, она разблокируется автоматически при активном платном плане, без отдельной покупки. Там же вы найдёте client_id, который нужно передать вашему AI-инструменту — и, как уже сказано выше, относиться к нему как к паролю.

Дальше настройка самого AI-инструмента (редактора, агентной среды) зависит от того, как конкретно он поддерживает MCP-подобные интеграции — техническая сторона протокола описана в документации по MCP.

Если вы уже работаете с PolyApiIDE и используете агента в редакторе для разработки или отладки интеграций — MCP v2 убирает одно лишнее переключение между инструментами. Если вы только начинаете — сначала освойте сами запросы и коллекции через быстрый старт, а MCP включайте, когда появится конкретный сценарий, где агенту нужен настоящий ответ API, а не ваш пересказ.

Автор делает PolyApiIDE. В текстах это сказано прямо, а не в подвале мелким шрифтом.