@@ -5,9 +5,11 @@ This fork of Chrome DevTools MCP adds **stealth mode** capabilities to bypass bo
55## New Features
66
77### 1. ** Stealth Mode** (` --stealth ` )
8+
89Enables puppeteer-extra-plugin-stealth and adds anti-detection Chrome arguments to make browser automation undetectable.
910
1011** What it does:**
12+
1113- Uses ` puppeteer-extra ` with ` puppeteer-extra-plugin-stealth ` plugin
1214- Removes automation-related Chrome arguments
1315- Adds anti-detection Chrome flags:
@@ -19,48 +21,52 @@ Enables puppeteer-extra-plugin-stealth and adds anti-detection Chrome arguments
1921- Removes ` --enable-automation ` flag
2022
2123### 2. ** Custom Chrome Arguments** (` --chromeArgs ` )
24+
2225Pass any additional Chrome command-line arguments (comma-separated).
2326
2427## Usage
2528
2629### Basic Stealth Mode
30+
2731``` bash
2832npx chrome-devtools-mcp@latest --stealth
2933```
3034
3135### Stealth Mode with Custom Chrome Arguments
36+
3237``` bash
3338npx chrome-devtools-mcp@latest --stealth --chromeArgs=" --window-size=1920,1080,--user-agent=CustomAgent"
3439```
3540
3641### Only Custom Arguments (without stealth plugin)
42+
3743``` bash
3844npx chrome-devtools-mcp@latest --chromeArgs=" --disable-gpu,--no-sandbox"
3945```
4046
4147## MCP Configuration
4248
4349### Claude Code
50+
4451``` bash
4552claude mcp add chrome-stealth npx chrome-devtools-mcp@latest -- --stealth
4653```
4754
4855Or manually edit ` .claude/config.json ` :
56+
4957``` json
5058{
5159 "mcpServers" : {
5260 "chrome-stealth" : {
5361 "command" : " npx" ,
54- "args" : [
55- " chrome-devtools-mcp@latest" ,
56- " --stealth"
57- ]
62+ "args" : [" chrome-devtools-mcp@latest" , " --stealth" ]
5863 }
5964 }
6065}
6166```
6267
6368### With Custom Chrome Args
69+
6470``` json
6571{
6672 "mcpServers" : {
@@ -77,6 +83,7 @@ Or manually edit `.claude/config.json`:
7783```
7884
7985### With Chromium Path
86+
8087``` json
8188{
8289 "mcpServers" : {
@@ -96,12 +103,14 @@ Or manually edit `.claude/config.json`:
96103## Technical Details
97104
98105### Modified Files
106+
99107- ` package.json ` - Added ` puppeteer-extra ` and ` puppeteer-extra-plugin-stealth ` dependencies
100108- ` src/browser.ts ` - Added stealth mode logic and custom Chrome args support
101109- ` src/cli.ts ` - Added ` --stealth ` and ` --chromeArgs ` CLI options
102110- ` src/main.ts ` - Pass stealth options to browser launcher
103111
104112### How Stealth Mode Works
113+
1051141 . ** Puppeteer-Extra Plugin** : Uses ` puppeteer-extra-plugin-stealth ` which applies dozens of evasion techniques:
106115 - Removes ` navigator.webdriver ` flag
107116 - Masks Chrome headless detection
@@ -118,6 +127,7 @@ Or manually edit `.claude/config.json`:
118127## Testing
119128
120129Test stealth mode on bot-protected sites:
130+
121131``` bash
122132# Navigate to bot-protected site
123133npx chrome-devtools-mcp@latest --stealth
@@ -130,12 +140,12 @@ npx chrome-devtools-mcp@latest --stealth
130140
131141## Comparison with Standard Chrome DevTools MCP
132142
133- | Feature | Standard | With Stealth |
134- | ---------| ----------| --------------|
135- | Bot Detection | ❌ Detected | ✅ Bypassed |
136- | Performance | Fast | Slightly slower |
137- | Dependencies | puppeteer-core | + puppeteer-extra |
138- | Use Case | Development/Testing | Bot-protected sites |
143+ | Feature | Standard | With Stealth |
144+ | ------------- | ------------------- | ------------------- |
145+ | Bot Detection | ❌ Detected | ✅ Bypassed |
146+ | Performance | Fast | Slightly slower |
147+ | Dependencies | puppeteer-core | + puppeteer-extra |
148+ | Use Case | Development/Testing | Bot-protected sites |
139149
140150## Use Cases
141151
@@ -147,6 +157,7 @@ npx chrome-devtools-mcp@latest --stealth
147157## Credits
148158
149159Stealth implementation based on:
160+
150161- [ puppeteer-extra] ( https://github.com/berstend/puppeteer-extra )
151162- [ puppeteer-extra-plugin-stealth] ( https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth )
152163
0 commit comments