MCP v2 в PolyApiIDE: как AI-агент запускает ваши запросы
Содержание
Я делаю 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. В текстах это сказано прямо, а не в подвале мелким шрифтом.