CloakBrowser MCP
Rank #1,428io.github.swimmwatch/cloakbrowser-mcp
Playwright MCP-compatible browser automation bridge for CloakBrowser Chromium.
CloakBrowser MCP is a Model Context Protocol (MCP) server published by swimmwatch. It ranks #1,428 of 129,608 servers tracked on MCP Toplist, and its repository has 58 GitHub stars. CloakBrowser MCP is listed across 3 registries — Official MCP, Glama and PulseMCP, with 18 tracked versions. It was first listed on May 23, 2026 and most recently updated on Sep 5, 2026.
Ranks ahead of 128,180 of 129,608 servers on MCP Toplist.
Use CloakBrowser MCP
No credentials or required configuration declared — add it to your MCP client and go.
claude mcp add cloakbrowser-mcp -e "PLAYWRIGHT_MCP_BROWSER_ENGINE=<your PLAYWRIGHT_MCP_BROWSER_ENGINE>" -e "PLAYWRIGHT_MCP_HEADLESS=<your PLAYWRIGHT_MCP_HEADLESS>" -e "PLAYWRIGHT_MCP_OUTPUT_DIR=<your PLAYWRIGHT_MCP_OUTPUT_DIR>" -e "PLAYWRIGHT_MCP_CODEGEN=<your PLAYWRIGHT_MCP_CODEGEN>" -e "PLAYWRIGHT_MCP_SNAPSHOT_BOXES=<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>" -e "PLAYWRIGHT_MCP_TIMEOUT_SETTLE=<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>" -e "PLAYWRIGHT_MCP_USER_DATA_DIR=<your PLAYWRIGHT_MCP_USER_DATA_DIR>" -e "CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS=<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>" -e "CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS=<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>" -e "CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK=<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>" -e "CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH=<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>" -e "CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS=<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>" -- npx -y cloakbrowser-mcpReplace each placeholder with your own value before saving.
claude mcp add cloakbrowser-mcp -e "CLOAK_PLAYWRIGHT_MCP_HTTP_HOST=<your CLOAK_PLAYWRIGHT_MCP_HTTP_HOST>" -e "CLOAK_PLAYWRIGHT_MCP_HTTP_PORT=<your CLOAK_PLAYWRIGHT_MCP_HTTP_PORT>" -e "CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT=<your CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT>" -e "CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN=<your CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN>" -e "CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND=<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND>" -e "CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS=<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS>" -e "CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX=<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX>" -e "PLAYWRIGHT_MCP_BROWSER_ENGINE=<your PLAYWRIGHT_MCP_BROWSER_ENGINE>" -e "PLAYWRIGHT_MCP_HEADLESS=<your PLAYWRIGHT_MCP_HEADLESS>" -e "PLAYWRIGHT_MCP_OUTPUT_DIR=<your PLAYWRIGHT_MCP_OUTPUT_DIR>" -e "PLAYWRIGHT_MCP_CODEGEN=<your PLAYWRIGHT_MCP_CODEGEN>" -e "PLAYWRIGHT_MCP_SNAPSHOT_BOXES=<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>" -e "PLAYWRIGHT_MCP_TIMEOUT_SETTLE=<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>" -e "PLAYWRIGHT_MCP_USER_DATA_DIR=<your PLAYWRIGHT_MCP_USER_DATA_DIR>" -e "CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS=<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>" -e "CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS=<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>" -e "CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK=<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>" -e "CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH=<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>" -e "CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS=<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>" -- npx -y cloakbrowser-mcp --transport streamable-httpReplace each placeholder with your own value before saving.
claude mcp add cloakbrowser-mcp -e "PLAYWRIGHT_MCP_BROWSER_ENGINE=<your PLAYWRIGHT_MCP_BROWSER_ENGINE>" -e "PLAYWRIGHT_MCP_HEADLESS=<your PLAYWRIGHT_MCP_HEADLESS>" -e "PLAYWRIGHT_MCP_OUTPUT_DIR=<your PLAYWRIGHT_MCP_OUTPUT_DIR>" -e "PLAYWRIGHT_MCP_CODEGEN=<your PLAYWRIGHT_MCP_CODEGEN>" -e "PLAYWRIGHT_MCP_SNAPSHOT_BOXES=<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>" -e "PLAYWRIGHT_MCP_TIMEOUT_SETTLE=<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>" -e "PLAYWRIGHT_MCP_USER_DATA_DIR=<your PLAYWRIGHT_MCP_USER_DATA_DIR>" -e "CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS=<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>" -e "CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS=<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>" -e "CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK=<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>" -e "CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH=<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>" -e "CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS=<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>" -- docker run -i --rm ghcr.io/swimmwatch/cloakbrowser-mcp:1.13.0Replace each placeholder with your own value before saving.
claude mcp add cloakbrowser-mcp -e "PLAYWRIGHT_MCP_BROWSER_ENGINE=<your PLAYWRIGHT_MCP_BROWSER_ENGINE>" -e "PLAYWRIGHT_MCP_HEADLESS=<your PLAYWRIGHT_MCP_HEADLESS>" -e "PLAYWRIGHT_MCP_OUTPUT_DIR=<your PLAYWRIGHT_MCP_OUTPUT_DIR>" -e "PLAYWRIGHT_MCP_CODEGEN=<your PLAYWRIGHT_MCP_CODEGEN>" -e "PLAYWRIGHT_MCP_SNAPSHOT_BOXES=<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>" -e "PLAYWRIGHT_MCP_TIMEOUT_SETTLE=<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>" -e "PLAYWRIGHT_MCP_USER_DATA_DIR=<your PLAYWRIGHT_MCP_USER_DATA_DIR>" -e "CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS=<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>" -e "CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS=<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>" -e "CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK=<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>" -e "CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH=<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>" -e "CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS=<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>" -- docker run -i --rm docker.io/swimmwatch/cloakbrowser-mcp:1.13.0Replace each placeholder with your own value before saving.
[mcp_servers.cloakbrowser-mcp]
command = "npx"
args = ["-y", "cloakbrowser-mcp"]
[mcp_servers.cloakbrowser-mcp.env]
PLAYWRIGHT_MCP_BROWSER_ENGINE = "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>"
PLAYWRIGHT_MCP_HEADLESS = "<your PLAYWRIGHT_MCP_HEADLESS>"
PLAYWRIGHT_MCP_OUTPUT_DIR = "<your PLAYWRIGHT_MCP_OUTPUT_DIR>"
PLAYWRIGHT_MCP_CODEGEN = "<your PLAYWRIGHT_MCP_CODEGEN>"
PLAYWRIGHT_MCP_SNAPSHOT_BOXES = "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>"
PLAYWRIGHT_MCP_TIMEOUT_SETTLE = "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>"
PLAYWRIGHT_MCP_USER_DATA_DIR = "<your PLAYWRIGHT_MCP_USER_DATA_DIR>"
CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS = "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>"
CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS = "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>"
CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK = "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>"
CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH = "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>"
CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS = "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
[mcp_servers.cloakbrowser-mcp]
command = "npx"
args = ["-y", "cloakbrowser-mcp", "--transport", "streamable-http"]
[mcp_servers.cloakbrowser-mcp.env]
CLOAK_PLAYWRIGHT_MCP_HTTP_HOST = "<your CLOAK_PLAYWRIGHT_MCP_HTTP_HOST>"
CLOAK_PLAYWRIGHT_MCP_HTTP_PORT = "<your CLOAK_PLAYWRIGHT_MCP_HTTP_PORT>"
CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT = "<your CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT>"
CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN = "<your CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN>"
CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND = "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND>"
CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS = "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS>"
CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX = "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX>"
PLAYWRIGHT_MCP_BROWSER_ENGINE = "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>"
PLAYWRIGHT_MCP_HEADLESS = "<your PLAYWRIGHT_MCP_HEADLESS>"
PLAYWRIGHT_MCP_OUTPUT_DIR = "<your PLAYWRIGHT_MCP_OUTPUT_DIR>"
PLAYWRIGHT_MCP_CODEGEN = "<your PLAYWRIGHT_MCP_CODEGEN>"
PLAYWRIGHT_MCP_SNAPSHOT_BOXES = "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>"
PLAYWRIGHT_MCP_TIMEOUT_SETTLE = "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>"
PLAYWRIGHT_MCP_USER_DATA_DIR = "<your PLAYWRIGHT_MCP_USER_DATA_DIR>"
CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS = "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>"
CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS = "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>"
CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK = "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>"
CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH = "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>"
CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS = "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
[mcp_servers.cloakbrowser-mcp]
command = "docker"
args = ["run", "-i", "--rm", "ghcr.io/swimmwatch/cloakbrowser-mcp:1.13.0"]
[mcp_servers.cloakbrowser-mcp.env]
PLAYWRIGHT_MCP_BROWSER_ENGINE = "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>"
PLAYWRIGHT_MCP_HEADLESS = "<your PLAYWRIGHT_MCP_HEADLESS>"
PLAYWRIGHT_MCP_OUTPUT_DIR = "<your PLAYWRIGHT_MCP_OUTPUT_DIR>"
PLAYWRIGHT_MCP_CODEGEN = "<your PLAYWRIGHT_MCP_CODEGEN>"
PLAYWRIGHT_MCP_SNAPSHOT_BOXES = "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>"
PLAYWRIGHT_MCP_TIMEOUT_SETTLE = "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>"
PLAYWRIGHT_MCP_USER_DATA_DIR = "<your PLAYWRIGHT_MCP_USER_DATA_DIR>"
CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS = "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>"
CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS = "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>"
CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK = "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>"
CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH = "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>"
CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS = "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
[mcp_servers.cloakbrowser-mcp]
command = "docker"
args = ["run", "-i", "--rm", "docker.io/swimmwatch/cloakbrowser-mcp:1.13.0"]
[mcp_servers.cloakbrowser-mcp.env]
PLAYWRIGHT_MCP_BROWSER_ENGINE = "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>"
PLAYWRIGHT_MCP_HEADLESS = "<your PLAYWRIGHT_MCP_HEADLESS>"
PLAYWRIGHT_MCP_OUTPUT_DIR = "<your PLAYWRIGHT_MCP_OUTPUT_DIR>"
PLAYWRIGHT_MCP_CODEGEN = "<your PLAYWRIGHT_MCP_CODEGEN>"
PLAYWRIGHT_MCP_SNAPSHOT_BOXES = "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>"
PLAYWRIGHT_MCP_TIMEOUT_SETTLE = "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>"
PLAYWRIGHT_MCP_USER_DATA_DIR = "<your PLAYWRIGHT_MCP_USER_DATA_DIR>"
CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS = "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>"
CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS = "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>"
CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK = "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>"
CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH = "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>"
CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS = "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "npx",
"args": [
"-y",
"cloakbrowser-mcp"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "npx",
"args": [
"-y",
"cloakbrowser-mcp",
"--transport",
"streamable-http"
],
"env": {
"CLOAK_PLAYWRIGHT_MCP_HTTP_HOST": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_HOST>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_PORT": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_PORT>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX>",
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/swimmwatch/cloakbrowser-mcp:1.13.0"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/swimmwatch/cloakbrowser-mcp:1.13.0"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "npx",
"args": [
"-y",
"cloakbrowser-mcp"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "npx",
"args": [
"-y",
"cloakbrowser-mcp",
"--transport",
"streamable-http"
],
"env": {
"CLOAK_PLAYWRIGHT_MCP_HTTP_HOST": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_HOST>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_PORT": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_PORT>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX>",
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/swimmwatch/cloakbrowser-mcp:1.13.0"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/swimmwatch/cloakbrowser-mcp:1.13.0"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"cloakbrowser-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"cloakbrowser-mcp"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"servers": {
"cloakbrowser-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"cloakbrowser-mcp",
"--transport",
"streamable-http"
],
"env": {
"CLOAK_PLAYWRIGHT_MCP_HTTP_HOST": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_HOST>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_PORT": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_PORT>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX>",
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"servers": {
"cloakbrowser-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/swimmwatch/cloakbrowser-mcp:1.13.0"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"servers": {
"cloakbrowser-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/swimmwatch/cloakbrowser-mcp:1.13.0"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "npx",
"args": [
"-y",
"cloakbrowser-mcp"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "npx",
"args": [
"-y",
"cloakbrowser-mcp",
"--transport",
"streamable-http"
],
"env": {
"CLOAK_PLAYWRIGHT_MCP_HTTP_HOST": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_HOST>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_PORT": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_PORT>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX>",
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/swimmwatch/cloakbrowser-mcp:1.13.0"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/swimmwatch/cloakbrowser-mcp:1.13.0"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "npx",
"args": [
"-y",
"cloakbrowser-mcp"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "npx",
"args": [
"-y",
"cloakbrowser-mcp",
"--transport",
"streamable-http"
],
"env": {
"CLOAK_PLAYWRIGHT_MCP_HTTP_HOST": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_HOST>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_PORT": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_PORT>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINT>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKEN>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKEND>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MS>",
"CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX": "<your CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAX>",
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/swimmwatch/cloakbrowser-mcp:1.13.0"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Replace each placeholder with your own value before saving.
{
"mcpServers": {
"cloakbrowser-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/swimmwatch/cloakbrowser-mcp:1.13.0"
],
"env": {
"PLAYWRIGHT_MCP_BROWSER_ENGINE": "<your PLAYWRIGHT_MCP_BROWSER_ENGINE>",
"PLAYWRIGHT_MCP_HEADLESS": "<your PLAYWRIGHT_MCP_HEADLESS>",
"PLAYWRIGHT_MCP_OUTPUT_DIR": "<your PLAYWRIGHT_MCP_OUTPUT_DIR>",
"PLAYWRIGHT_MCP_CODEGEN": "<your PLAYWRIGHT_MCP_CODEGEN>",
"PLAYWRIGHT_MCP_SNAPSHOT_BOXES": "<your PLAYWRIGHT_MCP_SNAPSHOT_BOXES>",
"PLAYWRIGHT_MCP_TIMEOUT_SETTLE": "<your PLAYWRIGHT_MCP_TIMEOUT_SETTLE>",
"PLAYWRIGHT_MCP_USER_DATA_DIR": "<your PLAYWRIGHT_MCP_USER_DATA_DIR>",
"CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS": "<your CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONS>",
"CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS": "<your CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS>",
"CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK": "<your CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACK>",
"CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH": "<your CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCH>",
"CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS": "<your CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGS>"
}
}
}
}Replace each placeholder with your own value before saving.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.swimmwatch%2Fcloakbrowser-mcp)<a href="https://mcptoplist.com/server/io.github.swimmwatch%2Fcloakbrowser-mcp"><img src="https://mcptoplist.com/badge/io.github.swimmwatch%2Fcloakbrowser-mcp.svg" alt="MCP Toplist: Top 5% of 129,608" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Listed on 3 registries
swimmwatch
Available versions (18)
| Version | Published |
|---|---|
| 1.13.0 | Sep 5, 2026 |
| 1.12.0 | Aug 18, 2026 |
| 1.11.0 | Aug 10, 2026 |
| 1.10.0 | Jul 30, 2026 |
| 1.9.0 | Jul 23, 2026 |
| 1.8.0 | Jul 11, 2026 |
| 1.7.0 | Jul 7, 2026 |
| 1.6.1 | Jul 5, 2026 |
| 1.6.0 | Jun 30, 2026 |
| 1.5.0 | Jun 27, 2026 |
| 1.4.0 | Jun 20, 2026 |
| 1.3.0 | Jun 6, 2026 |
| 1.2.7 | Jun 4, 2026 |
| 1.2.6 | May 31, 2026 |
| 1.2.5 | May 28, 2026 |
| 1.2.3 | May 27, 2026 |
| 1.2.2 | May 27, 2026 |
| 1.2.1 | May 27, 2026 |
Frequently asked questions
- Who maintains CloakBrowser MCP?
- CloakBrowser MCP is maintained by swimmwatch, which publishes 1 MCP server (18 total versions) tracked on MCP Toplist.
- Is CloakBrowser MCP listed on the Official MCP Registry?
- Yes — CloakBrowser MCP is listed on the Official MCP Registry, alongside Glama and PulseMCP.
- How many versions does CloakBrowser MCP have?
- MCP Toplist tracks 18 versions of CloakBrowser MCP, most recently published on Sep 5, 2026.
- Where can I find the source code for CloakBrowser MCP?
- The source code for CloakBrowser MCP is hosted at github.com/swimmwatch/cloakbrowser-mcp.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.