CloakBrowser MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PLAYWRIGHT_MCP_HEADLESS | No | Run the browser in headless mode. | true |
| PLAYWRIGHT_MCP_OUTPUT_DIR | No | Directory where upstream Playwright MCP writes artifacts. | .playwright-mcp |
| PLAYWRIGHT_MCP_OUTPUT_MODE | No | Return snapshots, console logs, and network logs through stdout or files. | stdout |
| PLAYWRIGHT_MCP_VIEWPORT_SIZE | No | Browser viewport in WIDTHxHEIGHT format. | |
| PLAYWRIGHT_MCP_BROWSER_ENGINE | No | Bridge browser engine: cloak or playwright. | cloak |
| PLAYWRIGHT_MCP_TIMEOUT_ACTION | No | Default action timeout in milliseconds. | 5000 |
| CLOAK_PLAYWRIGHT_MCP_HTTP_HOST | No | Streamable HTTP bind host. | 127.0.0.1 |
| CLOAK_PLAYWRIGHT_MCP_HTTP_PORT | No | Streamable HTTP bind port. | 3000 |
| CLOAK_PLAYWRIGHT_MCP_TRANSPORT | No | MCP transport exposed by the bridge: stdio or streamable-http. | stdio |
| CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS | No | Comma-separated or JSON array of extra Chromium launch arguments. | |
| CLOAK_PLAYWRIGHT_MCP_NO_SANDBOX | No | Adds --no-sandbox and disables Chromium sandboxing. | true |
| CLOAK_PLAYWRIGHT_MCP_STEALTH_ARGS | No | Adds CloakBrowser default stealth launch arguments. | true |
| PLAYWRIGHT_MCP_TIMEOUT_NAVIGATION | No | Default navigation timeout in milliseconds. | 60000 |
| CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT | No | Streamable HTTP endpoint path. | /mcp |
| CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN | No | Optional Bearer token for Streamable HTTP. | |
| CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK | No | Enables the compatibility patch for console messages. | true |
| CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX | No | Maximum active Streamable HTTP sessions in one process. | 32 |
| CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND | No | Session metadata backend. Only memory is implemented in this release. | memory |
| CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS | No | Idle TTL for Streamable HTTP sessions. | 3600000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browser_closeB | Close the page |
| browser_resizeB | Resize the browser window |
| browser_console_messagesB | Returns all console messages |
| browser_handle_dialogC | Handle a dialog |
| browser_evaluateB | Evaluate JavaScript expression on page or element |
| browser_file_uploadB | Upload one or multiple files |
| browser_dropA | Drop files or MIME-typed data onto an element, as if dragged from outside the page. At least one of "paths" or "data" must be provided. |
| browser_fill_formB | Fill multiple form fields |
| browser_press_keyB | Press a key on the keyboard |
| browser_typeB | Type text into editable element |
| browser_navigateC | Navigate to a URL |
| browser_navigate_backA | Go back to the previous page in the history |
| browser_network_requestsA | Returns a numbered list of network requests since loading the page. Use browser_network_request with the number to get full details. |
| browser_network_requestA | Returns full details (headers and body) of a single network request, or a single part if |
| browser_run_code_unsafeA | Run a Playwright code snippet. Unsafe: executes arbitrary JavaScript in the Playwright server process and is RCE-equivalent. |
| browser_take_screenshotA | Take a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions. |
| browser_snapshotB | Capture accessibility snapshot of the current page, this is better than screenshot |
| browser_clickB | Perform click on a web page |
| browser_dragA | Perform drag and drop between two elements |
| browser_hoverA | Hover over element on page |
| browser_select_optionB | Select an option in a dropdown |
| browser_tabsA | List, create, close, or select a browser tab. |
| browser_wait_forA | Wait for text to appear or disappear or a specified time to pass |
| cloakbrowser_binary_infoA | Return CloakBrowser package, cache, platform, and resolved browser binary information. |
| cloakbrowser_bridge_infoA | Return runtime metadata for the CloakBrowser bridge over upstream Playwright MCP. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 25 tools
Several tools have closely related purposes, such as browser_drag vs browser_drop, browser_close vs browser_tabs, and browser_fill_form vs browser_type. The descriptions mostly clarify the differences, but an agent could still easily select the wrong one in edge cases.
The browser_ prefix is consistent, but the naming patterns vary between bare verbs (browser_click), verb+object (browser_select_option), and noun phrases (browser_tabs, browser_file_upload). The two cloakbrowser_* info tools also break the overall naming scheme, though they are clearly metadata-oriented.
At 25 tools, this is on the heavier end for a tool set. Most tools serve a real browser-automation purpose, but a few are arguably redundant or very niche, and the two metadata info tools add little practical value.
The domain of browser automation is well covered: navigation, page interaction, forms, uploads, dialogs, console, network requests, tabs, and snapshots are all present. Missing pieces like reload, forward navigation, and cookie/storage management are gaps, but agents can work around them using browser_navigate or browser_evaluate.