MCP.Market

Cloak Browser MCP server

by devinwang·io.github.devinwang/cloak-browser-mcp·v0.2.0·2 stars

Playwright-compatible MCP server on CloakBrowser stealth Chromium: 86 tools, humanized input.

B75/100grade B
What users say
No reviews yet
Be the first
Safety scan
B75/100

full report

Adoption
Growing

2 stars62 downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • browser_click

    Click an element by ref or selector.

  • browser_close

    Close the browser and discard all in-memory state. The next tool call will lazy-relaunch.

  • browser_console_messages

    Retrieve buffered console/pageerror output for the active tab.

  • browser_cookie_clear

    Erase ALL cookies in the active context.

  • browser_cookie_deletewrite action

    Delete a single cookie.

  • browser_cookie_get

    Read a single cookie value.

  • browser_cookie_list

    List all cookies (optionally filtered by domain/path).

  • browser_cookie_setwrite action

    Create or update a cookie at the context level.

  • browser_drag

    Drag from one element to another.

  • browser_dropwrite action

    Drop files or data onto an element.

  • browser_emulate_media

    Emulate 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 action

    Run a JavaScript function inside the page. Function source must be an arrow or function expression.

  • browser_file_uploadwrite action

    Upload files to the active file chooser. Paths must be inside --upload-allow-dir if set.

  • browser_fill_form

    Populate multiple form fields in one call.

  • browser_find

    Search 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_locator

    Generate Playwright-style locator code for an element by ref. Useful for codegen.

  • browser_get_config

    Print resolved server config (capabilities, profile, proxy, fingerprint, allow/block lists).

  • browser_handle_dialog

    Respond to the next dialog (alert/confirm/prompt/beforeunload).

  • browser_hide_highlightwrite action

    Remove highlight from a previously highlighted element, or all of them.

  • browser_highlight

    Persistently outline an element so a human reviewer can see what the agent picked.

  • browser_hover

    Hover over an element.

  • browser_localstorage_clear

    Clear localStorage on the active page.

  • browser_localstorage_deletewrite action

    Remove a localStorage key.

  • browser_localstorage_get

    Read a localStorage value.

  • browser_localstorage_list

    List all localStorage entries.

  • browser_localstorage_set

    Set a localStorage key on the active page.

  • browser_mouse_click_xy

    Click at pixel coordinates (bypasses accessibility tree).

  • browser_mouse_down

    Press a mouse button at the current cursor position.

  • browser_mouse_drag_xy

    Drag from one coordinate pair to another.

  • browser_mouse_move_xy

    Move the cursor to pixel coordinates.

  • browser_mouse_up

    Release a mouse button at the current cursor position.

  • browser_mouse_wheel

    Scroll via mouse wheel by delta pixels.

  • browser_navigate

    Load a URL in the active tab. Returns a fresh snapshot after navigation.

  • browser_navigate_back

    Go back one entry in the active tab's history.

  • browser_network_request

    Inspect a single captured request by index (from browser_network_requests).

  • browser_network_requests

    List captured HTTP requests for the active tab since last navigation.

  • browser_network_state_set

    Toggle online/offline simulation for the active context.

  • browser_pdf_save

    Save the current page as PDF (Chromium-only).

  • browser_press_keywrite action

    Send a single key or key combination at page level.

  • browser_resize

    Resize the viewport.

  • browser_resume

    Resume page execution if paused via debugger; statement or DevTools breakpoint.

  • browser_route

    Install a request mock. Matched requests are fulfilled with the given status/body/headers.

  • browser_route_list

    List active request mocks.

  • browser_run_code_unsafewrite action

    Execute arbitrary JS in the server process. Only available when started with BOTH --caps config AND --enable-unsafe-eval.

  • browser_scroll

    Scroll the page or an element by a pixel amount.

  • browser_select_option

    Select one or more options in a <select> dropdown.

  • browser_sessionstorage_clear

    Clear sessionStorage on the active page.

  • browser_sessionstorage_deletewrite action

    Remove a sessionStorage key.

  • browser_sessionstorage_get

    Read a sessionStorage value.

  • browser_sessionstorage_list

    List all sessionStorage entries.

  • browser_sessionstorage_set

    Set a sessionStorage key on the active page.

  • browser_set_storage_state

    Import cookies + origin storage from a JSON file. Applied at context boot, so requires --profile-dir to persist beyond this session.

  • browser_snapshot

    Capture an accessibility-tree snapshot of the active page. Returns a structured outline with [eN] refs you can pass to interaction tools.

  • browser_start_recording

    Start 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_tracing

    Begin a Playwright trace recording. Stop with browser_stop_tracing to write the .zip.

  • browser_start_video

    Begin 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_recording

    Stop the recording started with browser_start_recording and return the recorded actions as Playwright code.

  • browser_stop_tracing

    Stop tracing and write the .zip trace to the path passed in browser_start_tracing.

  • browser_stop_video

    Stop the video recording flag.

  • browser_storage_state

    Export cookies + origin storage to a JSON file.

  • browser_tabs

    List, create, switch between, or close tabs.

  • browser_take_screenshot

    Capture a screenshot of the page or a specific element.

  • browser_type

    Type text into an editable field. Use --humanize for natural per-character timing.

  • browser_unroutewrite action

    Remove a route mock (or all mocks if pattern is omitted).

  • browser_verify_element_visible

    Assert that an element matching role+accessible name is visible.

  • browser_verify_list_visible

    Assert that a list element exists and contains each item.

  • browser_verify_text_visible

    Assert that text is visible on the page.

  • browser_verify_value

    Assert an input value or computed state.

  • browser_video_chapterwrite action

    Insert a chapter marker into the video buffer (no-op when video is off).

  • browser_video_hide_actions

    Stop annotating actions performed on the page.

  • browser_video_show_actions

    Annotate 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_for

    Wait for time, text appearance/disappearance, or selector state.

  • cloak_binary_info

    Report installed CloakBrowser binary version, tier (free or pro), platform, and cache path.

  • cloak_binary_updatewrite action

    Force CloakBrowser to check for and download the latest Chromium build. May take several minutes (~200MB).

  • cloak_detection_test

    Load a well-known bot-detection probe page and dump its key result fields.

  • cloak_humanize_set

    Toggle humanized mouse/keyboard inputs and tune behavior. Takes effect on subsequent click/type calls when --caps humanize is on.

  • cloak_persistent_profile_createwrite action

    Create a fresh persistent profile directory under ~/.cloak-browser-mcp/profiles/<name>. Use as --profile-dir on next launch.

  • cloak_persistent_profile_deletewrite action

    Delete a profile directory. Requires confirm=true. The active session is unaffected.

  • cloak_persistent_profile_list

    List all profile directories under ~/.cloak-browser-mcp/profiles/.

  • cloak_request_signal_inspect

    Open 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_fingerprint

    Apply 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_geolocation

    Set the geolocation reported by navigator.geolocation. Pass fromProxyIp=true to auto-resolve from proxy exit IP.

  • cloak_set_locale

    Override navigator.language and Accept-Language for the active context.

  • cloak_set_proxy

    Replace the current proxy. This recreates the BrowserContext (state is preserved if --profile-dir was used; otherwise cookies are lost).

  • cloak_set_timezone

    Live-override the timezone for the active context via CDP (no relaunch).

  • cloak_stealth_audit

    Programmatic 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

1 medium
  • 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 usedexec.eval
    dist/tools/config.js: …on.rawBrowser }; const fn = new Function("cloak", `return (async () => { ${args.c…
Overall 75/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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-mcp

Or run on demand without installing:

npx @devinwangd/cloak-browser-mcp --caps all

After 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.

All Cloak Browser alternatives →
  • Stealthy Auto Browse
    Self-hosted MCP server for stealth browser automation with human-like OS-level input.
    A
  • Browser Use
    Browser agents and stealth cloud browsers for AI: run web tasks, fill forms, extract data.
    A
  • Ui.Vision MCP
    MCP server for browser and desktop automation: OCR, image recognition, real mouse and keyboard input
    B
  • invisible_playwright_mcp
    AI browser agent: browses, clicks, types, and reads real web pages from plain-English instructions.
    A
  • Fortress
    Stealth browser for AI agents: fetch pages behind Cloudflare/DataDome/CAPTCHA, extract clean data.
    B

More from devinwang →