Undetected, anti-bot-resistant Chrome automation. 57 tools. Stealth chrome-devtools-mcp alternative.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
An undetected, anti-bot-resistant browser automation MCP server β a drop-in, stealth alternative to chrome-devtools-mcp for AI agents like Claude, Claude Code, Cursor, Windsurf, and any Model Context Protocol client. Powered by nodriver so your agent can browse, scrape, and automate real Chrome without tripping Cloudflare, hCaptcha, or WebDriver fingerprint detection.
Keywords: MCP server Β· browser automation Β· undetected chromedriver Β· anti-bot Β· Cloudflare bypass Β· web scraping Β· Claude Β· Cursor Β· nodriver Β· chrome-devtools-mcp alternative Β· Playwright/Puppeteer alternative Β· AI agent tools.
If you drive a browser from an AI agent, you have probably run into one of these:
navigator.webdriver returns true, and the site quietly serves you different content because of itNone of that is your script being wrong. It is anti-bot detection β Cloudflare, DataDome, PerimeterX, Akamai, hCaptcha β recognising the automation stack itself. It shows up with chrome-devtools-mcp, playwright-mcp, Puppeteer, Selenium and browser-use alike, because they all drive Chrome in ways that leave a detectable signature: a ChromeDriver binary, WebDriver markers, CDP artifacts.
nodriver is the successor of undetected-chromedriver. It speaks the CDP protocol directly β no ChromeDriver binary, no Selenium/WebDriver markers β so navigator.webdriver reads false rather than true, and a session looks like a person using Chrome.
This server exposes that through the same tool surface as chrome-devtools-mcp (65 tools), so your agent keeps a familiar API and simply stops getting blocked. Swapping is a config change, not a rewrite.
What it will not do, so you can judge before installing: it does not solve image or text captchas for you, it cannot defeat every protection on every site, and it will not rescue a scraper that hammers a server. If a site blocks you for what you do rather than what you are, no driver fixes that. cf_verify handles the common Cloudflare checkbox challenge; it is not a captcha-solving service.
Claiming "undetected" is easy, so here is what the standard fingerprint suite reports when this server drives the page itself. Reproduce it in one line: point your agent at https://bot.sannysoft.com and take a snapshot.
| Check | Result |
|---|---|
bot.sannysoft.com β Intoli + fingerprint suite | 58 checks, 0 failed |
navigator.webdriver | false β a boolean on Navigator.prototype, not an own property, exactly as in a normal browser |
window.chrome | present |
navigator.plugins | 5 |
navigator.languages | 4 entries |
| User agent | no Headless token |
What this does and does not prove. It shows the browser presents no automation artifacts to client-side fingerprinting, which is what these suites test and what most blocks key off. It does not prove any particular site will let you in: server-side signals such as IP reputation and request rate are outside what any driver controls, and captchas are not solved (see above). Measured on Chrome 151 / Windows 11, headful, with the default profile.
navigator.webdriver reads false, exactly as in a browser a person is using, and there are no CDP or WebDriver artifacts to find.cf_verify, needs the [cf] extra).list_frames plus a frame argument on the readers, and take_snapshot splices each iframe's tree in under the element hosting it, so a payment field or consent wall inside one gets a uid and can be clicked and filled like anything else.browser: "agent-a" to any tool and that name gets its own Chrome, in its own process, with its own cookies, tabs and uids. Parallel agents stop stealing each other's selected tab. Omit it and nothing changes: the default browser runs in the server process, exactly as before. How it workstake_snapshot) β searchable page text with a uid per element. Measured on the Hacker News front page: 27 KB against 97 KB unfiltered, 72% smaller, with every link, URL and text preserved. Same-origin URLs are printed relative to the page, which is lossless because the root node keeps the absolute one. That saving lands on every single agent step.use_running_browser) β drive your real Chrome profile over its debugging port instead of rebuilding logins in a fresh one.fill reads the value back, set_checked reads the checked state back, and click, press_key and type_text report when no input event reached the page. A tool that cannot confirm what it did says so instead of reporting success.Requires uv for the first and third form. To track the development branch instead of a release:
Also listed in the official MCP Registry as io.github.andresolbach/nodriver-mcp-server, so clients and marketplaces that read the registry can find and install it directly.
Uses upstream
nodriver>=0.50.3, which contains the Chrome 146+ CDP fixes (samePartyremoved fromCookie,privateNetworkRequestPolicyβlocalNetworkAccessRequestPolicy) β verified working against Chrome 151.pip installalso works, butuv tool installkeeps it isolated.
You'll also need a local installation of Google Chrome (auto-detected).
Every tool in this server was tested end-to-end against Google Chrome 151 with nodriver 0.50.3 on Python 3.12.11 / Windows 11 (macOS and Linux are supported too). Because nodriver talks to Chrome directly over CDP and tracks upstream Chrome changes, it keeps working as Chrome auto-updates.
| Component | Requirement | Verified version |
|---|---|---|
| Python | 3.12+ | 3.12.11 |
| Google Chrome | any recent stable | 151.0.7922.174 |
| Operating system | Windows / macOS / Linux | Windows 11 |
nodriver | >= 0.50.3 | 0.50.3 |
mcp (MCP SDK) | >= 1.26.0, < 2 | 1.26.0 |
pillow | >= 12.1.1 | 12.1.1 |
tomli-w | >= 1.0.0 | 1.2.0 |
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/nodriver-undetected-browser-automation)<a href="https://allmcps.com/mcp/nodriver-undetected-browser-automation"><img src="https://allmcps.com/api/badge/nodriver-undetected-browser-automation?style=directory" alt="Nodriver β undetected browser automation on AllMCPs" /></a>