Cloak Browser MCP server
Playwright-compatible MCP server on CloakBrowser stealth Chromium: 86 tools, humanized input.
2 stars62 downloads/wk
Reviews
Write oneNobody has reviewed Cloak Browser yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Cloak Browser tools (86, 15 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
browser_clickClick an element by ref or selector.
browser_closeClose the browser and discard all in-memory state. The next tool call will lazy-relaunch.
browser_console_messagesRetrieve buffered console/pageerror output for the active tab.
browser_cookie_clearErase ALL cookies in the active context.
browser_cookie_deletewrite actionDelete a single cookie.
browser_cookie_getRead a single cookie value.
browser_cookie_listList all cookies (optionally filtered by domain/path).
browser_cookie_setwrite actionCreate or update a cookie at the context level.
browser_dragDrag from one element to another.
browser_dropwrite actionDrop files or data onto an element.
browser_emulate_mediaEmulate CSS media features for the page, for example switch between the light and dark color scheme. Omitted parameters are left unchanged; null clears an override.
browser_evaluatewrite actionRun a JavaScript function inside the page. Function source must be an arrow or function expression.
browser_file_uploadwrite actionUpload files to the active file chooser. Paths must be inside --upload-allow-dir if set.
browser_fill_formPopulate multiple form fields in one call.
browser_findSearch the accessibility snapshot of the current page for text or a regular expression. Returns matching snapshot nodes with a few lines of context, each under its path from the root, which is cheaper than a full snapshot when you only need to locate an element and its ref.
browser_generate_locatorGenerate Playwright-style locator code for an element by ref. Useful for codegen.
browser_get_configPrint resolved server config (capabilities, profile, proxy, fingerprint, allow/block lists).
browser_handle_dialogRespond to the next dialog (alert/confirm/prompt/beforeunload).
browser_hide_highlightwrite actionRemove highlight from a previously highlighted element, or all of them.
browser_highlightPersistently outline an element so a human reviewer can see what the agent picked.
browser_hoverHover over an element.
browser_localstorage_clearClear localStorage on the active page.
browser_localstorage_deletewrite actionRemove a localStorage key.
browser_localstorage_getRead a localStorage value.
browser_localstorage_listList all localStorage entries.
browser_localstorage_setSet a localStorage key on the active page.
browser_mouse_click_xyClick at pixel coordinates (bypasses accessibility tree).
browser_mouse_downPress a mouse button at the current cursor position.
browser_mouse_drag_xyDrag from one coordinate pair to another.
browser_mouse_move_xyMove the cursor to pixel coordinates.
browser_mouse_upRelease a mouse button at the current cursor position.
browser_mouse_wheelScroll via mouse wheel by delta pixels.
browser_navigateLoad a URL in the active tab. Returns a fresh snapshot after navigation.
browser_navigate_backGo back one entry in the active tab's history.
browser_network_requestInspect a single captured request by index (from browser_network_requests).
browser_network_requestsList captured HTTP requests for the active tab since last navigation.
browser_network_state_setToggle online/offline simulation for the active context.
browser_pdf_saveSave the current page as PDF (Chromium-only).
browser_press_keywrite actionSend a single key or key combination at page level.
browser_resizeResize the viewport.
browser_resumeResume page execution if paused via debugger; statement or DevTools breakpoint.
browser_routeInstall a request mock. Matched requests are fulfilled with the given status/body/headers.
browser_route_listList active request mocks.
browser_run_code_unsafewrite actionExecute arbitrary JS in the server process. Only available when started with BOTH --caps config AND --enable-unsafe-eval.
browser_scrollScroll the page or an element by a pixel amount.
browser_select_optionSelect one or more options in a <select> dropdown.
browser_sessionstorage_clearClear sessionStorage on the active page.
browser_sessionstorage_deletewrite actionRemove a sessionStorage key.
browser_sessionstorage_getRead a sessionStorage value.
browser_sessionstorage_listList all sessionStorage entries.
browser_sessionstorage_setSet a sessionStorage key on the active page.
browser_set_storage_stateImport cookies + origin storage from a JSON file. Applied at context boot, so requires --profile-dir to persist beyond this session.
browser_snapshotCapture an accessibility-tree snapshot of the active page. Returns a structured outline with [eN] refs you can pass to interaction tools.
browser_start_recordingStart recording actions that the user performs in the browser as Playwright code. Use it when the user wants to demonstrate a flow manually. Call browser_stop_recording when the user says they are done to retrieve the recorded actions.
browser_start_tracingBegin a Playwright trace recording. Stop with browser_stop_tracing to write the .zip.
browser_start_videoBegin a video recording. Stop with browser_stop_video. Note: video must be configured at context creation; for ephemeral sessions, the next launched tab is recorded.
browser_stop_recordingStop the recording started with browser_start_recording and return the recorded actions as Playwright code.
browser_stop_tracingStop tracing and write the .zip trace to the path passed in browser_start_tracing.
browser_stop_videoStop the video recording flag.
browser_storage_stateExport cookies + origin storage to a JSON file.
browser_tabsList, create, switch between, or close tabs.
browser_take_screenshotCapture a screenshot of the page or a specific element.
browser_typeType text into an editable field. Use --humanize for natural per-character timing.
browser_unroutewrite actionRemove a route mock (or all mocks if pattern is omitted).
browser_verify_element_visibleAssert that an element matching role+accessible name is visible.
browser_verify_list_visibleAssert that a list element exists and contains each item.
browser_verify_text_visibleAssert that text is visible on the page.
browser_verify_valueAssert an input value or computed state.
browser_video_chapterwrite actionInsert a chapter marker into the video buffer (no-op when video is off).
browser_video_hide_actionsStop annotating actions performed on the page.
browser_video_show_actionsAnnotate subsequent actions performed on the page with a callout that names the action and, when styled, marks the action point and highlights the target element. Useful while video recording or screencasting.
browser_wait_forWait for time, text appearance/disappearance, or selector state.
cloak_binary_infoReport installed CloakBrowser binary version, tier (free or pro), platform, and cache path.
cloak_binary_updatewrite actionForce CloakBrowser to check for and download the latest Chromium build. May take several minutes (~200MB).
cloak_detection_testLoad a well-known bot-detection probe page and dump its key result fields.
cloak_humanize_setToggle humanized mouse/keyboard inputs and tune behavior. Takes effect on subsequent click/type calls when --caps humanize is on.
cloak_persistent_profile_createwrite actionCreate a fresh persistent profile directory under ~/.cloak-browser-mcp/profiles/<name>. Use as --profile-dir on next launch.
cloak_persistent_profile_deletewrite actionDelete a profile directory. Requires confirm=true. The active session is unaffected.
cloak_persistent_profile_listList all profile directories under ~/.cloak-browser-mcp/profiles/.
cloak_request_signal_inspectOpen the target URL in an ephemeral background tab and capture per-request connection signals: response status, security details (TLS protocol/issuer), response headers, and request headers (Accept-Language, User-Agent, Sec-CH-UA-*).
cloak_set_fingerprintApply a fingerprint profile to the active context. Some fields (seed, GPU, screen) require recreating the context — current pages will be reopened on the same URL.
cloak_set_geolocationSet the geolocation reported by navigator.geolocation. Pass fromProxyIp=true to auto-resolve from proxy exit IP.
cloak_set_localeOverride navigator.language and Accept-Language for the active context.
cloak_set_proxyReplace the current proxy. This recreates the BrowserContext (state is preserved if --profile-dir was used; otherwise cookies are lost).
cloak_set_timezoneLive-override the timezone for the active context via CDP (no relaunch).
cloak_stealth_auditProgrammatic stealth audit. Reports navigator.webdriver, plugin count, WebGL vendor/renderer, languages, user agent, hardwareConcurrency, deviceMemory, permissions, chrome.runtime presence, and a canvas fingerprint hash.
Public scan report
scanner v0.1.10 · 2026-10-26 · same rubric, same numbers if you re-run it
- Code scan26 source files scanned20/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 5 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (1)
- mediumeval / new Function used
exec.evaldist/tools/config.js: …on.rawBrowser }; const fn = new Function("cloak", `return (async () => { ${args.c…
How Cloak Browser compares
Against every graded Scraping and browsing MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 75/100
- higher than 45% of 868 Scraping and browsing servers
- Tools
- 86
- the typical Scraping and browsing server has 6
- Tools that change things
- 17%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 2
- more than 65% of 581 Scraping and browsing servers
- Downloads a week
- 62
- more than 47% of 304 Scraping and browsing servers with a package
What its tools let an agent do: 71 read · 15 change
Install Cloak Browser in Claude Code, Cursor or VS Code
Runs npx -y @devinwangd/cloak-browser-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add cloak-browser-mcp -- npx -y @devinwangd/cloak-browser-mcp
What the publisher says
From the Cloak Browser repository's README, as published. We do not edit it. Read it on GitHub
cloak-browser-mcp
A Model Context Protocol (MCP) server backed by CloakHQ/CloakBrowser — a source-patched Chromium that passes Cloudflare Turnstile, reCAPTCHA v3, FingerprintJS, BrowserScan, and 30+ other bot detection services without runtime JS injection.
Drop-in replacement for @playwright/mcp with 86 tools: every Playwright MCP tool except browser_annotate (see Not implemented), plus a Cloak-exclusive stealth/profile/audit layer.
Works with Claude Code, Cursor, VS Code, Codex, Gemini CLI, Windsurf, or any MCP client.
Table of contents
- Why CloakBrowser over vanilla Playwright?
- Quick start
- Capabilities (--caps)
- CloakBrowser-exclusive tools
- CLI flags
- Tool inventory
- Target syntax for interaction tools
- Example flows
- Security model
- Changelog
- License
Why CloakBrowser over vanilla Playwright?
When you don't need stealth, @playwright/mcp is faster and lighter — use that. When the site has any bot detection (Cloudflare, DataDome, PerimeterX, FingerprintJS) — use this.
Quick start
1. Install once
The wrapper installs from npm; the CloakBrowser Chromium binary (~200 MB) downloads on first use into ~/.cloakbrowser/.
Requires Node.js ^20.19.0 || >=22.12.0 (the minimum CloakBrowser itself needs).
The binary comes in two tiers. Without a key you get the free binary. Set CLOAKBROWSERLICENSEKEY in the MCP server's environment to use a CloakBrowser Pro license; CLOAKBROWSERRELEASECHANNEL (stable or preview) and CLOAKBROWSERVERSION are read by the CloakBrowser library too. See cloakbrowser.dev for what each tier includes. cloakbinary_info reports the active tier.
npm install -g @devinwangd/cloak-browser-mcpOr run on demand without installing:
npx @devinwangd/cloak-browser-mcp --caps allAfter install, the binary on PATH is cloak-browser-mcp (unscoped) — that's what you reference in MCP client configs below.
2. Wire into your MCP client
Claude Code (~/.claude.json or project .mcp.json)
{
"mcpServers": {
"cloak-browser": {
"command": "cloak-browser-mcp",
"args": ["--caps", "all"]
}
}
}Cursor / VS Code (.cursor/mcp.json or .vscode/mcp.json)
{
"servers": {
"cloak-browser": {
"command": "cloak-browser-mcp",
"args": ["--caps", "all"]
}
}
}Persistent profile + proxy + humanized inputs
{
"mcpServers": {
"cloak-browser": {
"command": "cloak-browser-mcp",
"args": [
"--caps", "all",
"--profile-dir", "/Users/me/.cloak-browser-mcp/profiles/work",
"--proxy", "http://user:pass@proxy.example.com:8080",
"--timezone", "Europe/London",
"--locale", "en-GB",
"--geoip",
"--humanize",
"--viewport", "1920x1080",
"--allowed-domains", "*.example.com,*.cloudflare.com"
]
}
}
}3. Use it
In Claude Code:
"Open example.com, click the search box, search for 'hello', take a screenshot."
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Cloak Browser: common questions
- Is Cloak Browser MCP server safe?
- Mostly: it is graded B (75/100). Read the Cloak Browser safety report
- How do I install Cloak Browser?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Cloak Browser need an API key?
- Yes. The registry entry asks for
CLOAKBROWSER_LICENSE_KEY. - Is Cloak Browser maintained?
- The last commit was 12 days ago (2026-10-21). The latest release is v0.2.0.
- What can I use instead of Cloak Browser?
- Servers from other publishers that do the same job: Stealthy Auto Browse MCP server, Browser Use MCP server and Ui.Vision MCP server. Compare all Cloak Browser alternatives.
- How does Cloak Browser compare with other Scraping and browsing MCP servers?
- safety score 75/100 (higher than 45% of 868 Scraping and browsing servers); tools 86 (the typical Scraping and browsing server has 6); tools that change things 17% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Cloak Browser
Same job from other publishers: the closest match first, then the best rated.
- Stealthy Auto BrowseSelf-hosted MCP server for stealth browser automation with human-like OS-level input.not reviewedGrowingA
- Browser UseBrowser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.not reviewedEstablishedA
Ui.Vision MCPMCP server for browser and desktop automation: OCR, image recognition, real mouse and keyboard inputnot reviewedEstablishedB- invisible_playwright_mcpAI browser agent: browses, clicks, types, and reads real web pages from plain-English instructions.not reviewedEstablishedA
- FortressStealth browser for AI agents: fetch pages behind Cloudflare/DataDome/CAPTCHA, extract clean data.not reviewedEstablishedB