Browser MCP Server
Allows AI agents to browse the web through Zyte's anti-bot-aware API, with capabilities for navigating pages, clicking, typing, scrolling, taking screenshots, extracting structured JSON data, and performing web searches.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Browser MCP ServerSearch Hacker News and extract the top 5 story titles"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Browser MCP Server
An MCP (Model Context Protocol) server that gives AI agents a real, anti-bot-aware browser via Zyte API — navigate pages, click/type/scroll, take screenshots, and extract structured data, with automatic proxy/IP rotation and ban avoidance.
Built with NestJS and @nestjs-mcp/server, talking to Zyte's /extract endpoint directly over HTTP. Transport is streamable HTTP only, served stateless at a single /mcp endpoint.
Setup
Copy
.env.exampleto.envand fill in:Variable
Required
Description
ZYTE_API_KEYyes
Your Zyte API key
ZYTE_API_BASE_URLno
Override the Zyte API base URL (default
https://api.zyte.com/v1)PORTno
HTTP port (default
3000)BROWSER_TIMEOUT_MSno
Per-request timeout for calls to Zyte (default
30000)BROWSER_MAX_RETRIESno
Retries for rate-limit (429/503) and temporary ban (520) responses, with exponential backoff (default
2)Install dependencies and start the server:
pnpm install pnpm run start:devThe MCP endpoint is served at
http://localhost:3000/mcp.
Related MCP server: Stealth Browser MCP
Tools
Tool | Returns |
| Opens a URL, optionally runs actions (click/type/select/scroll/wait), returns a |
| Screenshot of a page, optionally after running actions |
| AI-extracted structured JSON matching a JSON Schema you provide |
| Structured web search results (title/url/snippet) via Zyte's Search API — use to find pages, then open them with |
browser_browse, browser_screenshot, and browser_extract accept an optional sessionId (returned from a previous call) to reuse the same IP address and cookie jar across multiple tool calls — useful for staying logged in or keeping a consistent IP across a multi-step task. Note that, per Zyte's session docs, this does not persist actual browser/tab state (in-page form input, scroll position, open modals, etc.) between calls — each call loads a fresh page using the same network identity and cookies.
actions is a sequence of steps run before the result is captured: click, type, select, hover, keyPress, scrollBottom, scrollTo, waitForSelector, waitForTimeout, waitForNavigation, goto, evaluate. Element-targeting actions take a selector: { type: "css" | "xpath", value: string }.
browser_search posts to Zyte's separate /v1/search endpoint (not /v1/extract) and takes a domain (a supported search engine, e.g. "google.com"), a query, and optional maxResults (10-100)/geolocation/locale.
Rate-limit (429/503) and temporary-ban (520) responses from Zyte are retried automatically with exponential backoff, up to BROWSER_MAX_RETRIES times, per Zyte's error handling guidance. Other error responses (invalid request, permanent ban, account suspended) surface immediately, with Zyte's error type included in the message where available.
Connecting a client
Example remote-MCP client configuration (e.g. Claude Desktop / Claude Code) pointing at a running instance:
{
"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 + compileUnit tests mock the global fetch used to call Zyte. To verify end-to-end against the live API, run the server with a real ZYTE_API_KEY and use pnpm dlx @modelcontextprotocol/inspector http://localhost:3000/mcp, or curl, to run 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