# CloakMCP [Health: Active]

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/overtimepog/CloakMCP  
**GitHub Stars:** 14  
**Views:** 6  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/cloakmcp

## Description
Stealth browser MCP server — anti-detection Chromium with snapshot-first agent interface

## Tools
Capabilities this server exposes over MCP:

- **cloak_launch** — Launch a stealth CloakBrowser instance. All anti-detection is ON by default.

        CloakBrowser is a source-patched Chromium passing Cloudflare Turnstile,
        reCAPTCHA v3 (0.9 score), FingerprintJS, BrowserScan, and 30+ detectors.

        Args:
            headless: Run headless. Some aggressive sites need headed mode (False).
            proxy: Proxy URL (e.g. 'http://user:pass@proxy:8080'). Residential recommended.
            humanize: Human-like mouse/keyboard/scroll (default: True).
            human_preset: 'default' or 'careful' (slower, more deliberate).
            stealth_args: Apply stealth fingerprint args (default: True).
            timezone: IANA timezone (e.g. 'America/New_York').
            locale: BCP 47 locale (e.g. 'en-US').
            geoip: Auto-detect timezone/locale from proxy IP.
            fingerprint_seed: Fixed seed for consistent identity across sessions.
            user_data_dir: Persistent profile path (cookies/localStorage survive restarts).
            viewport_width: Viewport width in pixels (default: 1920 headless; 1280 headed fallback, or auto-detected).
            viewport_height: Viewport height in pixels (default: 947 headless; 800 headed fallback, or auto-detected).
            color_scheme: 'light', 'dark', or 'no-preference'.
            user_agent: Custom user agent override.
            extra_args: Additional Chromium CLI flags.
        
- **cloak_close** — Close the stealth browser and release all resources. Always call when done.
- **cloak_snapshot** — Capture the page's accessibility tree — the PRIMARY way to understand pages.

        Returns interactive elements with [@eN] ref IDs for use with cloak_click,
        cloak_type, cloak_select, etc. Call this BEFORE interacting with a page.

        full=False (default): interactive elements only — compact and fast.
        full=True: includes surrounding text content for reading context.

        This is FASTER, CHEAPER, and MORE RELIABLE than screenshots.
        Always prefer this over cloak_screenshot for deciding what to click.

        Args:
            page_id: Target page ID from cloak_launch or cloak_new_page.
            full: Include text content alongside interactive elements.
            max_length: Max characters to return (default: 12000).
        
- **cloak_click** — Click an element by its [@eN] ref ID from cloak_snapshot.

        Auto-retries once if the element moved. Returns an updated snapshot.

        Args:
            page_id: Target page ID.
            ref: Ref ID from snapshot (e.g. '@e5' or 'e5').
        
- **cloak_type** — Type text into an input by its [@eN] ref ID from cloak_snapshot.

        Clears the field first by default. Set submit=True to press Enter after.
        Returns an updated snapshot.

        Args:
            page_id: Target page ID.
            ref: Ref ID from snapshot (e.g. '@e3' or 'e3').
            text: Text to type.
            clear: Clear field before typing (default: True).
            submit: Press Enter after typing (default: False).
        
- **cloak_select** — Select a dropdown option by ref ID. Provide one of: value, label, or index.

        Returns an updated snapshot.

        Args:
            page_id: Target page ID.
            ref: Ref ID of the <select> element.
            value: Option value attribute to select.
            label: Option visible text to select.
            index: Option index (0-based) to select.
        
- **cloak_hover** — Hover over an element by ref ID. Returns an updated snapshot.

        Args:
            page_id: Target page ID.
            ref: Ref ID from snapshot.
        
- **cloak_check** — Check or uncheck a checkbox/radio by ref ID. Returns an updated snapshot.

        Args:
            page_id: Target page ID.
            ref: Ref ID from snapshot.
            checked: True to check, False to uncheck.
        
- **cloak_read_page** — Get the page content as clean, readable markdown.

        Best for reading articles, docs, search results, or any content-heavy page.
        Strips navigation, ads, footers — returns just the main content.
        Much more token-efficient than raw HTML (60-80% savings).

        Args:
            page_id: Target page ID.
            max_length: Max characters to return (default: 50000).
        
- **cloak_screenshot** — Take an annotated screenshot with element indices overlaid.

        Each numbered element maps to [@eN] refs from cloak_snapshot.
        Use when you need VISUAL context — images, charts, CAPTCHAs, or layout.
        For most interactions, prefer cloak_snapshot() instead.

        Returns: file path to saved PNG, element count.

        Args:
            page_id: Target page ID.
            full_page: Capture entire scrollable page (default: viewport only).
        
- **cloak_navigate** — Navigate to a URL. Auto-waits for the page to settle (network idle + DOM stable).

        Handles Cloudflare challenge pages with extra wait time.
        Returns an updated snapshot of the loaded page.

        Args:
            page_id: Target page ID.
            url: URL to navigate to.
            timeout: Navigation timeout in milliseconds.
        
