Chrome DevTools MCP Server

Official

Give your coding agent the full DevTools toolbox: traces, network, console, heap snapshots and Lighthouse.

Local serverstdioTypeScriptApache-2.0 48.4k

What is the Chrome DevTools MCP server?

If you already use Chrome DevTools, the chrome devtools mcp server is the piece that lets your assistant work with it directly. Google's official server lets coding agents drive and inspect a live Chrome instance — performance traces, network logs, console errors and Lighthouse audits.

What the server does

Google's official server lets coding agents drive and inspect a live Chrome instance — performance traces, network logs, console errors and Lighthouse audits.

Available tools

The toolset is worth reading before you wire it up, because it tells you what the integration is really for:

  • navigate_page — Navigate the selected page to a URL
  • new_page — Open a new page or tab
  • list_pages — List the pages currently open in the browser
  • select_page — Choose which open page subsequent tools act on
  • close_page — Close a page
  • click — Click an element identified from a snapshot
  • click_at — Click at explicit coordinates on the page
  • drag — Drag from one element to another
  • hover — Hover over an element
  • fill — Fill a single form field
  • fill_form — Populate multiple form fields in one call
  • type_text — Type text into the focused element

Credentials and setup notes

Configuration is passed through the environment: CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS, CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

Node.js LTS, npm, and a current stable (or newer) build of Google Chrome or Chrome for Testing.

Installation

The server ships on npm as chrome-devtools-mcp, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

Where it fits

This sits in the browser automation group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Chrome DevTools's toolset — navigate_page, new_page, list_pages and 33 more — is a fair guide to whether it matches your workflow. It is maintained by Chrome DevTools (Google) rather than a third party, which usually means auth handling and breaking changes are dealt with faster.

This entry was verified against Chrome DevTools's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Worth knowing first

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 36 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Chrome DevTools.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

What you can do with it

Chasing a slow page

Record a trace on a real navigation, ask the agent which insight matters most, and have it point at the specific script or layout shift responsible.

Reproducing a bug from a report

Let the agent walk the steps, read the console with source maps applied, pull the failing request body, and correlate all of it with your codebase.

Front-end quality gate

Run lighthouse_audit against a preview deployment and get a written summary of regressions before the PR is merged.

Hunting a memory leak

Capture heap snapshots before and after a suspect interaction, compare them, and inspect retaining paths without manually navigating the Memory panel.

Available tools

ToolWhat it does
navigate_pageNavigate the selected page to a URL.
new_pageOpen a new page or tab.
list_pagesList the pages currently open in the browser.
select_pageChoose which open page subsequent tools act on.
close_pageClose a page.
clickClick an element identified from a snapshot.
click_atClick at explicit coordinates on the page.
dragDrag from one element to another.
hoverHover over an element.
fillFill a single form field.
fill_formPopulate multiple form fields in one call.
type_textType text into the focused element.
press_keySend a keyboard key to the page.
upload_fileAttach a file to a file input.
handle_dialogAccept or dismiss a native browser dialog.
wait_forWait until a condition on the page is met.
emulateEmulate a device, network or CPU condition.
resize_pageChange the viewport size.
take_snapshotCapture the accessibility tree as text for element targeting.
take_screenshotCapture a screenshot of the page or an element.
screencast_startBegin recording a screencast of the page.
screencast_stopStop the screencast recording.
list_network_requestsList network requests observed on the page.
get_network_requestReturn full detail for a single network request.
list_console_messagesList console messages, including source-mapped stack traces.
get_console_messageFetch one console message in detail.
evaluate_scriptRun JavaScript in the page context.
performance_start_traceStart recording a DevTools performance trace.
performance_stop_traceStop the trace and return the recorded data.
performance_analyze_insightExplain a specific performance insight found in the recorded trace.
lighthouse_auditRun a Lighthouse audit and return a structured report.
take_heapsnapshotCapture a JavaScript heap snapshot.
compare_heapsnapshotsDiff two heap snapshots to find growth between them.
get_heapsnapshot_retainersShow what is retaining an object in a heap snapshot.
install_extensionInstall an unpacked Chrome extension into the controlled browser.
list_extensionsList extensions loaded in the browser.

How to install the Chrome DevTools MCP server

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["-y", "chrome-devtools-mcp@latest"]
    }
  }
}

Configuration

Node.js LTS, npm, and a current stable (or newer) build of Google Chrome or Chrome for Testing.

VariableDescriptionRequired
CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICSSet to disable Google's default collection of tool usage statistics. Collection is also disabled automatically when CI is set.e.g. 1Optional
CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKSSet to stop the server periodically checking npm for newer versions.e.g. 1Optional

Example prompts to try

  • Load our homepage, record a performance trace, and tell me the three biggest contributors to LCP.
  • Open the checkout page, submit the form with test data, and show me any failed network requests along with their response bodies.
  • Run a Lighthouse audit on http://localhost:3000 and summarise what regressed compared to the recommendations.
  • Reproduce the console error users are reporting on the settings page and trace it back to the source file.

Frequently asked questions

Most browser servers let an agent click and read pages. This one adds the diagnostic half of DevTools: performance traces with extracted insights, the network waterfall, source-mapped console messages, heap snapshots and Lighthouse audits. If your agent needs to explain why something is slow or broken rather than just interact with it, that difference matters.