
Chrome DevTools MCP
github.com/chromedevtools/chrome-devtools-mcp- Category
- AI Agents
- Rank
- No. 65Tools index
- Listed in
- #1 Control a browser · #1 Connect tools with MCP
- Pricing
- Open Source
- Type
- TOOL
- Builder
- chromedevtools
- GitHub
- 51.4k stars
- Latest release
- chrome-devtools-mcp-v1.9.0
- Date
About
MCP server exposing Chrome DevTools to agents — inspect, debug, profile pages programmatically.
What it does
It gives coding assistants a live browser they can operate while investigating web applications. Puppeteer handles actions and waits, while Chrome DevTools supplies network records, console output, screenshots, accessibility snapshots, traces, performance insights and source-mapped stack traces. A standalone command-line interface supports workflows without an MCP client.
Why it's ranked here
This is a strong choice for Chrome-focused debugging because it combines browser control with diagnostic evidence, not merely scripted clicks. It can launch Chrome or attach to an existing instance, preserve context across reconnects and expose a smaller tool set for basic work. Its privacy defaults deserve scrutiny: usage statistics are enabled unless disabled, and performance analysis may contact the CrUX API.
What's good
The tool covers the full debugging loop: reproduce an issue, inspect console and network activity, capture page state, then record traces and extract actionable performance insights. Automatic waiting reduces brittle timing assumptions. Accessibility snapshots assign stable element identifiers where possible. File-writing tools validate destinations against negotiated workspace roots, falling back to the operating system temporary directory when roots are unavailable.
Tradeoffs
Official support stops at Google Chrome and Chrome for Testing. Other Chromium browsers may work without guarantees. The MCP client can inspect, modify and expose anything available in the connected browser, so personal sessions are risky. Usage statistics and registry update checks run by default. Field-performance enrichment may send trace URLs to Google unless disabled. Tool calls are serialized through a mutex, which favors consistent shared browser state over concurrency.
How to use it well
Use it when an agent must reproduce and diagnose frontend failures in Chrome, especially issues involving requests, console errors, page state or performance. Start with slim, headless mode for basic browser tasks, then use the full tool set for traces and deeper diagnostics. Prefer isolated browser data and remove sensitive accounts. It does not provide guaranteed cross-browser testing, so keep a separate workflow for non-Chrome engines.
Technical notes+
The npm package is an ES module with binaries declared in package.json for the MCP server and standalone CLI. src/index.ts builds the McpServer, negotiates client roots, registers generated tools and bounds root requests that block tool handling. src/ToolHandler.ts validates arguments, file paths and category gates, then serializes calls with a mutex. src/browser.ts launches or attaches through Puppeteer and distinguishes closing owned browsers from disconnecting attached ones. src/McpContext.ts manages pages, isolated contexts, traces, heap snapshots and canonical path checks. src/TextSnapshot.ts creates accessibility-tree identifiers and reuses them while backend node identity remains stable.
Observed
- License
- Apache-2.0
- Primary language
- TypeScript
- Packaging
- Published as an npm package and runnable through npx
- Interfaces
- Model Context Protocol server and standalone CLI
- Runtime
- Node.js 20.19 or newer within the declared supported ranges
- Browser support
- Officially supports Google Chrome and Chrome for Testing
- Module format
- ECMAScript module package
- Core automation dependency
- Puppeteer
Read from README.md, package.json, src/index.ts, src/types.ts, src/McpPage.ts, src/browser.ts, src/version.ts, src/McpContext.ts, src/McpResponse.ts, src/ToolHandler.ts, src/TextSnapshot.ts.
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.