Skip to main content
Glama
zhaohaijun734-arch

local-chrome-cdp-probe-mcp

local-chrome-cdp-probe-mcp

Real-browser measurement + screenshots through your local Chrome via the Chrome DevTools Protocol. Zero npm dependencies (Node >= 20 global fetch/WebSocket), zero Python deps beyond the MCP SDK. For when Playwright is not cached and agent-browser is not installed, but the bug report is "this button looks squashed on my screen".

Why this exists — the traps it removes

Trap

Symptom

Handled by

/json/new with GET

plain text "Using unsafe HTTP verb GET..." then .json() explodes

probe uses PUT (Chrome >= 111 contract)

Host sandbox kills Chrome's sandbox

renderer dies, DevTools ws closes with 1006 immediately

--no-sandbox --disable-dev-shm-usage baked in

Node WebSocket sends an Origin header

DevTools rejects the upgrade, 1006

--remote-allow-origins=* baked in

Retina display doubles physical pixels

measured sizes 2x of CSS px

--force-device-scale-factor=1 baked in

httpOnly login cookies unreachable from scripts

"just set document.cookie" fails

login is a fetch POST executed INSIDE the page - the browser's cookie jar applies

Modal overlays ruin screenshots

shot full of forced-password-change mask

your measure_js can remove the mask before capture

Related MCP server: chrome-mcp

Install & run

pip install -e .            # mcp only
node --version              # must be >= 20
python server.py            # stdio transport
{
  "mcpServers": {
    "local-chrome-cdp-probe": {
      "command": "python",
      "args": ["/path/to/local-chrome-cdp-probe-mcp/server.py"]
    }
  }
}

Optional env: CHROME_PATH (any Chromium), NODE_BIN (default node), PROBE_TIMEOUT (wrapper timeout, default 60s; per-probe --timeout-ms default 30s).

Smoke test

python test_smoke.py    # real Chrome round trip on a local file:// page

License: MIT.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables MCP clients to drive a real, logged-in Chrome browser for web automation tasks like navigation, clicking, typing, and screenshotting.
    2 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Drive your real, signed-in Chrome browser from any MCP client, enabling browser automation such as navigation, clicking, typing, and screenshots through standard MCP tools.
    1
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables fast browser automation on a real Chrome tab via a local hub, providing MCP tools for clicking, filling, snapshotting, and navigating without launching a full browser instance.
    MIT