Stealth Browser MCP
Enables AI agents to perform undetectable browser automation that bypasses Cloudflare, antibots, and social media blocks. Provides 105 tools for element extraction, network debugging, and real-world web scraping with a 98.7% success rate on protected sites.
README
<div align="center">
<img src="media/UndetectedStealthBrowser.png" alt="Stealth Browser MCP" width="200"/>
Stealth Browser MCP
🚀 The ONLY browser automation that bypasses Cloudflare, antibots, and social media blocks
</div>
Supercharge any MCP-compatible AI agent with undetectable, real-browser automation. No CAPTCHAs. No blocks. Just results.
⚡ 30-second setup • 🛡️ Undetectable by design • 🏆 98.7% success rate on protected sites • 🕵️ Full network debugging via AI chat
Give your AI agent real browser superpowers: access Cloudflare sites, extract any UI, and intercept network traffic — from inside your chat.
🎥 See It In Action
<div align="center"> <img src="media/showcase-demo-full.gif" alt="Stealth Browser MCP Demo" width="800" style="border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);"> <br><br> <a href="media/Showcase%20Stealth%20Browser%20Mcp.mp4" download> <img src="https://img.shields.io/badge/📹-Watch%20HD%20Video-red?style=for-the-badge&logo=video&logoColor=white" alt="Watch HD Video"> </a> </div>
🎯 Watch: Stealth Browser MCP bypassing Cloudflare, cloning UI elements, and intercepting network traffic — all through simple AI chat commands
🔗 Quick Links
- ▶️ Quickstart
- 🏆 Hall of Fame - Impossible automations made possible
- 🥊 Stealth vs Others - Why we dominate the competition
- 🔥 Viral Examples - Copy & paste prompts that blow minds
- 🧰 88 Tools - Complete arsenal of browser automation
- 🎥 Live Demos - See it bypass what others can't
- 🤝 Contributing & 💬 Discord
Quickstart (60 seconds)
✅ Recommended Setup (Creator's Tested Method)
# 1. Clone the repository
git clone https://github.com/vibheksoni/stealth-browser-mcp.git
cd stealth-browser-mcp
# 2. Create virtual environment
python -m venv venv
# 3. Activate virtual environment
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate
# 4. Install dependencies
pip install -r requirements.txt
# 5. Add to Claude Code using CLI
Windows:
claude mcp add-json stealth-browser-mcp "{\"type\":\"stdio\",\"command\":\"C:\\path\\to\\stealth-browser-mcp\\venv\\Scripts\\python.exe\",\"args\":[\"C:\\path\\to\\stealth-browser-mcp\\src\\server.py\"]}"
Mac/Linux:
claude mcp add-json stealth-browser-mcp '{
"type": "stdio",
"command": "/path/to/stealth-browser-mcp/venv/bin/python",
"args": [
"/path/to/stealth-browser-mcp/src/server.py"
]
}'
💡 Replace
/path/to/stealth-browser-mcp/with your actual project path
⚠️ Alternative: FastMCP CLI (Untested by Creator)
These methods should theoretically work but have not been tested by the creator. Use at your own risk.
# Install FastMCP
pip install fastmcp
# Auto-install (untested)
fastmcp install claude-desktop src/server.py --with-requirements requirements.txt
# OR
fastmcp install claude-code src/server.py --with-requirements requirements.txt
# OR
fastmcp install cursor src/server.py --with-requirements requirements.txt
Alternative: Manual Configuration (If Claude CLI not available)
If you don't have Claude Code CLI, manually add to your MCP client configuration:
Claude Desktop - Windows (%APPDATA%\Claude\claude_desktop_config.json)
{
"mcpServers": {
"stealth-browser": {
"command": "C:\\path\\to\\stealth-browser-mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\stealth-browser-mcp\\src\\server.py"],
"env": {}
}
}
}
Claude Desktop - Mac/Linux (~/Library/Application Support/Claude/claude_desktop_config.json)
{
"mcpServers": {
"stealth-browser": {
"command": "/path/to/stealth-browser-mcp/venv/bin/python",
"args": ["/path/to/stealth-browser-mcp/src/server.py"],
"env": {}
}
}
}
Quick Test
Restart your MCP client and ask your agent:
"Use stealth-browser to navigate to https://example.com and extract the pricing table."
🚨 Common Installation Issues
❌ ERROR: Could not find a version that satisfies the requirement [package]
- Solution: Make sure your virtual environment is activated:
venv\Scripts\activate(Windows) orsource venv/bin/activate(Mac/Linux) - Alternative: Try upgrading pip first:
pip install --upgrade pip
❌ Module not found errors when running server
- Solution: Ensure virtual environment is activated before running
- Check paths: Make sure the Claude CLI command uses the correct venv path
❌ Chrome/Browser issues
- Solution: The server will automatically download Chrome when first run
- No manual Chrome installation needed
❌ "claude mcp add-json" command not found
- Solution: Make sure you have Claude Code CLI installed
- Alternative: Use manual configuration method above
❌ Path errors in Windows
- Solution: Use double backslashes
\\in JSON strings for Windows paths - Example:
"C:\\\\Users\\\\name\\\\project\\\\venv\\\\Scripts\\\\python.exe"
✨ Why developers star this
- Works on protected sites that block traditional automation
- Pixel-accurate element cloning via Chrome DevTools Protocol
- Full network debugging through AI chat — see every request, response, header, and payload
- Your AI agent becomes a network detective — no more guessing what APIs are being called
- Clean MCP integration — no custom brokers or wrappers needed
- 88 focused tools designed for real-world workflows
Built on nodriver + Chrome DevTools Protocol + FastMCP
🆚 Stealth vs Playwright MCP
| Feature | Stealth Browser MCP | Playwright MCP |
|---|---|---|
| Cloudflare/Queue-It | Consistently works | Commonly blocked |
| Banking/Gov portals | Works | Frequently blocked |
| Social sites | Full automation | Captchas/bans |
| UI cloning | CDP-accurate | Limited |
| Network debugging | AI agent sees all requests/responses | Basic |
| API reverse engineering | Full payload inspection via chat | Manual tools only |
| Dynamic Hook System | AI writes Python functions for real-time request processing | Not available |
| Tooling | 88 | ~20 |
Sites users care about: LinkedIn • Instagram • Twitter/X • Amazon • Banking • Government portals • Cloudflare APIs • Nike SNKRS • Ticketmaster • Supreme
Toolbox
<details> <summary><strong>Browser Management</strong></summary>
| Tool | Description |
|---|---|
spawn_browser() |
Create undetectable browser instance |
navigate() |
Navigate to URLs |
close_instance() |
Clean shutdown of browser |
list_instances() |
Manage multiple sessions |
get_instance_state() |
Full browser state information |
go_back() |
Navigate back in history |
go_forward() |
Navigate forward in history |
reload_page() |
Reload current page |
hot_reload() |
Reload modules without restart |
reload_status() |
Check module reload status |
</details>
<details> <summary><strong>Element Interaction</strong></summary>
| Tool | Description |
|---|---|
query_elements() |
Find elements by CSS/XPath |
click_element() |
Natural clicking |
type_text() |
Human-like typing |
scroll_page() |
Natural scrolling |
wait_for_element() |
Smart waiting |
execute_script() |
Run JavaScript |
select_option() |
Dropdown selection |
get_element_state() |
Element properties |
</details>
<details> <summary><strong>Element Extraction (CDP‑accurate)</strong></summary>
| Tool | Description |
|---|---|
extract_complete_element_cdp() |
Complete CDP-based element clone |
clone_element_complete() |
Complete element cloning |
extract_complete_element_to_file() |
Save complete extraction to file |
extract_element_styles() |
300+ CSS properties via CDP |
extract_element_styles_cdp() |
Pure CDP styles extraction |
extract_element_structure() |
Full DOM tree |
extract_element_events() |
React/Vue/framework listeners |
extract_element_animations() |
CSS animations/transitions |
extract_element_assets() |
Images, fonts, videos |
extract_related_files() |
Related CSS/JS files |
</details>
<details> <summary><strong>File-Based Extraction</strong></summary>
| Tool | Description |
|---|---|
extract_element_styles_to_file() |
Save styles to file |
extract_element_structure_to_file() |
Save structure to file |
extract_element_events_to_file() |
Save events to file |
extract_element_animations_to_file() |
Save animations to file |
extract_element_assets_to_file() |
Save assets to file |
clone_element_to_file() |
Save complete clone to file |
list_clone_files() |
List saved clone files |
cleanup_clone_files() |
Clean up old clone files |
</details>
<details> <summary><strong>Network Debugging & Interception</strong></summary>
🕵️ Turn your AI agent into a network detective! No more Postman, no more browser dev tools — just ask your agent what APIs are being called.
Basic Network Monitoring
| Tool | Description |
|---|---|
list_network_requests() |
Ask AI: "What API calls happened in the last 30 seconds?" |
get_request_details() |
Ask AI: "Show me the headers and payload for that login request" |
get_response_content() |
Ask AI: "What data did the server return from that API call?" |
modify_headers() |
Ask AI: "Add custom authentication headers to all requests" |
spawn_browser(block_resources=[...]) |
Ask AI: "Block all tracking scripts and ads" |
Dynamic Network Hook System (NEW!)
🎯 AI writes custom Python functions to intercept and modify requests/responses in real-time!
| Tool | Description |
|---|---|
create_dynamic_hook() |
Ask AI: "Create a hook that blocks ads and logs API calls" |
create_simple_dynamic_hook() |
*Ask AI: "Block all requests to .ads.com" |
list_dynamic_hooks() |
Ask AI: "Show me all active hooks with statistics" |
get_dynamic_hook_details() |
Ask AI: "Show me the Python code for hook ID abc123" |
remove_dynamic_hook() |
Ask AI: "Remove the ad blocking hook" |
AI Hook Learning System
| Tool | Description |
|---|---|
get_hook_documentation() |
AI learns request object structure and HookAction types |
get_hook_examples() |
10 detailed examples: blockers, redirects, API proxies, custom responses |
get_hook_requirements_documentation() |
Pattern matching, conditions, best practices |
get_hook_common_patterns() |
Ad blocking, API proxying, auth injection patterns |
validate_hook_function() |
Validate hook Python code before deployment |
💡 Example: "Create a hook that blocks social media trackers during work hours, redirects old API endpoints to new servers, and adds authentication headers to all API calls"
🔥 Hook Features:
- Real-time processing (no pending state)
- AI-generated Python functions with custom logic
- Pattern matching with wildcards and conditions
- Request/response stage processing with content modification
- Full response body replacement and header injection
- Automatic syntax validation and error handling
- Base64 encoding for binary content support
</details>
<details> <summary><strong>CDP Function Execution</strong></summary>
| Tool | Description |
|---|---|
execute_cdp_command() |
Direct CDP commands (use snake_case) |
discover_global_functions() |
Find JavaScript functions |
discover_object_methods() |
Discover object methods (93+ methods) |
call_javascript_function() |
Execute any function |
inject_and_execute_script() |
Run custom JS code |
inspect_function_signature() |
Inspect function details |
create_persistent_function() |
Functions that survive reloads |
execute_function_sequence() |
Execute function sequences |
create_python_binding() |
Create Python-JS bindings |
execute_python_in_browser() |
Execute Python code via py2js |
get_execution_contexts() |
Get JS execution contexts |
list_cdp_commands() |
List available CDP commands |
get_function_executor_info() |
Get executor state info |
</details>
<details> <summary><strong>Progressive Element Cloning</strong></summary>
| Tool | Description |
|---|---|
clone_element_progressive() |
Initial lightweight structure |
expand_styles() |
On-demand styles expansion |
expand_events() |
On-demand events expansion |
expand_children() |
Progressive children expansion |
expand_css_rules() |
Expand CSS rules data |
expand_pseudo_elements() |
Expand pseudo-elements |
expand_animations() |
Expand animations data |
list_stored_elements() |
List stored elements |
clear_stored_element() |
Clear specific element |
clear_all_elements() |
Clear all stored elements |
</details>
<details> <summary><strong>Cookie & Storage</strong></summary>
| Tool | Description |
|---|---|
get_cookies() |
Read cookies |
set_cookie() |
Set cookies |
clear_cookies() |
Clear cookies |
get_instance_state() |
localStorage & sessionStorage snapshot |
execute_script() |
Read/modify storage via JS |
</details>
<details> <summary><strong>Tabs</strong></summary>
| Tool | Description |
|---|---|
list_tabs() |
List open tabs |
new_tab() |
Create new tab |
switch_tab() |
Change active tab |
close_tab() |
Close tab |
get_active_tab() |
Get current tab |
</details>
<details> <summary><strong>Page Analysis & Debugging</strong></summary>
| Tool | Description |
|---|---|
take_screenshot() |
Capture screenshots |
get_page_content() |
HTML and metadata |
get_debug_view() |
Debug info with pagination |
clear_debug_view() |
Clear debug logs |
export_debug_logs() |
Export logs (JSON/pickle/gzip) |
get_debug_lock_status() |
Debug lock status |
</details>
🧪 Real‑world examples
- Market research: extract pricing/features from 5 competitors and output a comparison
- UI/UX cloning: recreate a pricing section with exact fonts, styles, and interactions
- Inventory monitoring: watch a product page and alert when in stock
- Reverse engineering: intercept requests, map endpoints, and understand data flow
You can drive all of the above from a single AI agent chat.
🛣️ Roadmap
See the live plan in ROADMAP.md. Contributions welcome.
Contributing
We love first‑time contributions. Read CONTRIBUTING.md and open a PR.
If this project saves you time, consider starring the repo and sharing it with a friend.
💼 Need Website or App Development? Try DevHive Studios
DevHive Studios is a fair marketplace connecting businesses with skilled developers. Unlike other platforms, we put developers first while keeping costs affordable for clients.
🏆 Why DevHive?
- For Developers: Keep 60% of what clients pay (+ bonuses for on-time delivery)
- For Clients: Quality websites/apps starting at just $50
- For Everyone: Transparent pricing, fast delivery, expert team
🛠️ Services Available
Web development • Mobile apps • Bots & automation • E-commerce • UI/UX design • Security • Custom software • And more
Ready to start your project? Hit up DevHive Studios today:
DevHive Studios — Fair marketplace. Quality results.
☕ Support This Project
If this browser automation MCP saved you time or made you money, consider supporting the development:
- ☕ Buy me a coffee: buymeacoffee.com/vibheksoni
- ₿ Bitcoin:
3QaS5hq2416Gd3386M6c9g5Dgc5RgvP3o2 - Ł Litecoin:
MM35KN1wUXREpwjj2RsmiKHM1ZWKDmeqDz - ◎ Solana:
3LkBXDKLZXAgCRzAApa6dQG3ba7zRkUK82Bvmd9JWMdi
Every contribution helps maintain and improve this project! 🚀
📄 License
MIT — see LICENSE.
If you want your AI agent to access ANY website, star this repo. It helps more than you think.
⭐ Star History
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。