AgentStack
MCP unreviewed MIT Self-run

Mcp Stealth Chrome

mcp-robithyusuf-mcp-stealth-chrome · by RobithYusuf

Stealth Chrome MCP server — 100++ tools for AI agents. One-liner Cloudflare Turnstile bypass (proven), dual-mode HTTP with TLS fingerprint, AI Vision reCAPTCHA solver. Python + nodriver + curl_cffi + FastMCP.

No reviews yet
0 installs
19 views
0.0% view→install

Install

$ agentstack add mcp-robithyusuf-mcp-stealth-chrome

Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.

Security review

⚠ Flagged

1 finding(s); flagged for manual review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures
  • high Pipes remote content directly into a shell (remote code execution).

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Reliability & compatibility

Not yet reviewed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Mcp Stealth Chrome? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

MCP Stealth Chrome

133 tools for AI agents that bypass Cloudflare, Turnstile, reCAPTCHA, and modern anti-bot systems — with an LLM-optimized action kit (describe_page, smart_fill, workflow_run, vision-LLM element locator) layered on top of standard automation.

[](https://pypi.org/project/mcp-stealth-chrome/) [](https://opensource.org/licenses/MIT) [](https://www.python.org)

Browser stealth when you need eyes. TLS-perfect HTTP when you need speed.


Built on nodriver (direct CDP, no WebDriver leak) + curlcffi (TLS fingerprint spoofing) + FastMCP.

One-line install with uvx:

claude mcp add stealth-chrome -- uvx mcp-stealth-chrome@latest

Proven on Real Sites

| Site | Challenge | Result | |------|-----------|--------| | bot.sannysoft.com | All fingerprint tests | ✅ 100% pass (proof) | | 2captcha.com/demo/cloudflare-turnstile | Turnstile visible | ✅ Passed via click_turnstile() (proof) | | arh.antoinevastel.com/.../areyouheadless | Headless-chrome detection | ✅ "You are not Chrome headless" (proof) | | browserscan.net/bot-detection | WebDriver/Selenium/CDP/Headless | ✅ All categories "Normal" (proof) | | tls.browserleaks.com | TLS JA3/JA4 fingerprint | ✅ Real Chrome/Firefox/Safari JA3 hashes ([see output below](#tls-fingerprint-proof)) | | httpbin.org | Multi-instance isolation | ✅ Two browsers parallel | | google.com/recaptcha/api2/demo | reCAPTCHA v2 image challenge | ✅ 5/5 = 100% via solve_recaptcha_ai() (proof) |

🎯 click_turnstile → Cloudflare Turnstile Bypass

One-liner bypass on supported widget shapes. click_turnstile() → checkbox switches from "Verify you are human" ☐ to "Success!" ✅.

✅ Works on: 2captcha.com/demo/cloudflare-turnstile, dash.cloudflare.com login, nopecha.com/captcha/turnstile (via template-match fallback since v0.1.7), any page embedding the standard CF Turnstile widget with [data-sitekey] / .cf-turnstile / challenges.cloudflare.com iframe.

❌ Does NOT work on: Cloudflare managed-mode interstitials — the "Just a moment..." full-page challenge (e.g. nopecha.com/demo/cloudflare). CF scores the click as non-human and resets the Ray ID. For those pages use [solve_captcha](#solvecaptcha) with a CAPSOLVERKEY, or storage_state_load with a pre-warmed session.

🧪 bot.sannysoft.com → All Fingerprint Tests Pass

navigator.webdriver missing, WebDriver Advanced passed, Chrome present, Plugins detected correctly, PHANTOM_* probes all ok, WebGL shows real Apple M1 Pro GPU — nodriver's CDP-direct approach leaves zero automation traces.

🤖 areyouheadless → Headless Chrome Detection

Antoine Vastel's public headless-detection test says "You are not Chrome headless" — even though we run Chrome controlled programmatically.

🔍 browserscan.net/bot-detection → All Categories Normal

14 signals checked (WebDriver, WebDriver Advance, Selenium, NightmareJS, PhantomJS, Awesomium, Cef, CefSharp, Coaches, FMiner, Born, Phantomas, Rhino, Webdriverio, Headless Chrome, CDP, Dev Tool, Native Navigator) — every one returns "Normal".

🔐 TLS Fingerprint Proof

http_request(impersonate="chrome") vs vanilla Python httpx — tls.browserleaks.com:

Vanilla httpx:       JA3: 37f7d09ced1a845dc48872abc1a29d7b   UA: python-httpx/0.28.1    ❌ BOT
Chrome impersonate:  JA3: f830262a93191fd695c65531282d5657   UA: Chrome/146.0.0.0         ✅ real Chrome
Firefox impersonate: JA3: 6f7889b9fb1a62a9577e685c1fcfa919   UA: Firefox/147.0            ✅ real Firefox
Safari impersonate:  JA3: ecdf4f49dd59effc439639da29186671   UA: Safari/605.1.15          ✅ real Safari

Each impersonation produces authentic browser JA3/JA4 — Cloudflare, DataDome, and Akamai cannot distinguish our HTTP requests from real browsers.

🏆 reCAPTCHA v2 Benchmark (5 consecutive runs)

Fresh profile + mouse drift warmup + an OpenAI-compatible vision model:

Run 1: ✅ 2169ch token, tiles=[3,4,7],         146s
Run 2: ✅ 2126ch token, tiles=[0,2,4,7],        80s
Run 3: ✅ 2169ch token, tiles=[1,2,4,8],       143s
Run 4: ✅ 2148ch token, tiles=[1,4,5,6,8,9],  126s
Run 5: ✅ 2169ch token, tiles=[0,3,4],          69s

Success rate: 5/5 = 100%
Avg solve:   113s
Token range: 2126–2169 chars (all Google-accepted)

First OSS MCP with proven 100% reCAPTCHA v2 bypass via BYO-API-key — works with Claude, gpt-4o, gpt-5.x, Gemini, Groq, local Ollama, any OpenAI-compatible vision model.

Method: neutral prompt language bypasses LLM safety filter + auto-refresh challenge when vision returns empty + dynamic 3x3/4x4 grid detection + humanized mouse behavior.

Key Differentiators

Compared to the leading Python stealth MCP (vibheksoni/stealth-browser-mcp, 476⭐):

| Feature | mcp-stealth-chrome | vibheksoni | |---------|:-------------------:|:-----------:| | Tools | 133 | 90 | | LLM-optimized kit (describepage, smartfill, visionlocate, workflowrun, assert*) | ✅ Unique | ❌ | | Network body capture + session-bridged HTTP | ✅ Unique | ❌ | | click_turnstile one-liner | ✅ Embed widgets + template fallback | ❌ | | Dual-mode HTTP (curlcffi TLS) | ✅ Unique | ❌ | | AI Vision reCAPTCHA solver (Claude) | ✅ Unique | ❌ | | Precision Mouse Kit (11 tools) | ✅ Unique | ❌ | | Multi-instance + idle reaper | ✅ | ✅ | | Install | uvx zero-setup | git clone + pip | | Sister Firefox package | ✅ mcp-camoufox | ❌ | | Network interception hooks | ⚠️ basic | ✅ AI-generated Python hooks | | Pixel-perfect element cloning | ⚠️ basic | ✅ 300+ CSS + events |

Different niches: we focus on anti-bot bypass, they focus on UI reverse-engineering. Both MCPs work great together.

Quick Install (3 commands per OS)

macOS:

curl -LsSf https://astral.sh/uv/install.sh | sh        # install uv
brew install --cask google-chrome                       # install Chrome (skip if already installed)
claude mcp add stealth-chrome --scope user -- uvx mcp-stealth-chrome@latest

Linux (Ubuntu/Debian):

curl -LsSf https://astral.sh/uv/install.sh | sh
sudo apt install -y google-chrome-stable                # or chromium-browser
claude mcp add stealth-chrome --scope user -- uvx mcp-stealth-chrome@latest

Windows (PowerShell):

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
winget install Google.Chrome
claude mcp add stealth-chrome --scope user -- uvx mcp-stealth-chrome@latest

No Chrome? Server gives a friendly error with install instructions before failing.

See [INSTALL.md](INSTALL.md) for detailed per-client setup + troubleshooting. Per-client snippets below:

Claude Code

Global (available in all projects):

claude mcp add stealth-chrome --scope user -- uvx mcp-stealth-chrome@latest

Project only (current project):

claude mcp add stealth-chrome -- uvx mcp-stealth-chrome@latest

Claude Desktop

Global — add to config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "stealth-chrome": {
      "command": "uvx",
      "args": ["mcp-stealth-chrome@latest"]
    }
  }
}

> Claude Desktop is always global — no project-level config.

Cursor

Global — Preferences > Features > MCP, or ~/.cursor/mcp.json:

Project.cursor/mcp.json in project root:

{
  "mcpServers": {
    "stealth-chrome": {
      "command": "uvx",
      "args": ["mcp-stealth-chrome@latest"]
    }
  }
}

Windsurf

Global~/.windsurf/mcp.json:

Project.windsurf/mcp.json in project root:

{
  "servers": {
    "stealth-chrome": {
      "command": "uvx",
      "args": ["mcp-stealth-chrome@latest"]
    }
  }
}

VS Code (Continue / Cline / Kilo Code)

Global — VS Code settings or ~/.continue/config.json:

Project.vscode/mcp.json in project root:

{
  "mcpServers": {
    "stealth-chrome": {
      "command": "uvx",
      "args": ["mcp-stealth-chrome@latest"]
    }
  }
}

Zed

Settings → Extensions → MCP Servers, or edit ~/.config/zed/settings.json:

{
  "context_servers": {
    "stealth-chrome": {
      "command": {
        "path": "uvx",
        "args": ["mcp-stealth-chrome@latest"]
      }
    }
  }
}

🔑 BYOK (Bring Your Own Key) — Optional

mcp-stealth-chrome is fully functional without any API key — 130 of 133 tools work out of the box, including click_turnstile (Cloudflare Turnstile bypass), TLS-perfect HTTP, multi-instance, DevTools-level perf/coverage/emulation, the full LLM-optimized kit (describe_page / smart_fill / workflow_run), and all scraping tools.

API keys are optional — only needed for 3 vision/solver tools:

| Tool | Purpose | Required key | Cost | |------|---------|--------------|------| | solve_recaptcha_ai | reCAPTCHA v2 image challenges via AI vision | Any vision-capable LLM (OpenAI-compat / Claude / Ollama) | ~$0.005-0.03 per solve | | vision_locate | Find DOM element by natural-language description ("the red Create button at bottom right") | Same vision provider as solve_recaptcha_ai | ~$0.001-0.01 per call | | solve_captcha | Turnstile, reCAPTCHA v2, reCAPTCHA v3, hCaptcha via paid solver | CapSolver API | ~$0.80-1.00 per 1000 |

Everything else (clickturnstile, verifycf, storagestate, httprequest, detectantibot, clonechromeprofile, etc.) works 100% without any key.

When BYOK Matters

  • solve_recaptcha_ai → auto-solve reCAPTCHA v2 image challenges ("select all images with cars") via vision LLM. Best for: low-volume automation where you want self-hosted / BYO-key.
  • solve_captcha → solve via CapSolver's dedicated captcha-solving service. Best for: production reliability, high success rate (95%+), handles multiple types (Turnstile + reCAPTCHA v2 + v3 + hCaptcha + more).

You can use either one or both depending on your budget and reliability needs. Add to the MCP env block.

⚠️ Model Must Be Multimodal (Vision-Capable)

solve_recaptcha_ai sends a screenshot + text prompt to the model — text-only models will fail silently.

Vision-capable (supported):

  • OpenAI: gpt-4o, gpt-4o-mini, gpt-4-vision-preview, gpt-5.x
  • Anthropic: claude-opus-4-7, claude-sonnet-4-*
  • Local Ollama: llava, llava-llama3, bakllava, llama3.2-vision
  • Groq: llama-3.2-90b-vision-preview
  • Custom: any model documented as "multimodal" / "vision"

Text-only (NOT supported):

  • gpt-3.5-turbo, llama3 (non-vision variant), claude-3-haiku (limited)
Config Options

Option 1 — Anthropic Claude (vision-native)

{
  "mcpServers": {
    "stealth-chrome": {
      "command": "uvx",
      "args": ["mcp-stealth-chrome@latest"],
      "env": {
        "ANTHROPIC_API_KEY": "sk-ant-xxxxx",
        "ANTHROPIC_MODEL":   "claude-opus-4-7"
      }
    }
  }
}

Get key at console.anthropic.com.

Option 2 — OpenAI (gpt-4o, gpt-5.x)

"env": {
  "OPENAI_API_KEY": "sk-proj-xxxxx",
  "OPENAI_MODEL":   "gpt-4o"
}

Get key at platform.openai.com.

Option 3 — Any OpenAI-compatible API (Groq, Together, Fireworks, self-hosted, custom gateway)

"env": {
  "OPENAI_BASE_URL": "https://your-provider.example.com/v1",
  "OPENAI_API_KEY":  "your-api-key",
  "OPENAI_MODEL":    "model-name-that-supports-vision"
}

Uses OpenAI SDK standard env names (OPENAI_API_KEY, OPENAI_BASE_URL). Works with any provider exposing /v1/chat/completions with image_url content support.

Example — Groq:

"env": {
  "OPENAI_BASE_URL": "https://api.groq.com/openai/v1",
  "OPENAI_API_KEY":  "gsk_xxxxx",
  "OPENAI_MODEL":    "llama-3.2-90b-vision-preview"
}

Option 4 — Local Ollama (free, offline, no API key)

ollama pull llava
"env": {
  "OPENAI_BASE_URL": "http://localhost:11434/v1",
  "OPENAI_API_KEY":  "ollama",
  "OPENAI_MODEL":    "llava:latest"
}

Fully offline, no cost. Accuracy varies by model.

Option 5 — CapSolver (paid solver, no AI needed)

"env": {
  "CAPSOLVER_KEY": "CAP-xxxxxxxxxxxxx"
}

Enables solve_captcha tool. ~$0.80/1000 solves for Turnstile. Get key at capsolver.com.

Provider Resolution Priority
  1. Explicit args to solve_recaptcha_ai(provider=, base_url=, api_key=, model=)
  2. OPENAI_API_KEY + OPENAI_BASE_URL + OPENAI_MODELstandard (OpenAI SDK convention)
  3. AI_VISION_API_KEY + AI_VISION_BASE_URL + AI_VISION_MODEL — deprecated (removed in v0.2.0)
  4. ANTHROPIC_API_KEY + ANTHROPIC_MODEL — Claude

Legacy AI_VISION_* env still work but emit DeprecationWarning. Migrate to OPENAI_* standard for future compatibility.

Requirements

  • Python 3.11+
  • uv installed: curl -LsSf https://astral.sh/uv/install.sh | sh
  • Chrome or Chromium browser (auto-detected by nodriver)

Tool Categories (133)

⭐⭐⭐ Dual-Mode HTTP (unique)

| Tool | Purpose | |------|---------| | http_request | TLS-perfect HTTP via curl_cffi (chrome/firefox/safari impersonation) | | http_session_cookies | Inspect which browser cookies match a URL | | session_warmup | Natural browsing pattern (homepage/referer/scroll) before target | | detect_anti_bot | Identify CF/DataDome/PerimeterX/Kasada/Imperva on current page |

⭐⭐ Precision Mouse Kit (unique)

| Tool | Purpose | |------|---------| | click_turnstile | CF Turnstile bypass for embed widgets + template-match fallback | | click_element_offset | Click at % position inside element (not center) | | click_at_corner | Click top-left/right/bottom-left/right of element | | find_by_image | OpenCV template match → coordinates | | click_at_image | Find image + click its center | | mouse_drift | Random Bezier wandering (pass behavioral ML) | | mouse_record / mouse_replay | Capture real human mouse patterns, replay |

⭐⭐ AI Vision Solver (unique)

| Tool | Purpose | |------|---------| | solve_recaptcha_ai | Vision LLM picks matching tiles — solve image challenges (auto-clicks anchor checkbox in v0.2.10+) | | vision_locate | NL → element coordinates: "the red Create button at bottom right" (optional click=True) |

⭐⭐⭐ AI-Agent Action Kit (LLM-optimized, new in v0.3.0)

Designed for LLM-driven workflows — token-efficient page summaries, label-fuzzy form filling, verification primitives, resumable orchestration.

| Tool | Purpose | |------|---------| | describe_page | Compact JSON summary (title/url/headings/fields/actions/errors/navigation) — ~10× fewer tokens than accessibility_snapshot. wait_stable=True waits for SPA hydration via MutationObserver | | smart_fill | Fill form by label text (fuzzy match: exact > prefix > substring > token); native value setter for React/Vue. Returns did_you_mean candidates on miss | | paste_text | Full paste-event sequence (ClipboardEvent + DataTransfer + beforeinput inputType:'insertFromPaste') for SolidJS/Svelte 5/Qwik forms that ignore plain dispatchEvent('input') | | assert_text_present / assert_url_matches / `assertelementvisible

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.