Playwright MCP-compatible browser automation bridge for CloakBrowser Chromium.
Connect Runs on your machine
claude mcp add cloakbrowser-mcp -e PLAYWRIGHT_MCP_BROWSER_ENGINE=<PLAYWRIGHT_MCP_BROWSER_ENGINE> -e PLAYWRIGHT_MCP_HEADLESS=<PLAYWRIGHT_MCP_HEADLESS> -e PLAYWRIGHT_MCP_OUTPUT_DIR=<PLAYWRIGHT_MCP_OUTPUT_DIR> -e PLAYWRIGHT_MCP_CODEGEN=<PLAYWRIGHT_MCP_CODEGEN> -e PLAYWRIGHT_MCP_SNAPSHOT_BOXES=<PLAYWRIGHT_MCP_SNAPSHOT_BOXES> -e PLAYWRIGHT_MCP_TIMEOUT_SETTLE=<PLAYWRIGHT_MCP_TIMEOUT_SETTLE> -e PLAYWRIGHT_MCP_USER_DATA_DIR=<PLAYWRIGHT_MCP_USER_DATA_DIR> -e CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS=<CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS> -e CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS=<CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS> -e CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK=<CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK> -e CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH=<CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH> -e CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS=<CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS> -- npx -y [email protected]
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}
{
"servers": {
"cloakbrowser-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
PLAYWRIGHT_MCP_BROWSER_ENGINEOptional | Bridge browser engine: cloak or playwright. |
PLAYWRIGHT_MCP_HEADLESSOptional | Run the browser in headless mode. |
PLAYWRIGHT_MCP_OUTPUT_DIROptional | Directory where upstream Playwright MCP writes artifacts. |
PLAYWRIGHT_MCP_CODEGENOptional | Generate code in typescript, python, java, csharp, or none. |
PLAYWRIGHT_MCP_SNAPSHOT_BOXESOptional | Include element bounding boxes in browser snapshots. |
PLAYWRIGHT_MCP_TIMEOUT_SETTLEOptional | Milliseconds to wait after actions for triggered work to settle. |
PLAYWRIGHT_MCP_USER_DATA_DIROptional | Persistent Chromium profile directory. The bridge resolves it to an absolute path and writes it to generated Playwright MCP config. |
CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONSOptional | JSON object with validated Playwright context options such as viewport, locale, timezoneId, permissions, geolocation, and headers. |
CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHSOptional | JSON array or comma-separated list of Chrome extension directories. Requires PLAYWRIGHT_MCP_USER_DATA_DIR. |
CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACKOptional | Patch upstream console message collection for CloakBrowser compatibility. |
CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCHOptional | Resolve proxy GeoIP and match CloakBrowser timezone/locale fingerprint flags when PLAYWRIGHT_MCP_PROXY_SERVER is set. |
CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGSOptional | Comma-separated or JSON array of extra Chromium launch arguments. |
Details
| Package | [email protected] (NPM, stdio) |
| Package | [email protected] (NPM, streamable-http) |
| Package | ghcr.io/swimmwatch/cloakbrowser-mcp:1.15.1 (OCI, stdio) |
| Package | docker.io/swimmwatch/cloakbrowser-mcp:1.15.1 (OCI, stdio) |
| First published | 18 Oct 2026 |
| Last updated | 18 Oct 2026 |
| Registry name | io.github.swimmwatch/cloakbrowser-mcp |
More browser automation servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
