Browser MCP Server
Browser MCP Server
Un servidor MCP (Model Context Protocol) que ofrece a los agentes de IA un navegador real, consciente de la detección anti-bot, mediante Zyte API — navegar páginas, hacer clic/escribir/desplazarse, tomar capturas de pantalla y extraer datos estructurados, con rotación automática de proxy/IP y evitación de baneos.
Construido con NestJS y @nestjs-mcp/server, que se comunica con el endpoint /extract de Zyte directamente por HTTP. El transporte es exclusivamente HTTP transmitible, servido sin estado en un único endpoint /mcp.
Setup
Copia
.env.examplea.envy rellena los valores:Variable
Obligatoria
Descripción
ZYTE_API_KEYsí
ZYTE_API_BASE_URLno
Sustituye la URL base de Zyte API (por defecto
https://api.zyte.com/v1)PORTno
Puerto HTTP (por defecto
3000)BROWSER_TIMEOUT_MSno
Tiempo de espera por petición para las llamadas a Zyte (por defecto
30000)BROWSER_MAX_RETRIESno
Reintentos para respuestas de límite de peticiones (429/503) y bloqueo temporal (520), con retroceso exponencial (por defecto
2)Instala las dependencias y arranca el servidor:
pnpm install pnpm run start:devEl endpoint MCP se sirve en
http://localhost:3000/mcp.
Related MCP server: Stealth Browser MCP
Tools
Herramienta | Devuelve |
| Abre una URL, ejecuta opcionalmente acciones (hacer clic/escribir/seleccionar/desplazarse/esperar), devuelve un |
| Captura de pantalla de una página, opcionalmente después de ejecutar acciones |
| JSON estructurado extraído mediante IA que coincide con el JSON Schema que proporciones |
| Resultados estructurados de búsqueda web (title/url/snippet) a través de la Search API de Zyte — úsalos para encontrar páginas y abrirlas después con |
browser_browse, browser_screenshot y browser_extract aceptan un sessionId opcional (devuelto por una llamada anterior) para reutilizar la misma dirección IP y el conjunto de cookies en múltiples llamadas a las herramientas — útil para mantener la sesión iniciada o mantener una IP estable durante una tarea de varios pasos. Ten en cuenta que, según la documentación de sesiones de Zyte, esto no conserva el estado real del navegador/pestaña (entrada de formularios en la página, posición de desplazamiento, modales abiertos, etc.) entre llamadas — cada llamada carga una página nueva con la misma identidad de red y las mismas cookies.
actions es una secuencia de pasos que se ejecutan antes de capturar el resultado: click, type, select, hover, keyPress, scrollBottom, scrollTo, waitForSelector, waitForTimeout, waitForNavigation, goto, evaluate. Las acciones que apuntan a un elemento toman un selector: { type: "css" | "xpath", value: string }.
browser_search envía a Zyte al endpoint separado /v1/search (no al /v1/extract) y acepta un domain (un motor de búsqueda compatible, p. ej. "google.com"), una query y, opcionalmente, maxResults (10-100)/geolocation/locale.
Las respuestas de límite de peticiones (429/503) y de bloqueo temporal (520) se reintentan automáticamente con retroceso exponencial, hasta BROWSER_MAX_RETRIES veces, según la guía de manejo de errores de Zyte. El resto de respuestas de error (solicitud no válida, bloqueo permanente, cuenta suspendida) aparecen de inmediato, e incluyen en el mensaje el type del error de Zyte cuando está disponible.
Conexión de un cliente
Ejemplo de configuración de un cliente MCP remoto (p. ej., Claude Desktop / Claude Code) que apunta a una instancia en ejecución:
{
"mcpServers": {
"browser": {
"url": "http://localhost:3000/mcp"
}
}
}Testing
pnpm test # unit tests (service + resolver, global fetch mocked)
pnpm run lint # eslint
pnpm run build # type-check + compileLas pruebas unitarias simulan la función global fetch utilizada para llamar a Zyte. Para verificar de extremo a extremo contra la API real, ejecuta el servidor con una ZYTE_API_KEY real y usa pnpm dlx @modelcontextprotocol/inspector http://localhost:3000/mcp, o curl, para ejecutar 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