Chrome MCP Stealth

Chrome MCP Stealth

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.

Category
Visit Server

README

Chrome MCP Stealth

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.

Why

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.

Features

  • Stealth mode: Bezier mouse movement, Gaussian keystroke delays, scroll jitter, anti-detection JS patches
  • Fast mode: Instant actions with no delays — available on non-protected domains
  • Security: 4-layer defense against prompt injection, data exfiltration, and credential leaks
  • Single file: Entire server is one index.js file (~630 lines)

How Stealth Works

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.

Security Model

  1. Prompt injection scanner — 20+ regex patterns detect instruction override attempts, social engineering, and data exfiltration commands in page content
  2. Content sanitization — Hidden/invisible elements are stripped before returning page text, preventing injection via zero-size or off-screen elements
  3. Content spotlighting — All page content is wrapped in <EXTERNAL_CONTENT trust="untrusted"> tags with security footers
  4. Domain controls — Cloud metadata endpoints are blocked entirely; banking/email domains trigger warnings; stealth-only domains enforce stealth mode

Additionally, all output is scanned for credential patterns (API keys, tokens, JWTs) and redacted before being returned.

Tools (11)

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

Setup

  1. Launch Chrome with CDP:

    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
      --remote-debugging-port=9222 \
      --user-data-dir=~/.chrome-debug-profile
    
  2. Install and run:

    npm install
    npm start
    
  3. 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" }
      }
    }
    

Stealth-Only Domains

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.

Dependencies

  • @modelcontextprotocol/sdk — MCP protocol implementation
  • playwright-core — Chrome DevTools Protocol connection

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured