chrome-mcp

Compare

How chrome-mcp differs from Playwright MCP, Puppeteer MCP and Browser Use, and when you would pick each.

Every browser MCP server answers the same question differently: whose browser does the agent drive? That one decision decides whether you can read a page that needs a login, whether your 2FA has to be redone, and what happens when the agent goes somewhere it should not.

The short version

chrome-mcpPlaywright MCPPuppeteer MCPBrowser Use
BrowserYour running Chrome, via an MV3 extensionPlaywright-launched browser by default; an extension bridge mode existsPuppeteer-launched ChromiumIts own Chromium (Playwright/CDP)
Logged-in sessionsYes, whatever is already openOnly with a persistent profile or the bridge modeOnly with a persistent profileOnly with a persistent profile or cookies you pass in
Default policyDeny-all: no domains, no mutations, no eval, no downloads until you allow themOpenOpenOpen
Multi-tab fan-outbatch tool, parallel or serial, per-tab serialisationOne page at a time per sessionOne page at a timeAgent-managed
Page readsText, markdown, HTML, accessibility snapshot with refs, snapshot diffAccessibility snapshot, screenshotsScreenshots, evalVision plus DOM extraction
Secret handlingPassword values always blanked; opt-in --redact for tokens and keysNoneNoneNone
Audit trailhistory.jsonl per task: URL, verdict, duration, bytes, secrets scrubbedNoneNoneAgent logs
Installnpx plus load-unpacked extensionnpxnpxpip install
Runs asMCP server (stdio)MCP serverMCP serverPython library and agent
LicenceMITApache-2.0MITMIT

Column details are accurate to the best of our knowledge at the time of writing; the other projects move fast, so check their READMEs for the current state.

Pick chrome-mcp when

  • The page you need is behind a login you have already done in Chrome: a dashboard, an admin panel, a CRM, a store back office.
  • You do not want credentials, cookies or session tokens anywhere near a config file.
  • The agent should be able to read broadly but only act on the domains you name.
  • You need to drive many tabs at once, with real concurrency and no cross-talk.
  • You want an answer to "what did the agent do in my browser" after the fact.

Pick Playwright MCP when

  • You are writing or debugging end-to-end tests and want the same browser the test suite uses.
  • The target is public, or you are happy to script the login.
  • You need Firefox or WebKit.

Pick Puppeteer MCP when

  • You want the smallest possible reference implementation to fork.

Pick Browser Use when

  • You want a full autonomous agent in Python rather than tools for the agent you already have.
  • Vision-based navigation matters more than a structured tool surface.

What chrome-mcp does not do

  • It does not launch a browser. The extension is required; without it no tool can run.
  • It does not support Firefox, Safari or WebKit.
  • It does not run headless. It drives a real Chrome window on a machine you own.
  • It does not bypass Chrome's own security model. What the extension cannot reach (other extensions' pages, chrome:// pages), the agent cannot either.

On this page