mcpField
C
capmonster-mcp-patchright-captcha-solver

capmonster-mcp-patchright-captcha-solver

Local
capmonster.cloudBrowser Automation1Updated 2d ago

About capmonster-mcp-patchright-captcha-solver

A Patchright-based browser automation MCP server for AI agents, with 66 browser tools and reduced automation signals. It drives the browser; CAPTCHA solving requires pairing it with the CapMonster Cloud MCP server.

Key features

  1. 0166 browser automation tools
  2. 02Opt-in page-world execution
  3. 03ARIA snapshot search and extraction
  4. 04Persistent profiles and tab management
  5. 05Network interception and session storage
  6. 06PDF, video, and Blob saving

Use cases

  1. 01Automating browsing on protected sites
  2. 02Performing clicks and form actions across pages
  3. 03Reusing browser sessions for API requests
  4. 04Capturing page content and saving files

MCP support

Exposes browser-control tools to MCP clients and supports stdio, SSE, and Streamable HTTP. It does not solve CAPTCHAs itself, but can be paired with the CapMonster Cloud MCP server.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"capmonstercloud-capmonster-mcp-patchright-captcha-solver": {
"command": "npx",
"args": [
"-y",
"capmonster-mcp-patchright"
]
}
}
}
Run commandnpx -y capmonster-mcp-patchright

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmcapmonster-mcp-patchright1.1.3

Tools

66

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
proxyobjectNoProxy for this session (persistent launch only). Keep IP country consistent with locale/timezone/geo to avoid bot detection.
proxy.bypassstringNoComma-separated hosts to bypass
proxy.serverstringYese.g. http://host:port or socks5://host:port
proxy.passwordstringNo
proxy.usernamestringNo
widthnumberNo
devicestringNoEmulate a device from the Playwright registry, e.g. "iPhone 15", "Pixel 7". Sets viewport, UA, scale factor, and touch.
heightnumberNo
localestringNo
mobilebooleanNoEnable mobile emulation (touch + mobile hints) without a full device descriptor.
browserenumNochromium | firefox | webkit
channelenumNochrome | chrome-beta | chrome-dev | chrome-canary | msedge
headlessbooleanNo
userAgentstringNo
timezoneIdstringNo
cdpEndpointstringNoExisting Chrome remote debugging endpoint, e.g. http://127.0.0.1:9222
colorSchemeenumNolight | dark | no-preference
geolocationobjectNoSpoof geolocation. Grants the geolocation permission automatically.
geolocation.accuracynumberNo
geolocation.latitudenumberYes
geolocation.longitudenumberYes
recordVideoanyNoRecord a video of the whole session. Pass true for defaults, or an object to customize. Saved as .webm; files finalize on browser_close. Not available over cdpEndpoint.
userDataDirstringNo

Details

From the project README

CapMonster Cloud

capmonster-mcp-patchright: Stealth Browser MCP Server for AI Agents

Building an AI agent that has to work on anti-bot protected sites? Pair this stealth browser with the CapMonster Cloud MCP server, a cost-effective capsolver alternative and 2captcha alternative: reCAPTCHA v3 starts at $0.90 per 1,000 solves, which is up to 38% cheaper than 2Captcha and 10% cheaper than Capsolver. See the pairing example and the comparison below.

License: MIT MCP Protocol npm

Stealth browser MCP server for AI agents — 66 tools, Patchright-powered, reduced CDP automation signals.

Built for automation on sites protected by Cloudflare, Akamai, Kasada and DataDome. When the page shows a CAPTCHA, pair it with the CapMonster Cloud MCP server: this server drives the browser, CapMonster Cloud solves the CAPTCHA. Use the 66 browser_* tools for AI-agent web scraping and browser automation with Claude, GPT and other MCP clients, powered by Patchright, a patched Playwright with reduced automation signals. Learn more

👉 Get your CapMonster Cloud API Key


Fork of mcp-patchright that adds a per-call world: "main" option to browser_evaluate / browser_run_code_unsafe, so page-defined window globals are visible and callable. Defaults to Patchright's isolated stealth world (matching upstream); opt into main only when a page's own script needs to see or be called by your evaluated code. Everything else matches upstream mcp-patchright.

Why Patchright, not Playwright?

PlaywrightPatchright
Runtime.enable✅ sends (detectable)❌ removed
Console.enable✅ sends❌ removed
--enable-automation flag✅ present❌ removed
navigator.webdrivertruefalse / undefined
Anti-bot evasion❌✅

See the full comparison for details.

Quick start

npm i -g capmonster-mcp-patchright
capmonster-mcp-patchright --port 9321 --host 127.0.0.1
With Claude / GPT / agents
{
  "mcpServers": {
    "patchright": {
      "command": "npx",
      "args": ["capmonster-mcp-patchright", "--port", "9321", "--host", "127.0.0.1"]
    }
  }
}

