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.
π― Watch: Stealth Browser MCP bypassing Cloudflare, cloning UI elements, and intercepting network traffic β all through simple AI chat commands
βΆοΈ Quickstart- π Hall of Fame - Impossible automations made possible
- π₯ Stealth vs Others - Why we dominate the competition
- π₯ Viral Examples - Copy & paste prompts that blow minds
- π§° 89 Tools - Complete arsenal of browser automation
- π₯ Live Demos - See it bypass what others can't
- π€ Contributing & π¬ Discord
# 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 (Full Installation):
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\"]}"
Windows (Minimal - Core Tools Only):
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\",\"--minimal\"]}"
Mac/Linux (Full Installation):
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"
]
}'
Mac/Linux (Custom - Disable Advanced Features):
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",
"--disable-cdp-functions",
"--disable-dynamic-hooks"
]
}'
π‘ Replace
/path/to/stealth-browser-mcp/
with your actual project path
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
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-full": {
"command": "C:\\path\\to\\stealth-browser-mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\stealth-browser-mcp\\src\\server.py"],
"env": {}
},
"stealth-browser-minimal": {
"command": "C:\\path\\to\\stealth-browser-mcp\\venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\stealth-browser-mcp\\src\\server.py", "--minimal"],
"env": {}
}
}
}
Claude Desktop - Mac/Linux (~/Library/Application Support/Claude/claude_desktop_config.json
)
{
"mcpServers": {
"stealth-browser-full": {
"command": "/path/to/stealth-browser-mcp/venv/bin/python",
"args": ["/path/to/stealth-browser-mcp/src/server.py"],
"env": {}
},
"stealth-browser-custom": {
"command": "/path/to/stealth-browser-mcp/venv/bin/python",
"args": [
"/path/to/stealth-browser-mcp/src/server.py",
"--disable-cdp-functions",
"--disable-dynamic-hooks"
],
"env": {}
}
}
}
Stealth Browser MCP now supports modular tool loading! Disable sections you don't need:
# Minimal installation (only core browser + element interaction)
python src/server.py --minimal
# Custom installation - disable specific sections
python src/server.py --disable-cdp-functions --disable-dynamic-hooks
# List all 11 available tool sections
python src/server.py --list-sections
Available sections:
browser-management
(11 tools) - Core browser operationselement-interaction
(11 tools) - Page interaction and manipulationelement-extraction
(9 tools) - Element cloning and extractionfile-extraction
(9 tools) - File-based extraction toolsnetwork-debugging
(5 tools) - Network monitoring and interceptioncdp-functions
(13 tools) - Chrome DevTools Protocol executionprogressive-cloning
(10 tools) - Advanced element cloningcookies-storage
(3 tools) - Cookie and storage managementtabs
(5 tools) - Tab managementdebugging
(6 tools) - Debug and system toolsdynamic-hooks
(10 tools) - AI-powered network hooks
π‘ Pro Tip: Use
--minimal
for lightweight deployments or--disable-*
flags to exclude functionality you don't need!
Restart your MCP client and ask your agent:
"Use stealth-browser to navigate to https://example.com and extract the pricing table."
β 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"
- 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
- ποΈ Modular architecture β disable unused sections, run minimal installs
- β‘ Lightweight deployments β from 22 core tools to full 89-tool arsenal
- Clean MCP integration β no custom brokers or wrappers needed
- 89 focused tools organized into 11 logical sections
Built on nodriver + Chrome DevTools Protocol + FastMCP
Latest Enhancement (v0.2.3): Revolutionary text input capabilities that solve common automation challenges:
# NEW: paste_text() - Lightning-fast text input via CDP
await paste_text(instance_id, "textarea", large_markdown_content, clear_first=True)
- 10x faster than character-by-character typing
- Uses Chrome DevTools Protocol
insert_text
for maximum compatibility - Perfect for large content (README files, code blocks, forms)
# ENHANCED: type_text() with newline parsing
await type_text(instance_id, "textarea", "Line 1\nLine 2\nLine 3", parse_newlines=True, delay_ms=10)
parse_newlines=True
: Converts\n
to actual Enter key presses- Essential for multi-line forms, chat apps, and text editors
- Maintains human-like typing with customizable speed
- Form Automation: Handle complex multi-line inputs correctly
- Content Management: Paste large documents instantly without timeouts
- Chat Applications: Send multi-line messages with proper line breaks
- Code Input: Paste code snippets with preserved formatting
- Markdown Editors: Handle content with proper line separations
Real-world impact: What used to take 30+ seconds of character-by-character typing now happens instantly, with proper newline handling for complex forms.
NEW in v0.2.2: Stealth Browser MCP now supports modular tool loading! Choose exactly what functionality you need:
Mode | Tools | Use Case |
---|---|---|
Full | 89 tools | Complete browser automation & debugging |
Minimal (--minimal ) |
22 tools | Core browser automation only |
Custom | Your choice | Disable specific sections you don't need |
# List all sections with tool counts
python src/server.py --list-sections
# Examples:
python src/server.py --minimal # Only browser + element interaction
python src/server.py --disable-cdp-functions # Disable Chrome DevTools functions
python src/server.py --disable-dynamic-hooks # Disable AI network hooks
python src/server.py --disable-debugging # Disable debug tools
Benefits:
- π Faster startup - Only load tools you need
- πΎ Smaller memory footprint - Reduce resource usage
- ποΈ Cleaner interface - Less tool clutter in AI chat
- βοΈ Environment-specific - Different configs for dev/prod
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 |
Modular Architecture | 11 sections, 22-89 tools | Fixed ~20 tools |
Tooling | 89 (customizable) | ~20 |
Sites users care about: LinkedIn β’ Instagram β’ Twitter/X β’ Amazon β’ Banking β’ Government portals β’ Cloudflare APIs β’ Nike SNKRS β’ Ticketmaster β’ Supreme
Browser Management
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 |
Element Interaction
Tool | Description |
---|---|
query_elements() |
Find elements by CSS/XPath |
click_element() |
Natural clicking |
type_text() |
Human-like typing with newline support |
paste_text() |
NEW! Instant text pasting via CDP |
scroll_page() |
Natural scrolling |
wait_for_element() |
Smart waiting |
execute_script() |
Run JavaScript |
select_option() |
Dropdown selection |
get_element_state() |
Element properties |
Element Extraction (CDPβaccurate)
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 |
File-Based Extraction
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 |
Network Debugging & Interception
π΅οΈ 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.
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" |
π― 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" |
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
CDP Function Execution
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 |
Progressive Element Cloning
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 |
Cookie & Storage
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 |
Tabs
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 |
Page Analysis & Debugging
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 |
π― Real Conversation: User asked Claude to clone the Augment Code hero section. Here's what happened:
"hey spawn a browser and clone the hero of the site https://www.augmentcode.com/"
- Spawned undetectable browser instance
- Navigated to augmentcode.com
- Identified hero section using DOM analysis
- Extracted complete element with all styles, structure, and assets
- Generated pixel-perfect HTML recreation with inline CSS
- Enhanced it to be even better with animations and responsive design
β
Perfect pixel-accurate recreation of the entire hero section
β
Professional animations and hover effects
β
Fully responsive design across all devices
β
Complete functionality including navigation and CTA button
β
All done through simple AI chat - no manual coding required
The entire process took under 2 minutes of AI conversation!
- π¨ CDP-accurate element extraction - Gets every CSS property perfectly
- π¬ Advanced UI recreation - Builds production-ready HTML/CSS
- π± Responsive enhancement - Adds mobile optimization automatically
- β¨ Animation enhancement - Improves the original with smooth transitions
- π One-command automation - Complex task executed via simple chat
π‘ This showcases the real power of Stealth Browser MCP - turning complex web cloning tasks into simple AI conversations.
- 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.
See the live plan in ROADMAP.md. Contributions welcome.
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.
DevHive Studios is a fair marketplace connecting businesses with skilled developers. Unlike other platforms, we put developers first while keeping costs affordable for clients.
- 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
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:
- π devhivestudios.com
- π¬ Contact on Discord
DevHive Studios β Fair marketplace. Quality results.
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! π
MIT β see LICENSE.
If you want your AI agent to access ANY website, star this repo. It helps more than you think.