CloakMCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CloakMCPSearch Google for 'MCP protocol' and list the first five results."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CloakBrowser MCP
Stealth browser automation for AI agents — a Model Context Protocol server combining CloakBrowser's anti-detection with Playwright MCP-inspired architecture.
CloakBrowser is a source-level patched Chromium that passes Cloudflare Turnstile, reCAPTCHA v3 (0.9 score), FingerprintJS, BrowserScan, and 30+ bot detection services.
Why CloakBrowser MCP?
Feature | Playwright MCP | CloakBrowser MCP |
Anti-detection | ❌ None | ✅ Source-patched Chromium |
Cloudflare bypass | ❌ | ✅ |
reCAPTCHA v3 | ❌ | ✅ 0.9 score |
Snapshot-first | ✅ | ✅ |
Markdown extraction | ❌ | ✅ Readability-style |
Annotated screenshots | ❌ | ✅ browser-use style |
Smart page settling | Basic | ✅ MutationObserver + networkidle |
Auto-retry clicks | ❌ | ✅ |
Humanized input | ❌ | ✅ Mouse curves, keyboard timing |
Capability gating | ✅ --caps | ✅ --caps |
Quick Start
Install
pip install cloakbrowsermcpUse with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"cloakbrowser": {
"command": "cloakbrowsermcp"
}
}
}Use with VS Code / Cursor
Add to .vscode/mcp.json:
{
"servers": {
"cloakbrowser": {
"command": "cloakbrowsermcp",
"args": ["--caps", "all"]
}
}
}Use with Hermes Agent
Add to ~/.hermes/config.yaml:
mcp_servers:
cloakbrowser:
command: cloakbrowsermcp
args: ["--caps", "all"]
timeout: 120How It Works
Snapshot-First Architecture
CloakBrowser MCP uses accessibility tree snapshots as the primary way for AI models to understand web pages — not screenshots, not raw HTML.
1. cloak_launch() → Start stealth browser
2. cloak_navigate(pid, url) → Go to page (auto-waits for settle)
3. cloak_snapshot(pid) → Get interactive elements with [@eN] refs
4. cloak_click(pid, '@e5') → Click element by ref
5. cloak_type(pid, '@e3', 'hello') → Type into input
6. cloak_read_page(pid) → Get content as clean markdown
7. cloak_close() → DoneEach interactive element gets a [@eN] ref ID. All interaction tools use these refs — no CSS selectors needed.
Three Ways to See a Page
cloak_snapshot()— Accessibility tree with[@eN]refs. Fast, cheap, reliable. Use this.cloak_read_page()— Clean markdown extraction. For reading content, not interacting.cloak_screenshot()— Annotated screenshot with element indices. For visual context (images, charts, CAPTCHAs).
Stealth by Default
All anti-detection features are ON by default:
Source-patched Chromium binary (not Playwright patches — actual Chromium source modifications)
Human-like mouse curves, keyboard timing, and scroll patterns (
humanize=True)Stealth fingerprint arguments (consistent canvas, WebGL, audio fingerprints)
Proxy support with GeoIP-based timezone/locale detection
Tools
Core Tools (20 — always available)
Tool | Description |
| Start stealth browser (all anti-detection ON) |
| Close browser and release resources |
| PRIMARY — accessibility tree with |
| Click element by ref (auto-retry) |
| Type into input by ref (with submit option) |
| Select dropdown option by ref |
| Hover over element by ref |
| Check/uncheck checkbox by ref |
| Page content as clean markdown |
| Annotated screenshot with element indices |
| Go to URL (auto-waits for settle) |
| Navigate back in history |
| Navigate forward in history |
| Press keyboard key |
| Scroll page up/down |
| Wait for page to settle |
| Execute JavaScript in page |
| Open new page/tab |
| List all open pages |
| Close a specific page |
Capability-Gated Tools (enabled via --caps)
Enable with cloakbrowsermcp --caps network,cookies,pdf,console or --caps all.
Tool | Capability | Description |
| network | Block/mock/passthrough requests |
| network | Remove interception rule |
| cookies | Get all cookies |
| cookies | Set cookies |
| Save page as PDF | |
| console | Get browser console output |
Configuration
CLI Options
cloakbrowsermcp [--caps CAPS] [--transport {stdio,sse}] [--port PORT]--caps: Comma-separated capabilities:network,cookies,pdf,console,all--transport: MCP transport —stdio(default) orsse--port: Port for SSE transport (default: 8931)
Environment Variables
Variable | Default | Description |
|
| Log level |
|
| Log file path |
|
| Also log to stderr |
Launch Options
cloak_launch(
headless=True, # False for headed mode (some sites require it)
proxy="http://...", # Residential proxy recommended
humanize=True, # Human-like input (ON by default)
stealth_args=True, # Stealth fingerprints (ON by default)
timezone="America/New_York",
locale="en-US",
geoip=False, # Auto-detect from proxy IP
fingerprint_seed="my-identity", # Consistent fingerprint across sessions
user_data_dir="/path", # Persistent profile
)Architecture
cloakbrowsermcp/
├── server.py # FastMCP server, tool registration, error handling
├── session.py # Browser lifecycle, page management, ref storage
├── snapshot.py # Accessibility tree JS, ref resolution
├── markdown.py # Readability-style HTML-to-markdown extraction
├── vision.py # Annotated screenshots with element indices
├── waiting.py # Smart wait, page settle, retry logic
├── stealth.py # Stealth config inspection
├── network.py # Network intercept, cookies (capability-gated)
├── __init__.py
└── __main__.pyDesign Principles
Snapshot-first — Tool descriptions steer models to use
cloak_snapshot()as the primary page understanding toolRef-based only — No CSS selector tools. All interaction via
[@eN]refs from snapshotsStealth by default — Anti-detection, humanization, and stealth args all ON without configuration
Auto-snapshot after actions — Click, type, navigate all return an updated snapshot
Smart waiting — Auto-wait on navigation (networkidle + MutationObserver settle), auto-retry on failed clicks
Capability gating — Advanced tools (network, cookies, PDF) off by default to keep tool count low
Clean content extraction — Markdown for reading, snapshot for interaction, annotated screenshots for vision
Development
git clone https://github.com/overtimepog/CloakMCP
cd CloakMCP
pip install -e ".[dev]"
pytestLicense
Apache-2.0
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/overtimepog/CloakMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server