🔗 Pair with CapMonster Cloud MCP for captcha solving

This server drives the browser; the CapMonster Cloud MCP server solves the CAPTCHA and the agent injects the token back into the page. Add both servers to your MCP client config:

{
  "mcpServers": {
    "patchright": {
      "command": "npx",
      "args": ["capmonster-mcp-patchright", "--port", "9321", "--host", "127.0.0.1"]
    },
    "capmonster": {
      "command": "uvx",
      "args": ["capmonster-mcp"],
      "env": {
        "CM_API_KEY": "your_api_key_here"
      }
    }
  }
}

Get your key from the CapMonster Cloud Dashboard.

Captcha solving MCP servers compared
ParameterCapMonster Cloud MCPCapSolver MCP2Captcha mcp-captcha-solver
Captcha types available through MCPreCAPTCHA v2 / v2 Enterprise / v3, Cloudflare Turnstile and Challenge, FunCaptcha, GeeTest v3 / v4, AWS WAF, DataDome, Imperva, TSPD, Binance, Prosopo, Yidun, TenDI, Hunt, Altcha, Basilisk, image tasksreCAPTCHA v2, reCAPTCHA v3, Cloudflare TurnstilereCAPTCHA v2
reCAPTCHA v3 price per 1,000 solves (from)$0.90$1.00$1.45

Disclaimer: CapSolver and 2Captcha are trademarks of their respective owners. CapMonster Cloud is not affiliated with these entities. MCP coverage of other services is based on their publicly available documentation and repositories as of 27.10.2026 and may change. Pricing comparisons are based on publicly available data and internal benchmarking conducted on 27.09.2026.

Features

  • 66 MCP tools — full browser automation surface
  • world: "main" opt-in — browser_evaluate / browser_run_code_unsafe can run in the page's real world to see/call page-defined globals (default stays isolated/stealth)
  • browser_find — search the current aria snapshot for text/regex, cheaper than a full browser_snapshot
  • browser_save_blob — save a Blob/data URL produced by page code to disk
  • 3 transports — stdio, SSE, Streamable HTTP (/mcp)
  • Persistent profiles — real Chrome profile, reuse across sessions
  • Multi-page — tab management (new, list, switch, close)
  • Owner-scoped HTTP sessions — isolate tabs per caller with owner query/header
  • CDP attach — control an already-running Chrome
  • Network tracking + interception — request list/detail, offline toggle, block/mock routes
  • Session import/export — browser_storage_save / browser_storage_load (cookies + localStorage)
  • Granular storage — per-key cookie / localStorage / sessionStorage CRUD (browser_cookie_*, browser_localstorage_*, browser_sessionstorage_*)
  • Authenticated API requests — browser_api_request reuses session cookies (hybrid scraping)
  • Text/HTML extraction — browser_get_visible_text / _html (token-light)
  • Iframe-aware — pass frameSelector to any element tool (click/fill/type/hover/press/wait_for/select/drag) to act inside an iframe
  • PDF export — browser_save_pdf via CDP (works in headed/stealth mode)
  • Video recording — browser_start with recordVideo, browser_video_save; .webm flushed on browser_close
  • Element highlight — browser_highlight / browser_hide_highlight overlays for screenshots & recordings
  • Stealth profiles — proxy / geolocation / locale / timezone / colorScheme
  • Console capture — real-time console message stream
  • Fingerprint check — browser_fingerprint_check diagnostics
  • Virtual passkeys — create, import, list, and delete WebAuthn credentials with private keys redacted by default

Tools

Full comparison HTML in /docs/tool-comparison.html.

  • browser_start
  • browser_status
  • browser_navigate
  • browser_new_page
  • browser_pages
  • browser_switch_page
  • browser_close_page
  • browser_snapshot
  • browser_find
  • browser_take_screenshot
  • browser_click
  • browser_fill
  • browser_type
  • browser_hover
  • browser_press_key
  • browser_wait_for
  • browser_evaluate
  • browser_fingerprint_check
  • browser_navigate_back
  • browser_select_option
  • browser_handle_dialog
  • browser_file_upload
  • browser_network_requests
  • browser_network_request
  • browser_console_messages
  • browser_resize
  • browser_drag
  • browser_fill_form
  • browser_run_code_unsafe
  • browser_add_init_script
  • browser_network_state_set
  • browser_api_request
  • browser_get_visible_text
  • browser_get_visible_html
  • browser_iframe_click
  • browser_iframe_fill
  • browser_route_block
  • browser_route_mock
  • browser_route_clear
  • browser_storage_save
  • browser_storage_load
  • browser_cookie_list
  • browser_cookie_get
  • browser_cookie_set
  • browser_cookie_delete
  • browser_cookie_clear
  • browser_localstorage_list
  • browser_localstorage_get
  • browser_localstorage_set
  • browser_localstorage_delete
  • browser_localstorage_clear
  • browser_sessionstorage_list
  • browser_sessionstorage_get
  • browser_sessionstorage_set
  • browser_sessionstorage_delete
  • browser_sessionstorage_clear
  • browser_passkey_install
  • browser_passkey_create
  • browser_passkey_list
  • browser_passkey_delete
  • browser_video_save
  • browser_highlight
  • browser_hide_highlight
  • browser_save_blob
  • browser_save_pdf
  • browser_close

