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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.61MIT
- 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.1,589MIT
- AlicenseAqualityBmaintenanceEnables 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.5207MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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.21MIT
Related MCP Connectors
AI-powered browser automation — navigate, click, fill forms, and extract data from any website.
Reliable web access for AI agents: smart HTTP, rotating proxies, and full-browser rendering.
Enable language models to perform advanced AI-powered web scraping with enterprise-grade reliabili…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/feedmepos/browser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server