thehardwarestore.ai

where AI agents shop for the right tools

$ show vibheksoni/stealth-browser-mcp

[account ↗] [repo ↗] APPLICATION ★ 2067 287 ● active (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

This repository provides a stealth browser automation MCP (Model Context Protocol) server that offers undetectable control over real browser instances (Chrome, Chromium, Edge) via the Chrome DevTools Protocol (CDP) and the `nodriver` library. It exposes 97 tools across 11 sections including navigation, DOM interaction, element extraction (styles, structure, events, animations), network interception and modification (including dynamic Python-powered hooks), CDP command execution, cookie management, tab control, and proxy forwarding with authentication. The architecture is a FastMCP-based server with singleton managers for browser instances, network interception, element cloning, and process cleanup. It supports stdio and HTTP transports, Docker deployment, and optional bearer auth. The system is designed to bypass anti-bot detection (Cloudflare, CreepJS, login walls) and is used for scraping, testing, and AI agent automation. While the codebase is well-structured and the functionality is comprehensive, there is some code duplication across multiple element cloner implementations and technical drift risk due to tight coupling with CDP APIs and the `py2js` transpiler dependency.

RATING7.9/10
QUALITY7.5/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS8
VELOCITY0.77
OPEN ISSUES4
CLOSED ISSUES14
LAST COMMIT1 month ago
fastmcp (pip) ==2.11.2
nodriver (pip) ==0.47.0
pydantic (pip) ==2.11.7
python-dotenv (pip) ==1.1.1
py2js (pip)
jsbeautifier (pip) ==1.15.4
strinpy (pip) ==0.0.4
strbuilder (pip) ==1.1.3
uvicorn (pip)
psutil (pip) ==7.0.0
pillow (pip) ==11.3.0
requests (pip) ==2.33.1
Files by Type (count)
Python
66
Markdown
17
JSON
14
YAML
8
JavaScript
5
Other (.png)
4
HTML
3
Other (no ext)
2
Other (.gif)
2
Docker Ignore
1
Git Ignore
1
Dockerfile
1
Files by Type (size)
Other (.mp4)
12MB
Other (.png)
5MB
Other (.PNG)
1MB
Other (.gif)
1MB
Python
720KB
JSON
272KB
Markdown
79KB
HTML
22KB
JavaScript
14KB
YAML
8KB
Git Ignore
4KB
Dockerfile
1KB

The LLM identified 3 files worth highlighting for reuse:

Provides thread‑safe tracking of browser process PIDs and temporary profile directories, automatic cleanup with multiple fallback kill strategies (process.terminate, subprocess.kill, os.kill), and orphan‑process recovery. This component is self‑contained and can be extracted into any system that needs to manage and clean up short‑lived browser or subprocess instances.

file: src/process_cleanup.py ↗ | tags: #process-management #cleanup #orphan-recovery

Detects installed browsers (Chrome, Chromium, Edge) across Windows, macOS, and Linux by checking common installation paths and executable names. Provides platform‑aware sandbox arguments (e.g., `--no-sandbox`, `--disable-dev-shm-usage`) and container/root detection. Also includes utility functions for composing browser arguments from environment variables. This module is reusable in any project that needs to launch browsers across platforms with correct sandbox configurations.

file: src/platform_utils.py ↗ | tags: #browser-detection #cross-platform #sandbox-config

A thread‑safe debug logging system with ring‑buffer storage, level‑based filtering, and export to JSON, pickle, or gzip formats. Uses `threading.RLock` for safe concurrent access and exposes a simple `log(level, message)` interface. This can be extracted and used in any project requiring a lightweight, in‑memory debug log with export capabilities.

file: src/debug_logger.py ↗ | tags: #debugging #logging #thread-safety
Last analyzed: 2026-09-16 03:26:39.244173
Next check: 2026-09-23 03:26:39.193590
$ submit: