zenrows-mcp
OfficialThe ZenRows MCP server provides AI systems with real-time access to any website through a scrape tool and 30+ browser_* automation tools, bypassing anti-bot measures to extract content from any webpage.
Scrape any webpage: Fetch content in Markdown (default), plain text, HTML, or PDF formats.
Handle dynamic content: Enable JavaScript rendering (
js_render) for SPAs (React, Vue, Angular).Bypass anti-bot protections: Use premium residential proxies and managed proxy rotation to access protected sites.
Geo-targeted scraping: Route requests through a specific country via
proxy_country(ISO 3166-1 alpha-2 codes).Structured data extraction: Auto-parse products, articles, and listings (
autoparse), or extract specific elements using CSS selectors (css_extractor).Targeted data outputs: Extract specific content types (emails, headings, links, images, videos, etc.) as structured JSON.
Wait/timing controls: Wait a set number of milliseconds (
wait) or until a CSS selector appears (wait_for) before capturing content.Browser interactions: Execute custom actions before scraping (clicks, form fills, waits) via
js_instructions.Screenshots: Capture above-the-fold (
screenshot), full-page (screenshot_fullpage), or element-specific (screenshot_selector) screenshots.Full browser automation: Navigate, click, fill forms, execute JavaScript, and manage cookies, tabs, and sessions across 30+ dedicated browser tools.
Zenrows MCP Server
The Zenrows MCP (Model Context Protocol) server is the standard way AI systems use Zenrows' web data infrastructure. A single connection gives your AI assistant, agent, or application reliable, real-time access to the live web, including the protected web.
📚 Full documentation: docs.zenrows.com/mcp/overview
Why Zenrows MCP
Reach sites that normally block bots. Get reliable access to protected sites at scale, without building anti-bot handling yourself.
Managed web data infrastructure. Proxy rotation, headless browser orchestration, anti-bot handling, and session management run on Zenrows' infrastructure.
Plug into any AI you already use. Works with any MCP client, including AI assistants, agent frameworks, AI SDKs, IDE plugins, and custom applications.
Plain English, no scraping code. Describe the task naturally and the AI picks the right tool. No selectors, no proxy management, no anti-bot tuning.
Related MCP server: defuddle-mcp
Quick start
Zenrows MCP supports two transport options. Both expose the same set of tools and capabilities. Pick the one that fits your client.
Remote MCP server
Use the hosted Zenrows MCP server when your AI application calls an LLM API directly. The server runs on Zenrows' infrastructure, so there is nothing to install, configure, or update.
Server URL:
https://mcp.zenrows.com/mcpTransport: Streamable HTTP
Authentication: OAuth or API key as Bearer token. Pass your Zenrows API key in the Authorization header on every request (or complete OAuth in clients that support it).
Authorization: Bearer YOUR_ZENROWS_API_KEYMost MCP clients accept this through an authorization shorthand field on the tool config and forward it as the Bearer token automatically. Some clients use a free-form headers field instead. Either approach works.
Remote MCP does not auto-create accounts. Use OAuth “Create Free account” in the client, or pass an existing API key.
Example: OpenAI Responses API
import os
from openai import OpenAI
ZENROWS_API_KEY = os.environ["ZENROWS_API_KEY"]
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
response = client.responses.create(
model="gpt-5",
tools=[
{
"type": "mcp",
"server_label": "zenrows",
"server_description": "Web scraping MCP server for accessing live web content.",
"server_url": "https://mcp.zenrows.com/mcp",
"authorization": ZENROWS_API_KEY,
"require_approval": "never",
}
],
input="Visit https://news.ycombinator.com/ and summarize the three most recent posts.",
)
print(response.output_text)For the full walkthrough with framework-specific examples, see the Remote MCP server docs.
Local MCP server
Use the local stdio configuration when your MCP client runs the server as a local subprocess instead of calling a remote URL. This is the standard setup for desktop AI tools and IDE plugins, including Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, Zed, and JetBrains IDEs.
Package: @zenrows/mcp on npm
Authentication:
ZENROWS_API_KEYenvironment variable, orKey previously stored in
~/.zenrows/secrets.json, orAuto-signup (default): if neither is set, stdio provisions a Free plan account via
POST /api/agent/signup, persists the key + claim metadata under~/.zenrows/(secrets.json+account.json, mode0600), and prints a claim URL on stderr. Opt out withZENROWS_AUTO_SIGNUP=false.
Requirements: Node.js installed (for npx to work).
Configuration (with your own key):
{
"mcpServers": {
"zenrows": {
"command": "npx",
"args": ["-y", "@zenrows/mcp"],
"env": {
"ZENROWS_API_KEY": "YOUR_ZENROWS_API_KEY"
}
}
}
}Zero-config (auto-signup):
{
"mcpServers": {
"zenrows": {
"command": "npx",
"args": ["-y", "@zenrows/mcp"]
}
}
}The exact location of this config varies by client. See the per-client setup guides for the file path for your client.
Tools
The Zenrows MCP exposes these tool families:
Tool | Purpose |
| Full-page content → Markdown, plain text, HTML, PDF, or screenshot (plus helper outputs). |
| Structured JSON ( |
| Cloud Batch API fan-out ( |
| 30+ tools for full browser automation (navigation, clicks, forms, JS, cookies, tabs, sessions). |
The AI selects the right tool from your prompt. You don't call tools directly in code.
See the full tool reference for every tool, parameter, and return value.
Development
git clone https://github.com/ZenRows/zenrows-mcp
cd zenrows-mcp
npm install
cp .env.example .env # Optional: add your API key (stdio can auto-signup)
npm run dev # Run with .env loaded (requires Node.js 20.6+)
npm run build # Compile to dist/
npm run inspect # Open the MCP inspector UIPull requests and issues are welcome.
Resources
License
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP-native web scraping and search API for AI agents. Converts any URL to clean Markdown with 90% success rate, including Cloudflare-protected sites and JS SPAs. Real-time web search via Brave Search API. CAPTCHA solving built-in. 10 free scrapes/day.584MIT
- Alicense-qualityFmaintenanceAn MCP server that extracts clean Markdown or HTML content from web pages by stripping away ads, navigation, and clutter. It offers tools to process URLs or raw HTML, returning structured metadata alongside the main article content.2MIT
- AlicenseAqualityBmaintenanceWeb extraction MCP server for AI agents. Extract structured data from any URL with built-in Cloudflare bypass, JavaScript rendering, and intelligent parsing. Returns clean markdown or JSON.57942MIT
- Alicense-qualityAmaintenanceRemote MCP server for web scraping with anti-bot evasion. Provides stealth HTTP fetching, headless browser with Cloudflare bypass, CSS selectors, YouTube transcripts, and Markdown conversion.MIT
Related MCP Connectors
Scrapingdog MCP — wraps Scrapingdog (scrapingdog.com), a proxy-based web
Firecrawl MCP — wraps the Firecrawl API (firecrawl.dev) for web
One MCP for 160+ live web-data APIs — clean JSON from sites that block scrapers.
Appeared in Searches
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/ZenRows/zenrows-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server