Browser MCP Server
Browser MCP Server
Сервер MCP (Model Context Protocol), который даёт ИИ-агентам настоящий, устойчивый к антибот-блокировкам браузер через Zyte API — открывайте страницы, выполняйте клики/ввод текста/прокрутку, делайте скриншоты и извлекайте структурированные данные, с автоматической ротацией прокси/IP и предотвращением блокировок.
Написан на NestJS и @nestjs-mcp/server, напрямую обращается к эндпоинту /extract сервиса Zyte по HTTP. Транспорт — только streamable HTTP; сервер работает без сохранения состояния (stateless) и доступен на единственном эндпоинте /mcp.
Настройка
Скопируйте
.env.exampleв.envи заполните его:Variable
Required
Description
ZYTE_API_KEYДа
Ваш ключ Zyte API
ZYTE_API_BASE_URLНет
Переопределяет базовый URL Zyte API (по умолчанию
https://api.zyte.com/v1)PORTНет
HTTP-порт (по умолчанию
3000)BROWSER_TIMEOUT_MSНет
Таймаут запроса при вызове Zyte (по умолчанию
30000)BROWSER_MAX_RETRIESНет
Повторы с экспоненциальной задержкой для ответов rate-limit (429/503) и временной блокировки (520) (по умолчанию
2)Установите зависимости и запустите сервер:
pnpm install pnpm run start:devЭндпоинт MCP доступен по адресу
http://localhost:3000/mcp.
Related MCP server: Stealth Browser MCP
Инструменты
Tool | Returns |
| Открывает URL, при необходимости выполняет действия (клик/ввод/выбор/прокрутка/ожидание), возвращает |
| Скриншот страницы, при необходимости после выполнения действий |
| Извлечённый ИИ структурированный JSON, соответствующий предоставленной вами JSON Schema |
| Структурированные результаты веб-поиска (title/url/snippet) через Search API Zyte — используйте, чтобы найти страницы, а затем открыть их с помощью |
browser_browse, browser_screenshot и browser_extract принимают необязательный параметр sessionId (возвращённый предыдущим вызовом), чтобы переиспользовать один и тот же IP-адрес и cookie-хранилище между несколькими вызовами инструментов — это удобно для сохранения входа в систему или постоянного IP при выполнении многошаговой задачи. Обратите внимание: согласно документации Zyte о сессиях, это не сохраняет фактическое состояние браузера/вкладки (введённые данные в форме, позиция прокрутки, открытые модальные окна и т.п.) между вызовами — каждый вызов загружает новую страницу, используя ту же сетевую идентичность и cookies.
actions — это последовательность шагов, выполняемых до получения результата: click, type, select, hover, keyPress, scrollBottom, scrollTo, waitForSelector, waitForTimeout, waitForNavigation, goto, evaluate. Действия, нацеленные на элемент, принимают selector: { type: "css" | "xpath", value: string }.
browser_search обращается к отдельному эндпоинту Zyte /v1/search (не /v1/extract) и принимает domain (поддерживаемая поисковая система, например "google.com"), query и необязательные параметры maxResults (10-100), geolocation и locale.
Ответы Zyte с ограничением частоты (429/503) и временной блокировкой (520) автоматически повторяются с экспоненциальной задержкой до BROWSER_MAX_RETRIES раз, согласно руководству Zyte по обработке ошибок. Прочие ошибочные ответы (некорректный запрос, постоянная блокировка, приостановленный аккаунт) отображаются сразу, а type ошибки Zyte включается в сообщение, если это возможно.
Подключение клиента
Пример конфигурации удалённого MCP-клиента (например, Claude Desktop / Claude Code), указывающего на запущенный экземпляр:
{
"mcpServers": {
"browser": {
"url": "http://localhost:3000/mcp"
}
}
}Тестирование
pnpm test # unit tests (service + resolver, global fetch mocked)
pnpm run lint # eslint
pnpm run build # type-check + compileМодульные тесты подменяют глобальный fetch, используемый для вызова Zyte. Чтобы проверить работу end-to-end с реальным API, запустите сервер с настоящим ZYTE_API_KEY и используйте pnpm dlx @modelcontextprotocol/inspector http://localhost:3000/mcp или curl, чтобы выполнить initialize → tools/list → tools/call.
This server cannot be deployed
Maintenance
Related MCP Connectors
Let your AI agent operate any website through a real, logged-in browser session.
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
Control a real browser from AI agents: navigate, click, type, screenshot, read the page.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with web browsers using natural language, featuring automated browsing, form filling, vision-based element detection, and structured JSON responses for systematic browser control.62MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to perform undetectable browser automation that bypasses Cloudflare, antibots, and social media blocks. Provides 105 tools for element extraction, network debugging, and real-world web scraping with a 98.7% success rate on protected sites.3,299MIT
- AlicenseAqualityCmaintenanceEnables AI agents to scrape any website by providing tools for JavaScript rendering, antibot bypass, and automatic captcha solving. It supports synchronous, asynchronous, and batch scraping operations with built-in proxy rotation.5207 npm31 PyPIMIT
- AlicenseAqualityCmaintenanceEnables AI agents to fully control a browser for web automation, including navigation, clicking, typing, scrolling, screenshots, and DOM inspection, with session persistence and anti-bot bypass.4012 npmMIT