This fork of Chrome DevTools MCP adds stealth mode capabilities to bypass bot detection on websites.
Enables puppeteer-extra-plugin-stealth and adds anti-detection Chrome arguments to make browser automation undetectable.
What it does:
- Uses
puppeteer-extrawithpuppeteer-extra-plugin-stealthplugin - Removes automation-related Chrome arguments
- Adds anti-detection Chrome flags:
--disable-blink-features=AutomationControlled--disable-features=IsolateOrigins,site-per-process--no-first-run--no-service-autorun--password-store=basic
- Removes
--enable-automationflag
Pass any additional Chrome command-line arguments (comma-separated).
npx chrome-devtools-mcp@latest --stealthnpx chrome-devtools-mcp@latest --stealth --chromeArgs="--window-size=1920,1080,--user-agent=CustomAgent"npx chrome-devtools-mcp@latest --chromeArgs="--disable-gpu,--no-sandbox"claude mcp add chrome-stealth npx chrome-devtools-mcp@latest -- --stealthOr manually edit .claude/config.json:
{
"mcpServers": {
"chrome-stealth": {
"command": "npx",
"args": ["chrome-devtools-mcp@latest", "--stealth"]
}
}
}{
"mcpServers": {
"chrome-stealth": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--stealth",
"--chromeArgs=--window-size=1920,1080"
]
}
}
}{
"mcpServers": {
"chrome-stealth": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--stealth",
"--executablePath",
"/usr/bin/chromium"
]
}
}
}package.json- Addedpuppeteer-extraandpuppeteer-extra-plugin-stealthdependenciessrc/browser.ts- Added stealth mode logic and custom Chrome args supportsrc/cli.ts- Added--stealthand--chromeArgsCLI optionssrc/main.ts- Pass stealth options to browser launcher
-
Puppeteer-Extra Plugin: Uses
puppeteer-extra-plugin-stealthwhich applies dozens of evasion techniques:- Removes
navigator.webdriverflag - Masks Chrome headless detection
- Fixes
navigator.pluginsandnavigator.languages - Spoofs WebGL vendor/renderer
- And many more...
- Removes
-
Chrome Flags: Adds critical anti-detection flags:
--disable-blink-features=AutomationControlled- Removes automation indicatorsignoreDefaultArgs: ['--enable-automation']- Prevents automation flag
-
Conditional: Only uses puppeteer-extra when stealth is enabled, otherwise uses standard puppeteer-core for better performance
Test stealth mode on bot-protected sites:
# Navigate to bot-protected site
npx chrome-devtools-mcp@latest --stealth
# Then use the MCP tools to navigate to sites like:
# - https://2nabiji.ge
# - https://bot.sannysoft.com
# - https://arh.antoinevastel.com/bots/areyouheadless| Feature | Standard | With Stealth |
|---|---|---|
| Bot Detection | ❌ Detected | ✅ Bypassed |
| Performance | Fast | Slightly slower |
| Dependencies | puppeteer-core | + puppeteer-extra |
| Use Case | Development/Testing | Bot-protected sites |
- E-commerce scraping: Access sites with Cloudflare or similar protection
- Price monitoring: Automated price checking without detection
- Testing: Test how your site appears to real users vs bots
- Research: Access data from protected sources
Stealth implementation based on:
Original Chrome DevTools MCP by Google LLC / Chrome DevTools team.