Zenrows MCP logo

Zenrows MCP

Scrape, extract, crawl, batch, and browse live websites through ZenRows over MCP.

Install Zenrows MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "zenrows-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@zenrows/mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

zenrows-mcp connects MCP clients to ZenRows' web data infrastructure for scraping, structured extraction, crawling, batch jobs, and hosted browser sessions. The local package runs over stdio with Node.js, while the hosted endpoint uses Streamable HTTP and Bearer or OAuth authentication. Automatic mode selects JavaScript rendering or premium proxies only when needed, while explicit options force a fixed request configuration. Reach for it when an agent needs live page content, structured website data, multi-URL collection, or browser interactions.

Use cases

  • Scrape JavaScript-rendered pages as Markdown, HTML, PDF, or screenshots
  • Extract product, article, or listing fields as structured JSON
  • Crawl a site from a listing or index page and collect matching URLs
  • Submit large URL lists as asynchronous Batch jobs
  • Automate browser navigation, forms, clicks, and keyboard input

Key features

  • Automatic JavaScript rendering and premium proxy selection
  • Structured extraction with automatic and CSS-based modes
  • Asynchronous Batch and Crawl APIs
  • Hosted browser sessions with interaction tools
  • Streamable HTTP and local stdio transports
  • Credit usage and account status reporting

Tools52

What Zenrows MCP lets your agent do. Expand a tool for its parameters.

Verified live~11.3k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

19/23 checks healthy over the last 90d

What it can do

From the 52 tools this server returned when we ran it; 52 declare their own safety hints.

Runs commands · 3Can delete or modify data · 2Handles credentials · 9Makes network requests · 52Read-only tools · 47
Network at startup4 connections
Files written at startup2
Install scriptsprepare
npm provenanceSigned build
Package age216 days
Maintainers5

Observed 2026-10-15 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 5d ago via OSV.dev · @zenrows/mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars21Stargazers on the source repository.
npm downloads703Package downloads in the last 30 days.
Last commit2d agoMost recent push to the default branch.
Tools exposed52Callable tools this server registers over MCP.
Directory activity3 viewsConfig copies, upvotes, and views on AllMCPs.

How Zenrows MCP works

What zenrows-mcp does

zenrows-mcp exposes ZenRows web access as MCP tools for AI assistants, coding agents, and custom applications. It can retrieve a page as Markdown, plain text, HTML, PDF, or a screenshot; return structured fields for products, articles, and listings; submit asynchronous Batch jobs; discover and collect URLs through Crawl; and operate a hosted browser session.

The server is suited to live-web search and data extraction tasks where ordinary HTTP requests may encounter JavaScript-heavy pages, geographic restrictions, or bot protection. ZenRows manages proxy rotation, browser infrastructure, and anti-bot handling behind the API.

How it works

Two transports expose the same capabilities:

  • A local stdio process launched with npx -y @zenrows/mcp.
  • A hosted Streamable HTTP endpoint at https://mcp.zenrows.com/mcp.

Local use can authenticate with ZENROWS_API_KEY, a key stored under ~/.zenrows/, or the default account auto-signup flow. Remote tool calls require OAuth or a ZenRows API key sent as a Bearer token. The hosted endpoint itself does not create accounts.

Single-page scrape and extract requests use automatic mode by default. ZenRows adds JavaScript rendering or premium proxies only when the page requires them. Supplying js_render or premium_proxy forces that configuration for the request instead. batch_create handles large URL sets asynchronously, while crawl_create starts from one page and follows matching links within the start domain. Batch and crawl progress can be polled or awaited with their corresponding tools.

Setup and configuration

Install Node.js, then add the local server to an MCP client using a configuration similar to:

config.json
{
  "mcpServers": {
    "zenrows": {
      "command": "npx",
      "args": ["-y", "@zenrows/mcp"],
      "env": {
        "ZENROWS_API_KEY": "YOUR_ZENROWS_API_KEY"
      }
    }
  }
}

The key can be omitted to allow local auto-signup. Set ZENROWS_AUTO_SIGNUP=false to disable that behavior. ZENROWS_HOME can be used when credentials and account data need to persist in a chosen location, and ZENROWS_TELEMETRY=off omits the machine and host-agent identifiers used during signup. ZENROWS_CRAWL_API_BASE and ZENROWS_BATCH_API_BASE override the default API bases for their respective tool families.

For a remote connection, configure https://mcp.zenrows.com/mcp with OAuth or an Authorization: Bearer token.

Tools and capabilities

  • scrape returns full-page content in several formats, including screenshots and PDFs.
  • extract returns structured JSON, with automatic or CSS-based extraction options.
  • batch_create, batch_status, batch_results, batch_wait, and batch_cancel manage asynchronous URL jobs.
  • crawl_create, crawl_get, crawl_results, crawl_wait, crawl_download, crawl_content, crawl_list, and crawl_stop manage link discovery and stored page content.
  • browser_navigate and the other browser_* tools support navigation, clicks, typing, form controls, keyboard input, and session cleanup.
  • account_usage reports credit allowance and consumption.

Crawl limits such as max_pages and max_items help bound collection. Crawl output can be downloaded as JSON Lines locally, while stored result links are short-lived.

Limitations and notes

ZenRows usage is credit-based: basic requests cost 1 credit, JavaScript rendering costs 5, premium proxy use costs 10, and combining both costs 25. Forced settings can therefore cost more than automatic mode. Batch requires account access, and Crawl must be enabled for the account. Browser sessions hold a concurrency slot until closed. Crawl and Batch jobs are asynchronous, and crawl results may remain partial while a run is active.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Zenrows MCP

zenrows-mcp is an MCP server that connects AI clients to ZenRows' web data infrastructure. Its main tools scrape pages, extract structured JSON, submit Batch jobs, crawl sites, read crawl results, check account usage, and control hosted browser sessions for navigation and page interaction.

Install Node.js and configure an MCP client to run `npx -y @zenrows/mcp` over stdio. Add `ZENROWS_API_KEY` for an existing account, or omit it to use local auto-signup. The hosted alternative requires no installation and uses `https://mcp.zenrows.com/mcp`.

Yes, zenrows-mcp works with Cursor through its local stdio configuration. Add the `npx -y @zenrows/mcp` command to Cursor's MCP settings and provide `ZENROWS_API_KEY`, or allow local auto-signup if your setup supports it.

Call `scrape` with the page URL and set `js_render` to true when you want to force JavaScript rendering. Without that option, automatic mode enables rendering only when a plain request does not return the page.

Use `crawl_create` with a starting URL, then call `crawl_wait` and `crawl_results` to follow progress and read kept URLs. Set include or exclude patterns and cost limits such as `max_pages`; use `crawl_content` when HTML output was requested.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewZenrows MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/zenrows-mcp?style=directory)](https://allmcps.com/mcp/zenrows-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/zenrows-mcp"><img src="https://allmcps.com/api/badge/zenrows-mcp?style=directory" alt="Zenrows MCP on AllMCPs" /></a>