
CloakBrowser MCP
A Playwright browser automation bridge that swaps the standard Chromium binary for CloakBrowser, exposing the same MCP tool set you'd get from Microsoft's @playwright/mcp but with fingerprint resistance baked in. All the upstream Playwright tools for navigation, screenshots, form fills, and DOM queries work unchanged. The package stays intentionally thin: it just points launchOptions.executablePath at CloakBrowser and passes through the tool schemas. Runs over stdio or Streamable HTTP, works from npm or Docker, and includes a compatibility matrix that tracks pinned versions of Playwright MCP, CloakBrowser, and the base Docker image. Reach for this when you need browser automation that looks less like a bot to fingerprinting scripts.
- GitHub stars
- 176
- tools
- 2
- auth
- Secret needed
- transport
- STDIO, HTTP
- env vars
- 19
- last updated
- Oct 18, 2026
Tools
2 toolsPublic tool metadata for what this MCP can expose to an agent.
cloakbrowser_binary_inforeturns CloakBrowser package, platform, cache, and resolved binary data.
returns CloakBrowser package, platform, cache, and resolved binary data.
No parameter schema in public metadata yet.
cloakbrowser_bridge_inforeturns bridge metadata, upstream package/version, and local tool names.
returns bridge metadata, upstream package/version, and local tool names.
No parameter schema in public metadata yet.
Sponsors
Configuration
PLAYWRIGHT_MCP_BROWSER_ENGINEdefault: cloakBridge browser engine: cloak or playwright.
PLAYWRIGHT_MCP_HEADLESSdefault: trueRun the browser in headless mode.
PLAYWRIGHT_MCP_OUTPUT_DIRdefault: .playwright-mcpDirectory where upstream Playwright MCP writes artifacts.
PLAYWRIGHT_MCP_CODEGENdefault: typescriptGenerate code in typescript, python, java, csharp, or none.
PLAYWRIGHT_MCP_SNAPSHOT_BOXESdefault: falseInclude element bounding boxes in browser snapshots.
PLAYWRIGHT_MCP_TIMEOUT_SETTLEdefault: 500Milliseconds to wait after actions for triggered work to settle.
PLAYWRIGHT_MCP_USER_DATA_DIRPersistent Chromium profile directory. The bridge resolves it to an absolute path and writes it to generated Playwright MCP config.
CLOAK_PLAYWRIGHT_MCP_CONTEXT_OPTIONSJSON object with validated Playwright context options such as viewport, locale, timezoneId, permissions, geolocation, and headers.
CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHSJSON array or comma-separated list of Chrome extension directories. Requires PLAYWRIGHT_MCP_USER_DATA_DIR.
CLOAK_PLAYWRIGHT_MCP_CONSOLE_FALLBACKdefault: truePatch upstream console message collection for CloakBrowser compatibility.
CLOAK_PLAYWRIGHT_MCP_GEOIP_PROXY_MATCHdefault: falseResolve proxy GeoIP and match CloakBrowser timezone/locale fingerprint flags when PLAYWRIGHT_MCP_PROXY_SERVER is set.
CLOAK_PLAYWRIGHT_MCP_EXTRA_ARGSComma-separated or JSON array of extra Chromium launch arguments.
CLOAK_PLAYWRIGHT_MCP_HTTP_HOSTdefault: 127.0.0.1Streamable HTTP bind host.
CLOAK_PLAYWRIGHT_MCP_HTTP_PORTdefault: 3000Streamable HTTP bind port.
CLOAK_PLAYWRIGHT_MCP_HTTP_ENDPOINTdefault: /mcpStreamable HTTP endpoint path.
CLOAK_PLAYWRIGHT_MCP_HTTP_AUTH_TOKENsecretOptional Streamable HTTP Bearer token.
CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_BACKENDdefault: memorySession metadata backend. Only memory is implemented in this release.
CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_IDLE_TTL_MSdefault: 3600000Idle TTL for Streamable HTTP sessions.
CLOAK_PLAYWRIGHT_MCP_HTTP_SESSION_MAXdefault: 32Maximum active Streamable HTTP sessions in one process.
Readme
Details
- Repository
- github.com/swimmwatch/cloakbrowser-mcp
- Website
- swimmwatch.github.io/cloakbrowser-mcp
- Categories
- Web & Browser Automation, Automation & Workflows
- Package
cloakbrowser-mcp- Transport
- STDIO, HTTP
- Auth
- Required
- Registry
- MCP registry, active