cloakbrowser-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLOAKBROWSER_LOG_FILE | No | Log file path | ~/.cloakbrowser/logs/server.log |
| CLOAKBROWSER_LOG_LEVEL | No | Log level | INFO |
| CLOAKBROWSER_LOG_STDERR | No | Also log to stderr | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browser_launchA | 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. |
| browser_closeA | Close the stealth browser and release all resources. Always call when done. |
| browser_snapshotA | Capture the page's accessibility tree — the PRIMARY way to understand pages. Returns interactive elements with [@eN] ref IDs for use with browser_click, browser_type, browser_select, browser_drag, 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 browser_screenshot for deciding what to click. Args: page_id: Target page ID from browser_launch or browser_new_page. full: Include text content alongside interactive elements. max_length: Max characters to return (default: 12000). |
| browser_clickA | Click an element by its [@eN] ref ID from browser_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'). |
| browser_typeA | Type text into an input by its [@eN] ref ID from browser_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). |
| browser_selectA | 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 element. value: Option value attribute to select. label: Option visible text to select. index: Option index (0-based) to select. |
| browser_hoverB | Hover over an element by ref ID. Returns an updated snapshot. Args: page_id: Target page ID. ref: Ref ID from snapshot. |
| browser_dragA | Drag one element to another by their [@eN] ref IDs from browser_snapshot. Humanized by default: picks non-center points, follows a curved uneven mouse path, and uses randomized timing. If that fails, fallback=True retries with Playwright's native drag_to for HTML5 drag-and-drop compatibility. Returns an updated snapshot. Args: page_id: Target page ID. source_ref: Ref ID of the element to drag. target_ref: Ref ID of the drop target. humanize: Use human-like mouse movement instead of direct drag_to. duration_ms: Approximate humanized drag duration, clamped to 250-5000 ms. steps: Number of mouse movement points, clamped to 8-80. fallback: Retry with Playwright drag_to if humanized drag fails. |
| browser_checkA | 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. |
| browser_read_pageA | 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). |
| browser_screenshotA | Take an annotated screenshot with element indices overlaid. Each numbered element maps to [@eN] refs from browser_snapshot. Use when you need VISUAL context — images, charts, CAPTCHAs, or layout. For most interactions, prefer browser_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). |
| browser_navigateA | 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. |
| browser_backA | Navigate back in browser history. Returns an updated snapshot. Args: page_id: Target page ID. |
| browser_forwardB | Navigate forward in browser history. Returns an updated snapshot. Args: page_id: Target page ID. |
| browser_press_keyA | 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). |
| browser_scrollA | Scroll the page. Returns an updated snapshot. Args: page_id: Target page ID. direction: 'up' or 'down'. amount: Pixels to scroll. |
| browser_waitA | 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). |
| browser_evaluateB | Execute JavaScript in the page context and return the result. Args: page_id: Target page ID. expression: JavaScript expression to evaluate. |
| browser_new_pageA | Open a new browser page/tab. Optionally navigate to a URL. Args: url: URL to navigate to after creating the page. |
| browser_list_pagesA | List all open pages with their IDs and URLs. |
| browser_close_pageC | Close a specific page by ID. Args: page_id: Page ID to close. |
| browser_network_interceptA | Intercept network requests — block, mock, or passthrough. Args: page_id: Target page ID. url_pattern: Glob pattern (e.g. '/api/', '**/*.png'). action: 'block', 'mock', or 'continue'. mock_body: Response body for 'mock' action. mock_status: HTTP status for 'mock' action. mock_content_type: Content-Type for 'mock' action. |
| browser_network_continueA | Remove a network interception rule. Args: page_id: Target page ID. url_pattern: Same pattern used in browser_network_intercept. |
| browser_get_cookiesC | Get all cookies from the page's browser context. Args: page_id: Target page ID. |
| browser_set_cookiesB | Set cookies in the page's browser context. Args: page_id: Target page ID. cookies: List of cookie dicts with name, value, domain, path. |
| browser_pdfB | Save the current page as a PDF file. Args: page_id: Target page ID. format: Page format — 'A4', 'Letter', 'Legal'. print_background: Include background graphics. |
| browser_consoleA | Get browser console output (log/warn/error/info) and JS errors. Args: page_id: Target page ID. clear: Clear the message buffer after reading. |
| browser_downloadsA | Get list of files downloaded by the browser on a page. Returns downloaded file info including suggested filenames and local paths. After clicking a download link, call this to retrieve the downloaded file path. Args: page_id: Target page ID. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| browse_and_extract | Browse a URL and extract content. Args: url: URL to visit. what: What to extract. |
| fill_form | Fill and submit a form. Args: url: URL with the form. instructions: What to fill in. |
| login | Log into a website. Args: url: Login page URL. username: Username/email. password: Password. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/ColorSource/cloakbrowser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server