loading…
Search for a command to run...
loading…
An MCP server for stealth browser automation that uses human-like interaction patterns to bypass bot detection via the Chrome DevTools Protocol. It enables user
An MCP server for stealth browser automation that uses human-like interaction patterns to bypass bot detection via the Chrome DevTools Protocol. It enables users to navigate, interact with elements, and capture data from websites using undetectable behaviors like Bezier mouse movements and Gaussian typing delays.
MCP server for stealth browser automation via Chrome DevTools Protocol. Connects to a real Chrome instance with human-like interaction patterns (Bezier mouse curves, Gaussian typing delays, scroll jitter) to avoid bot detection.
Standard browser automation tools (Playwright, Puppeteer, Selenium) are trivially detected by modern anti-bot systems. Sites fingerprint mouse movements (straight lines, instant teleportation), typing patterns (uniform delays), and JavaScript properties (navigator.webdriver, missing plugins) to block automated access.
Chrome MCP Stealth solves this by layering human-like behavior on top of Playwright's CDP connection to a real Chrome instance — not a headless browser, not a fresh profile, but your actual browser with cookies, extensions, and history intact.
index.js file (~630 lines)Mouse movement follows cubic Bezier curves with randomized control points, producing natural arcs instead of straight lines. Each move uses 12–50 interpolation steps with ease-in-out timing and occasional overshoot corrections.
Typing uses Gaussian-distributed inter-key delays (~75ms mean), with extra pauses after punctuation and periodic "thinking pauses" every ~10 characters — mimicking human typing rhythm.
Scrolling is broken into jittered multi-step increments with settling delays, avoiding the instant jumps that flag automation.
Anti-detection patches remove navigator.webdriver, clean Playwright/Selenium artifacts from window, inject realistic chrome.runtime and plugin stubs.
See ARCHITECTURE.md for full implementation details.
<EXTERNAL_CONTENT trust="untrusted"> tags with security footersAdditionally, all output is scanned for credential patterns (API keys, tokens, JWTs) and redacted before being returned.
| Tool | Purpose |
|---|---|
chrome_set_mode |
Switch between stealth/fast mode |
chrome_navigate |
Navigate to URL |
chrome_snapshot |
Get sanitized accessibility tree |
chrome_screenshot |
Take PNG screenshot |
chrome_click |
Click element (Bezier mouse in stealth) |
chrome_type |
Type text (Gaussian delays in stealth) |
chrome_tabs |
List/switch/create/close tabs |
chrome_evaluate |
Run JS in page context (output redacted) |
chrome_wait |
Wait for selector or timeout |
chrome_scroll |
Scroll up/down (jittered in stealth) |
chrome_page_info |
Get current URL, title, domain risk |
Launch Chrome with CDP:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remote-debugging-port=9222 \
--user-data-dir=~/.chrome-debug-profile
Install and run:
npm install
npm start
Register in your MCP config:
{
"chrome-stealth": {
"command": "node",
"args": ["path/to/chrome-mcp/index.js"],
"env": { "CDP_ENDPOINT": "http://127.0.0.1:9222" }
}
}
LinkedIn (linkedin.com, www.linkedin.com) enforces stealth mode — fast mode is blocked. This is enforced at 5 layers: navigation, mode switch, every interaction, post-redirect, and tab switch.
@modelcontextprotocol/sdk — MCP protocol implementationplaywright-core — Chrome DevTools Protocol connectionMIT
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"chrome-mcp-stealth": {
"command": "npx",
"args": []
}
}
}