mrkeyoor.com_
Thu 17 Sept 09:09 UTC
AI Toolsevaluationupdated 26 Aug 2026

browser-tools-mcp review

BrowserTools MCP lets an AI coding client inspect the Chrome tab a developer is already using. A local MCP server and unpacked extension expose console output, network traffic, selected elements, screenshots, browser storage, and Lighthouse audits without moving the session into an automated browser profile.

+2stars / 7d
Verdict

Our browser-tools-mcp run built in 8 seconds and passed 355 of 356 tests, with the one failure in degraded attachment handling and 0 audit findings. It is a strong choice for debugging the authenticated Chrome tab in front of you, especially when console and network evidence matter more than browser automation. Choose Playwright or Chrome DevTools MCP for reproducible agent-controlled sessions, and avoid giving this tool sensitive tabs unless best-effort redaction fits your threat model.

We ran it

Lab card: what happened when we ran browser-tools-mcpScreenshot of browser-tools-mcp (agentdesk.ai)
Install✓ · 11s307 packages · 260 MB
Build✓ · 8s
Tests✗ · 17s355 passed · 1 failed of 356 (vitest)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo77 files~12,849 lines of source · 0.7 MB · 1 CI workflows

Answers from our run

Does browser-tools-mcp build from source?

Dependencies installed in 11 seconds (307 packages), and the build succeeded in 8 seconds. We cloned commit 99acee8 into a clean Debian container with 3 CPUs and no project-specific setup.

Do browser-tools-mcp's tests pass?

Not all of them: 355 of 356 passed and 1 failed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Does browser-tools-mcp have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use browser-tools-mcp?

Playwright-style test authors who need the agent to drive a clean, reproducible browser: the README recommends automation-first MCP servers for that job.

What are the alternatives to browser-tools-mcp?

Chrome DevTools MCP, Playwright MCP, Browserbase MCP Server. Our browser-tools-mcp run built in 8 seconds and passed 355 of 356 tests, with the one failure in degraded attachment handling and 0 audit findings.

Setup4/5One server command plus a manually loaded Chrome extension
Docs5/5Clear install, privacy model, limits, migration, and diagnosis
Community4/5Fresh August release and a nearly empty issue and PR queue
Maturity4/52.x fixed serious design flaws; one integration test still failed

Who it’s for

Developers debugging an authenticated web app that is already open in Chrome.
Claude Code, Cursor, Windsurf, Cline, Zed, or Gemini CLI users who want browser evidence through MCP.
Frontend teams that want console, network, screenshot, and Lighthouse data in the same agent session.
Engineers willing to keep DevTools open and control which captured fields reach the model.

Who it’s NOT for

Playwright-style test authors who need the agent to drive a clean, reproducible browser: the README recommends automation-first MCP servers for that job.
Firefox users who need supported screenshots or tested behavior: the README says Firefox has never been verified and screenshots will not work there.
Security teams that cannot expose an authenticated browser session to an AI client: redaction is pattern-based and the security policy says unrecognized secret formats may pass through.
Developers who cannot use Node.js 22.19 or newer or manually load an unpacked extension.
Anyone expecting capture before DevTools opens: earlier network requests are absent unless the page is reloaded.

Setup reality

Our npm install succeeded in 11 seconds, adding 307 packages and using 260 MB. The build passed in 8 seconds. Tests failed after 17 seconds: Vitest reported 355 passed and 1 failed out of 356. The failing attachment test expected runtime.degradedReason to be truthy. Npm audit found 0 known vulnerabilities.

Normal use needs Node.js 22.19 or newer, an MCP-compatible client, and the repository's Chrome extension loaded in Developer mode. No cloud credential is required. DevTools must stay open on each captured tab, and optional cookie access must be granted separately.

The connector binds to loopback and uses a per-run token, but it still handles data from a live authenticated browser. Secret scrubbing is best-effort. Firefox is unverified, audits open a separate Chromium process, and captures made before DevTools opens are unavailable.

BrowserTools reads the Chrome session you are already debugging

Most browser agents start a separate profile. That is useful for repeatable tests, but inconvenient when the bug depends on the session already open on your screen, complete with login state, feature flags, and the exact page history that produced it. BrowserTools takes the opposite approach. Its extension captures the active DevTools session and sends structured console, network, page, storage, screenshot, and audit data to a local MCP server.

The server exposes 16 tools plus resources for full console history, network history, HAR files, screenshots, and Lighthouse reports. Reads can be filtered and paged, and each result identifies its tab and URL. Several tabs can stay connected at once. This is a better debugging shape than pasting screenshots and console fragments into chat, because the agent can ask a narrower follow-up while the original evidence remains addressable.

The extension solves login friction but expands the trust boundary

