NeoBrowser

Your AI drives real Chrome,
with your real sessions — undetected

An MCP server that drives the real Google Chrome binary with your logged-in profile. It wins the fingerprint game, moves the mouse like a human, and lands already authenticated — so it isn't flagged like a stock headless bot.

# macOS / Linux — verifies a SHA-256 checksum
curl -fsSL https://raw.githubusercontent.com/pitiflautico/neobrowser/main/install.sh | sh

Honest scope: NeoBrowser defeats fingerprint detection, not challenges. reCAPTCHA, Turnstile and behavioral systems can still put up a wall — so it detects the wall and hands control back with a real-session or human path, instead of pretending to be invisible.

How it fits together

AI client → NeoBrowser → real Chrome → the web, authenticated

See it work

NeoBrowser demo
$ python3 rust/scripts/demo.py
Open a real login page
Fill username / password  → real isTrusted input
Click Login  → You logged into a secure area!
Upload an image  → server confirms: neobrowser_demo.png
Bot detector  → {"webdriver":"hidden (passed)","chrome_runtime":true,"headless_ua":false}

What it does

Real-session browsing

Decrypt + inject cookies from your real Chrome profile (macOS Keychain / Linux secret-service / Windows DPAPI). Opt-in; identity cookies excluded so your browser isn't logged out.

Genuine stealth

Passes bot.sannysoft with the host's real fingerprint — no spoofed WebGL or UA mismatch. CI runs the checks against a real Chrome on every push.

Human-like input

Clicks travel to the target along an eased, jittered path with human-cadence pauses; typing can be per-key with realistic timing.

Bot-wall aware

Detects CAPTCHAs, consent gates, rate-limits and login walls on any site and tells the model how to react.

Multi-source search

Text, images and video across several engines — walled sources are detected and skipped, results merged.

43 tools · one binary

Navigate, forms, upload/download, extract, multi-tab, playbooks, search — a single ~5 MB static binary, no runtime.

Robust core

One isolated CDP connection per tab, typed timeouts, self-healing recovery — and a graceful shutdown that never leaves an orphaned Chrome behind.

Benchmarked, honestly

A neutral harness drives NeoBrowser and Playwright MCP through the same task matrix — nothing tuned to make either win:

Functional tasksAvg latencyCrashes
NeoBrowser9/94760 ms0
Playwright MCP7/92597 ms0

Playwright MCP is faster; NeoBrowser passes upload and session persistence, which Playwright MCP can't do — and on adversarial pages both were walled equally (no "evades better" claim). Full methodology: bench/compare.md.

Why NeoBrowser

NeoBrowserPlaywright MCPbrowser-use
Real Chrome binarybundled Chromium⚠️
Real logged-in sessions
Genuine fingerprint (bot.sannysoft)partial
Human-like mouse / typing
Bot-wall detection
Single static binaryNode + browsers

Get started

1 · Install

Run the one-liner above, or grab a binary from Releases (checksummed & signed with build provenance).

2 · Register

{ "mcpServers": { "neobrowser":
  { "command": "neobrowser" } } }

3 · Browse

Ask your model to navigate, fill forms, upload, search — see the tool reference.