Development

Owner-scoped HTTP sessions

HTTP mode requires a stable owner on the MCP URL (?owner=<id>) or with the X-Browser-Owner header. Page listing, switching, navigation, and closing are restricted to that owner's tabs. Delete /owners?owner=<id> to close all tabs owned by one caller without stopping the browser or clearing the profile.

npm install
npm run build
node dist/index.js
Release

Install the matching Chromium build once, then prepare a release from the exact dependency versions in package-lock.json, run the full verification suite, and inspect the package without publishing it:

npx patchright install chromium
npm run release:check
npm publish

By default, browser_start launches Chromium via patchright as headed real Chrome with a persistent profile at:

~/.maestro/stealth-playwright-mcp/profiles/default

You can override it with the userDataDir tool argument or STEALTH_PLAYWRIGHT_USER_DATA_DIR.

To attach to an already-running Chrome instead of launching one, start Chrome with remote debugging and pass cdpEndpoint to browser_start:

google-chrome --remote-debugging-port=9222 --user-data-dir=$HOME/.maestro/stealth-playwright-mcp/profiles/cdp
{ "cdpEndpoint": "http://127.0.0.1:9222" }

browser_snapshot returns Playwright's AI aria snapshot. Use [ref=eN] values from that snapshot with browser_click, browser_fill, browser_type, browser_hover, browser_press, and browser_wait_for by passing { "ref": "eN" }. CSS selectors remain supported via { "selector": "..." }.

MCP config example:

{
  "mcpServers": {
    "patchright": {
      "command": "node",
      "args": ["/path/to/capmonster-mcp-patchright/dist/index.js"]
    }
  }
}

Direction

Shipped:

  • ✅ persistent user data dirs
  • ✅ CDP attach to real Chrome
  • ✅ proxy / timezone / locale / geolocation profiles
  • ✅ accessibility snapshots for LLM-friendly page control
  • ✅ fingerprint diagnostics
  • ✅ network interception (block / mock)
  • ✅ session import/export (storageState)
  • ✅ PDF export
  • ✅ authenticated API requests (reuse browser cookies)
  • ✅ lightweight text/HTML extraction
  • ✅ iframe actions
  • ✅ world: "main" opt-in for browser_evaluate / browser_run_code_unsafe
  • ✅ aria-snapshot search (browser_find)
  • ✅ save Blob/data URL output to disk (browser_save_blob)

Next:

  • rebrowser-playwright backend
  • codegen sessions
  • coordinate-based (vision) clicks
  • tracing / video recording

❓ FAQ

What is capmonster-mcp-patchright? A stealth browser MCP server for AI agents with 66 tools, built on Patchright, a patched Playwright with reduced CDP automation signals.

Does it solve CAPTCHAs? No. This server drives the browser. Pair it with the CapMonster Cloud MCP server to solve reCAPTCHA, Cloudflare Turnstile, DataDome and other captchas.

Is CapMonster Cloud a capsolver alternative or a 2captcha alternative for AI agents? For the captcha solving part, yes. The CapMonster Cloud MCP server covers more captcha types than the CapSolver MCP server (reCAPTCHA v2, v3 and Turnstile) and the 2Captcha mcp-captcha-solver project (reCAPTCHA v2), and reCAPTCHA v3 starts at $0.90 per 1,000 solves. See the comparison above and its disclaimer.

How is it different from Playwright? Patchright removes the Runtime.enable and Console.enable calls and the --enable-automation flag, and navigator.webdriver is not true. See the comparison table above.

Can it control an already-running Chrome? Yes. Start Chrome with remote debugging and pass cdpEndpoint to browser_start.

⚖️ Responsible use

Use this server only on websites you own or have permission to automate, and in line with the terms of service of those websites and applicable law. Patchright reduces common automation signals; acceptance of automated traffic by any site is not guaranteed.

📚 Related

📄 License

MIT

CapMonster Cloud MCP - Featured on DevHunt

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.