- **cloak_back** — Navigate back in browser history. Returns an updated snapshot.

        Args:
            page_id: Target page ID.
        
- **cloak_forward** — Navigate forward in browser history. Returns an updated snapshot.

        Args:
            page_id: Target page ID.
        
- **cloak_press_key** — Press a keyboard key (Enter, Tab, Escape, ArrowDown, etc.).

        Returns an updated snapshot.

        Args:
            page_id: Target page ID.
            key: Key name (DOM KeyboardEvent key).
        
- **cloak_scroll** — Scroll the page. Returns an updated snapshot.

        Args:
            page_id: Target page ID.
            direction: 'up' or 'down'.
            amount: Pixels to scroll.
        
- **cloak_wait** — Wait for the page to settle (no DOM mutations + network idle).

        Use after actions that trigger dynamic content loading.
        Returns whether the page settled and how many DOM mutations occurred.

        Args:
            page_id: Target page ID.
            timeout_ms: Max wait time in milliseconds (default: 5000).
        
- **cloak_evaluate** — Execute JavaScript in the page context and return the result.

        Args:
            page_id: Target page ID.
            expression: JavaScript expression to evaluate.
        
- **cloak_new_page** — Open a new browser page/tab. Optionally navigate to a URL.

        Args:
            url: URL to navigate to after creating the page.
        
- **cloak_list_pages** — List all open pages with their IDs and URLs.
- **cloak_close_page** — Close a specific page by ID.

        Args:
            page_id: Page ID to close.
        

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "cloakmcp": {
    "command": "uvx",
    "args": ["cloakbrowsermcp"]
  }
}
```

## Documentation

## What CloakMCP does

CloakMCP provides browser automation for AI agents through the Model Context Protocol. It launches CloakBrowser, a source-patched Chromium build, with anti-detection behavior enabled by default. The browser includes human-like mouse, keyboard, and scroll behavior, stealth fingerprint arguments, and options for proxies, locale, timezone, identity consistency, and persistent profiles.

The primary interaction model is accessibility-tree based. Page snapshots expose interactive elements using references such as `@e5`; subsequent actions target those references rather than CSS selectors. Navigation, clicks, typing, and other actions return refreshed page state to help an agent continue a workflow.

## How it works

A typical session starts with `cloak_launch`, followed by `cloak_navigate` and `cloak_snapshot`. The agent can then use `cloak_click`, `cloak_type`, `cloak_select`, `cloak_hover`, or `cloak_check` against snapshot references. `cloak_read_page` returns the main content as clean Markdown for articles, documentation, search results, and other reading tasks. `cloak_screenshot` supplies an annotated PNG when visual information such as images, charts, layout, or CAPTCHAs matters.

Navigation waits for network idle and DOM stability, while `cloak_wait` handles additional dynamic loading. Clicks retry once if an element moves. Browser sessions can contain multiple pages or tabs through `cloak_new_page`, `cloak_list_pages`, and `cloak_close_page`, and can be cleaned up with `cloak_close`.

## Setup and configuration

Install the package with:

```bash
pip install cloakbrowsermcp
```

The default transport is stdio. Start it with `cloakbrowsermcp`, or select Server-Sent Events with `--transport sse` and optionally set `--port`; the documented SSE default is 8931. Claude Desktop can launch the command directly, while VS Code and Cursor configurations can pass `--caps all`.

Optional capabilities are enabled with `--caps`, using comma-separated values such as `network,cookies,pdf,console`, or `all`. The corresponding advanced tools remain disabled unless their capability is selected. Logging can be adjusted with `CLOAKBROWSER_LOG_LEVEL`, `CLOAKBROWSER_LOG_FILE`, and `CLOAKBROWSER_LOG_STDERR`.

At launch, agents can choose headless or headed mode, provide a proxy, enable or disable humanization and stealth arguments, set timezone and locale, derive those settings from a proxy IP with GeoIP, fix a fingerprint seed, retain a profile directory, and set viewport, color scheme, user agent, or extra Chromium flags.

## Tools and capabilities

Core browser tools cover:

- Launching and closing the browser
- Opening, listing, navigating, and closing pages
- Snapshot-based inspection and ref-based interaction
- Text entry, dropdown selection, hover, checkbox or radio changes, and key presses
- Scrolling, waiting for page settling, and JavaScript evaluation
- Readability-style Markdown extraction
- Annotated screenshots

Capability-gated tools add request interception, cookie retrieval and updates, PDF saving, and browser console output. CloakBrowser is described as passing Cloudflare Turnstile, reCAPTCHA v3 with a 0.9 score, FingerprintJS, BrowserScan, and more than 30 detection services.

## Limitations and notes

Snapshot references are the required basis for interaction, so agents should capture a snapshot before acting on a page. Screenshots are intended for visual context rather than routine interaction. Some sites may require headed mode instead of headless operation. Residential proxies are recommended when using proxy-based workflows.

The older patchright backend is deprecated in current package behavior.

_Full upstream README: https://allmcps.com/mcp/cloakmcp/readme_

