Sign inSign up

swimmwatch/cloakbrowser-mcp

By swimmwatch

•Updated 11 days ago

CloakBrowser-backed Playwright MCP browser automation for AI agents

Image
Languages & frameworks
Machine learning & AI
Developer tools
0

10K+

swimmwatch/cloakbrowser-mcp repository overview

⁠cloakbrowser-mcp

CloakBrowser-backed Playwright MCP browser automation for AI agents.

cloakbrowser-mcp runs upstream Playwright MCP browser tools with the CloakBrowser Chromium binary. The bridge keeps upstream Playwright MCP tools unchanged and adds only local CloakBrowser introspection tools.

⁠Pull

docker pull swimmwatch/cloakbrowser-mcp:latest

⁠Run

docker run --rm swimmwatch/cloakbrowser-mcp:latest --help

For stdio MCP usage with persisted artifacts:

docker run --rm -i \
  -v "$PWD/artifacts:/data" \
  swimmwatch/cloakbrowser-mcp:latest

For a persistent browser profile, keep using /data as the container persistence root:

docker run --rm -i \
  -e PLAYWRIGHT_MCP_USER_DATA_DIR=/data/profiles/default \
  -v "$PWD/artifacts:/data" \
  swimmwatch/cloakbrowser-mcp:latest

For Chrome extensions, mount the extension directory separately and pass the container path:

docker run --rm -i \
  -e PLAYWRIGHT_MCP_USER_DATA_DIR=/data/profiles/default \
  -e CLOAK_PLAYWRIGHT_MCP_EXTENSION_PATHS=/extensions/my-extension \
  -v "$PWD/artifacts:/data" \
  -v "$PWD/extensions/my-extension:/extensions/my-extension:ro" \
  swimmwatch/cloakbrowser-mcp:latest

⁠Managed CDP

Managed Chrome DevTools Protocol access is opt-in and session-scoped. Publish the configured port range one-to-one, enable remote binding inside the container, and use a concrete advertised host:

docker run --rm -i \
  -p 127.0.0.1:9222-9231:9222-9231 \
  swimmwatch/cloakbrowser-mcp:latest \
  --cdp-enabled --cdp-port-range 9222-9231 \
  --cdp-host 0.0.0.0 --cdp-allow-remote \
  --cdp-advertised-host 127.0.0.1

Retrieve the capability URL with cloakbrowser_bridge_info and connect through a CDP API such as Playwright chromium.connectOverCDP(). Treat the URL as a credential. --cdp-advertised-scheme https advertises operator-terminated TLS; the bridge does not provide TLS for managed CDP. See the full Docker guide⁠.

⁠MCP client config

{
  "mcpServers": {
    "cloakbrowser": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v",
        "/tmp/cloakbrowser-artifacts:/data",
        "swimmwatch/cloakbrowser-mcp:latest"
      ]
    }
  }
}

⁠Alternative registry

The same release tags are also published to GHCR:

docker pull ghcr.io/swimmwatch/cloakbrowser-mcp:latest

Tag summary

Content type

Image

Digest

sha256:f6986203a…

Size

644 MB

Last updated

11 days ago

docker pull swimmwatch/cloakbrowser-mcp