Как дать MCP-агенту браузер, который сохраняет сессию
Агент, который умеет ходить по сети, но не умеет оставаться залогиненным, ограничен публичным вебом. А почти всё, что люди действительно хотят автоматизировать, находится за входом в аккаунт.
Препятствие структурное. Вызовы MCP-инструментов дискретны: модель вызывает инструмент, получает результат, думает, вызывает следующий. Если каждый вызов начинает свежий контекст браузера, вход, выполненный на третьем вызове, к пятому уже потерян. Агент видит форму входа, заполняет её, а на следующем шаге обнаруживает, что снова разлогинен.
Настройка
{
"mcpServers": {
"anti-detect-browser": {
"command": "npx",
"args": ["anti-detect-browser", "--mcp"],
"env": { "ANTI_DETECT_BROWSER_KEY": "your-api-key" }
}
}
}
Это вся конфигурация. Агент получает инструменты запуска, навигации, клика, ввода, чтения и снимков экрана.
За счёт чего это работает между вызовами
Двух вещей, и обе про состояние, переживающее вызов.
Процесс браузера выживает. При запуске сервер занимает порт отладки, дожидается ответа браузера и записывает сессию, чтобы более поздний вызов инструмента переподключился к тому же работающему браузеру, а не запускал новый. Вкладка, которую вы оставили открытой, - та же вкладка, которую найдёт следующий вызов.
Профиль переживает процесс. Куки, localStorage, IndexedDB и passkey пишутся в каталог на диске. Даже если процесс перезапустить, повторный запуск того же профиля восстановит ту же залогиненную личность с тем же отпечатком, что был раньше.
Именно вторая часть позволяет агенту действовать в аккаунте днями, а не минутами. Личность - это файл, а не сессия.
Passkey, потому что это вот-вот коснётся всех
Сайты переводят вход без пароля из опции в состояние по умолчанию. Passkey привязан к аутентификатору, а у скриптованного браузера его обычно нет, поэтому он не может ни зарегистрировать ключ, ни потом им воспользоваться. Агент оказывается заперт снаружи аккаунта, который сам же и завёл.
У каждого профиля AntiBrow свой виртуальный аутентификатор. Passkey, зарегистрированный в одной сессии, сохраняется и воспроизводится при следующем входе; для новых профилей это включено по умолчанию. Это одно из немногих мест, где история про автоматизацию и история про отпечатки - одна и та же история.
Дайте каждому агенту свою личность
Если у вас несколько агентов, дайте каждому свой профиль. Они получат раздельные куки, раздельное хранилище, раздельные отпечатки и раздельные passkey. Привяжите к каждому профилю свой прокси - и часовой пояс, локаль и геолокация последуют за выходным IP автоматически, так что агент во Франкфурте не будет сообщать нью-йоркские часы.
Сколько их работает одновременно - это и есть то, что покупает платный тариф: один одновременный браузер на бесплатном, дальше 5, 20 или 100. Количество профилей не считается никогда.
Где это ломается
Скажем то, что не является маркетингом.
- Запутавшийся агент остаётся запутавшимся. Настоящий браузер делает ошибки модели настоящими тоже. Посмотрите на сессию, прежде чем доверять ей что-то, что тратит деньги. Live View существует ровно для этого и не является украшением.
- Контекст конечен. Скармливание модели целых страниц быстро сжигает контекст. Лучше точечные чтения, чем выгрузка всего DOM.
- Детект по-прежнему зависит от того, чем браузер не управляет. Качество прокси, ритм кликов и история аккаунта, который вы принесли. Чистый отпечаток на сожжённом IP с роботским поведением всё равно получит пометку.
- Учётные данные - настоящие учётные данные. Агент, управляющий залогиненным браузером, может сделать всё, что может этот аккаунт. Ограничивайте права соответственно.
Попробуйте бесплатно
Бесплатный тариф - это неограниченное число локальных профилей с одним одновременным браузером, без карты. Направьте агента на сайт, где у вас уже есть аккаунт, и посмотрите, останется ли он залогиненным через три вызова инструмента.
Попробуйте на бесплатном тарифе.
Неограниченное число локальных профилей, без карты. Проверьте результат детекторами сами.