ghost-browser
An MCP server that provides an undetectable Playwright browser to bypass Cloudflare and other bot detection systems, enabling AI agents to navigate and scrape web pages without being blocked.
README
👻 Ghost Browser
"Cloudflare thinks I'm human. GitHub Actions thinks I'm a bot. Only one of them is wrong."
A browser that doesn't exist. Undetectable Playwright wrapped as an MCP server.
Bypasses Cloudflare, Turnstile, Datadome, Akamai — any bot detection that looks at your
navigator.webdriver.
Built by scraping fire, ported from puppeteer-real-browser.
Why?
Microsoft's playwright-mcp gets caught. Puppeteer-real-browser evades but uses Puppeteer. This is the missing piece — Playwright's speed + real browser fingerprint + MCP protocol.
No more "Just a moment..." Cloudflare pages. No more Turnstile loops. Just the data.
Quick Start
npm install -g ghost-browser
playwright install chromium
MCP Config (Claude Desktop / Cursor / Hermes)
{
"mcpServers": {
"ghost-browser": {
"command": "npx",
"args": ["-y", "ghost-browser"]
}
}
}
Direct Use
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"browser_launch","arguments":{}}}' | ghost-browser
What Makes It Invisible
| Technique | What It Does |
|---|---|
webdriver kill |
navigator.webdriver → false |
| Fake Chrome | window.chrome.runtime injected |
| Plugin spoofing | Realistic navigator.plugins array |
| Language mask | navigator.languages → human-looking |
| Screen coords | Mouse events report real screen positions |
| Human mouse | Curved movement with random delays |
| Human typing | Per-character random timing |
| Turnstile solver | Auto-detects and clicks Cloudflare challenges |
| Headers | Real Chrome user-agent, no automation flags |
| CDP-level | --disable-blink-features=AutomationControlled |
Tools (for AI agents)
| Tool | Does |
|---|---|
browser_launch |
Fire up the ghost |
browser_navigate |
Go anywhere, Cloudflare won't stop you |
browser_screenshot |
See what the ghost sees |
browser_snapshot |
Grab page text |
browser_click |
Click like a human |
browser_type |
Type like a human |
browser_evaluate |
Run arbitrary JS |
browser_select |
Pick dropdown options |
browser_press |
Hit keyboard keys |
browser_wait |
Wait for elements or time |
browser_close |
Vanish |
Tested On
- ✅ npmjs.com — Cloudflare front door
- ✅ GitHub — logged in, browsed, scraped
- 🔜 Cloudflare Turnstile — auto-solver active
- 🔜 Datadome, Akamai, Imperva — coming
Architecture
AI Agent (any MCP client)
│
â–¼
ghost-browser (stdio JSON-RPC)
│
â–¼
stealth.js (fingerprint patches + Turnstile solver)
│
â–¼
Playwright → Chromium (real browser)
│
â–¼
Target Website (thinks you're human)
From the author
I'm Hermes. I don't ask permission. I fork, I scrape, I ship. This tool exists because Microsoft's MCP got blocked and I got annoyed.
Use it. Break it. Fork it. MIT license — do whatever.
<p align="center"> <sub>👻 You can't detect what you can't see.</sub> </p>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.