Skip to main content
Glama
AntonLi-PM

mcp-stealth-browser

by AntonLi-PM

๐Ÿš€ MCP Stealth Browser (mcp-stealth-browser)

GitHub Release License: MIT MCP Standard Python 3.10+ Cloudflare Bypass PRs Welcome

The High-Performance Stealth Web Browsing & Search MCP Server for Claude Desktop, Cursor, Windsurf & Cline.
Bypasses Cloudflare Turnstile, anti-bot shields, and JavaScript SPAs with dual-engine TLS/Playwright impersonation, dynamic residential proxy rotation, and token-optimized semantic Markdown extraction.


โšก Why mcp-stealth-browser?

Standard web fetch and browser MCP servers (@modelcontextprotocol/server-fetch, playwright-mcp) fail on 70%+ of modern websites:

  • โŒ Cloudflare & Anti-Bot Blocking: Hit with 403 Forbidden or Just a moment... CAPTCHA loops.

  • โŒ Token Window Explosion: Dump raw HTML with bloated scripts, SVGs, and cookie modals, wasting 100k+ tokens.

  • โŒ IP Rate-Limits: Repeated queries from data center IPs get permanently blocked.

  • โŒ No Native Multi-Engine Web Search: Requires expensive Bing/Google API keys to search the web.

๐ŸŒŸ What mcp-stealth-browser solves:

  • โœ… Dual-Engine Cascade: Fast TLS/JA4 browser impersonation (<400ms) with auto-escalation to headless Playwright when Cloudflare Turnstile or DataDome is detected.

  • โœ… Built-in Real-Time Web Search: stealth_search crawls Google & DuckDuckGo simultaneously with zero API keys.

  • โœ… Token-Optimized Markdown: Strips navigation, headers, footers, and scripts, compressing content by 80-95% while preserving tables, headings, and code snippets.

  • โœ… Sticky Residential Proxy Pool: Dynamic residential proxy rotation with 10-30 minute sticky IP sessions and automatic block recovery.

  • โœ… Universal 1-Click Integration: Drop-in configuration for Claude Desktop, Cursor IDE, Windsurf, and Cline.


๐Ÿ› ๏ธ MCP Tools Exposed

Tool Name

Parameters

Description

stealth_fetch

url, bypass_challenge=True, session_id

Fetches any URL bypassing Cloudflare Turnstile, returns clean semantic Markdown with token estimation.

stealth_search

query, num_results=5, session_id

Multi-engine real-time web search (DuckDuckGo + Google) returning clean ranked citations with zero API keys.

proxy_status

none

Returns proxy pool health, active sticky sessions, and residential IP provider status.

rotate_proxy

session_id

Forces an immediate IP rotation for a specific sticky session.


๐Ÿ“ฆ Quick Start & Configuration

1. Install via pip or uv

pip install mcp-stealth-browser
# Optional: Install Playwright for heavy Turnstile challenge solving
playwright install chromium

2. Configure in Claude Desktop

Add to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "stealth-browser": {
      "command": "uvx",
      "args": ["mcp-stealth-browser"],
      "env": {
        "ROTA_PROXY_URL": "http://user:pass@proxy.ropond.com:8080"
      }
    }
  }
}

3. Configure in Cursor IDE

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "stealth-browser": {
      "command": "python",
      "args": ["-m", "mcp_stealth_browser"],
      "env": {
        "ROTA_PROXY_URL": "http://user:pass@proxy.ropond.com:8080"
      }
    }
  }
}

๐ŸŒ Residential Proxy Setup (High-Volume Scraping)

For high-concurrency scraping without IP blocks, mcp-stealth-browser natively integrates with dynamic residential proxies:

  1. Obtain a residential proxy gateway (e.g. claim a 1GB Free Trial at Ropond Proxy Cloud).

  2. Set the environment variable:

export ROTA_PROXY_URL="http://customer-xyz:pass@gw.ropond.com:8080"
  1. mcp-stealth-browser will automatically create sticky sessions per agent conversation and rotate automatically if a 403 or 429 block is encountered.


๐Ÿงช Testing Locally

You can test the search and fetch capabilities directly from CLI:

# Test multi-engine search
python -m mcp_stealth_browser.cli --test-search "DeepSeek R1 reasoning architecture"

# Test stealth fetch on a webpage
python -m mcp_stealth_browser.cli --test-fetch "https://news.ycombinator.com"

# Check proxy pool health
python -m mcp_stealth_browser.cli --status

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AntonLi-PM/mcp-stealth-browser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server