Chrome 136 refuses remote debugging against the default profile unless a nonstandard data directory is used. BrowserTools avoids that limitation by using an extension inside the real session. The payoff is immediate: the developer does not have to recreate authentication in a disposable browser. The cost is equally clear: an AI client can inspect data produced by tabs that may hold customer records, internal APIs, or privileged cookies.

Version 2.x confines the connector to loopback, authenticates HTTP requests with a per-run token, checks extension origins, and disables headers by default. Cookie access is optional. Credential patterns are scrubbed in the browser and again on the server. The security policy still calls redaction best-effort, because a bespoke secret format can escape a pattern matcher. Sensitive organizations should restrict captured tabs and exposed tools rather than treating [REDACTED] as a complete data-loss control.

What happened when we ran it

Our sandbox cloned commit 99acee8 with 3 CPUs and 8 GB of RAM. Npm installed 307 packages in 11 seconds and occupied 260 MB. The monorepo build succeeded in 8 seconds. Npm audit found 0 known vulnerabilities across the installed dependency tree.

Vitest finished with exit code 1 after 17 seconds: 355 tests passed and 1 failed out of 356. The failing integration case created an attachment runtime on port 1 and expected runtime.degradedReason to be truthy. It was not. The next assertion would have checked that tool calls explain the unavailable runtime, but the first expectation stopped the case. The log does not show whether the cause is environmental or a product defect, so we do not assign one.

The checkout contained 77 files, roughly 12,849 lines of source, and 0.7 MB before dependencies. Our scan found one CI workflow, npm workspaces, no Dockerfile, and no conventional tests directory. The repository nevertheless contains test files under package-specific paths, which is how Vitest found 356 cases. The installed 260 MB footprint is large relative to the source, largely reflecting browser and audit tooling rather than repository size.

Capture begins at DevTools open, not at page navigation

The extension starts capture when DevTools opens. Requests that completed earlier are missing, so a full page-load diagnosis begins by opening DevTools and reloading. Each tab with DevTools open keeps its own retention buffer, and the most recently opened panel becomes the current target. An explicit tabId removes ambiguity when several sessions are active. Console wrapping can avoid Chrome's debugging banner, although screenshots still depend on the DevTools route.

Screenshots have a default 3 MB budget. Oversized images are converted to JPEG and downscaled, or stored on disk when they still cannot fit the transport. Large histories stay behind MCP resource links instead of flooding every response. Those decisions show attention to context cost. They also mean the agent may receive a reduced image or a summary until it deliberately opens the full artifact.

Lighthouse audits are useful diagnostics, not browser tests

Accessibility, performance, SEO, and best-practices audits are available through the same server. They launch a separate Chromium process rather than auditing the live extension tab in place. Release v2.0.2 fixed a mismatch where audits could use desktop viewport settings with mobile throttling and then report a hardcoded device. The release also corrected HAR start times, event ordering, log retention, and selected-element scrubbing.

That release landed on August 12, 2026, the same date as the latest repository push. GitHub showed 1 combined open issue and pull request, a feature request for optional paid API support. A small queue plus a fresh release suggests active maintenance, while the unusually candid security history gives buyers something more useful than a generic safety claim.

Upgrade every 1.x installation before evaluating features

The security policy assigns the 1.2.x line a critical advisory with a 9.8 score. The old connector listened beyond loopback, lacked authentication, and allowed untrusted WebSocket input to reach a shell command. Version 2.0 removed the network scan and shell path, added origin and host checks, and rewrote the extension protocol. Old and new extensions are incompatible, so an upgrade also requires reinstalling the unpacked extension.

For current users, BrowserTools fills a specific gap well: show an agent the browser state a developer is already seeing. It is less suitable as a test runner or remote browser platform. The 355 passing cases, clean audit, documented limits, and 2.x security redesign justify a trial. The remaining question is organizational rather than technical: whether a live authenticated browser belongs inside the agent's evidence boundary.

Alternatives

ProjectWhat it isPick it when
Chrome DevTools MCP gh↗A Chrome DevTools Protocol server for browser automation, inspection, and performance work.pick this instead when the agent should control a dedicated debug browser rather than observe your logged-in tab.
Playwright MCP gh↗An MCP server that drives browsers through Playwright's structured accessibility view.pick this instead when repeatable navigation and interaction matter more than attaching to an existing Chrome session.
Browserbase MCP ServerA server for controlling hosted Browserbase sessions from an MCP client.pick this instead when remote managed browsers and cloud session infrastructure fit the job.

Sources

  1. BrowserTools MCP README
  2. BrowserTools MCP security policy
  3. BrowserTools MCP 2.0 migration guide
  4. BrowserTools MCP v2.0.2 release

More ai tools reviews

yolov5 · eve · MemOS · LongCat-Video · Concat · DLSS5-Feeder · the whole board →