
chrome-devtools-mcp
The Chrome team's MCP server: an agent that reads performance traces, network and console, not just the page
What is chrome-devtools-mcp?
It hands an agent a live Chrome plus the instruments of DevTools: it records a performance trace and reads out Core Web Vitals with named insights, lists network requests and source-mapped console errors, runs Lighthouse audits, and still clicks and fills forms from a text snapshot of the page the way browser MCPs do. It can attach to the Chrome you already have open, profile and all — which is also where care is needed. The trade against Playwright MCP is scope: this is Chrome-only, and what that buys is analysis no cross-browser server offers.
What can you do with chrome-devtools-mcp?
- A performance engineer's view, summarised for the model — Trace recording ends in named insights and Core Web Vitals — the agent reads "LCP was 3.2s" rather than a raw trace file. By default it also pulls real-user field data from Google's CrUX service for the traced URL, and a Lighthouse audit is one tool call.
- Debugging from what the browser actually said — Console messages arrive source-mapped, network requests can be listed and opened individually, arbitrary JavaScript runs in the page, and screenshots or screencasts capture what a human would have seen.
- Attach to the Chrome you already use — It launches its own Chrome with a persistent profile by default, swaps to a throwaway one with --isolated, or attaches to a running browser — including your own profile and logins on recent Chrome. Channel selection reaches beta, dev and canary builds.
- Fifty-seven tools, but you choose the surface — Memory analysis, extension and PWA toolsets stay off until asked for; device emulation and throttling are on; and a slim mode collapses everything to three tools — navigate, evaluate, screenshot — when a small tool list matters more than instrumentation.
Before you choose chrome-devtools-mcp
- Its own README warns that the connected browser's content is exposed to the MCP client and can be inspected or modified — attaching the Chrome you actually browse with hands the model whatever is open in it.
- Google's usage statistics are collected by default and performance traces query the CrUX service unless disabled — both are opt-out flags, not opt-in choices.
Star history
19 Aug to 28 Aug · +545
Frequently asked questions
Is chrome-devtools-mcp free for commercial use?
chrome-devtools-mcp is released under the Apache-2.0 licence — OSI-approved open source, which permits commercial use.
How can chrome-devtools-mcp be deployed?
chrome-devtools-mcp is available as Runs locally.
Documentation
Reproduced from the ChromeDevTools/chrome-devtools-mcp README, published under Apache-2.0. Read the original ↗
Chrome DevTools for agents
Chrome DevTools for agents (chrome-devtools-mcp) lets your coding agent (such as Antigravity, Claude, Cursor or Copilot)
control and inspect a live Chrome browser. It acts as a Model-Context-Protocol
(MCP) server, giving your AI coding assistant access to the full power of
Chrome DevTools for reliable automation, in-depth debugging, and performance analysis.
A CLI is also provided for use without MCP.
Tool reference | Changelog | Contributing | Troubleshooting | Design Principles
Key features
- Get performance insights: Uses Chrome DevTools to record traces and extract actionable performance insights.
- Advanced browser debugging: Analyze network requests, take screenshots and check browser console messages (with source-mapped stack traces).
- Reliable automation. Uses puppeteer to automate actions in Chrome and automatically wait for action results.
Disclaimers
chrome-devtools-mcp exposes content of the browser instance to the MCP clients
allowing them to inspect, debug, and modify any data in the browser or DevTools.
Avoid sharing sensitive or personal information that you don’t want to share with
MCP clients.
chrome-devtools-mcp officially supports Google Chrome and Chrome for Testing only.
Other Chromium-based browsers may work, but this is not guaranteed, and you may encounter unexpected behavior. Use at your own discretion.
We are committed to providing fixes and support for the latest version of Extended Stable Chrome.
Performance tools may send trace URLs to the Google CrUX API to fetch real-user
experience data. This helps provide a holistic performance picture by
presenting field data alongside lab data. This data is collected by the Chrome
User Experience Report (CrUX). To disable
this, run with the --no-performance-crux flag.
Usage statistics
Google collects usage statistics (such as tool invocation success rates, latency, and environment information) to improve the reliability and performance of Chrome DevTools MCP.
Data collection is enabled by default. You can opt-out by passing the --no-usage-statistics flag when starting the server:
"args": ["-y", "chrome-devtools-mcp@latest", "--no-usage-statistics"]
Google handles this data in accordance with the Google Privacy Policy.
Google’s collection of usage statistics for Chrome DevTools MCP is independent from the Chrome browser’s usage statistics. Opting out of Chrome metrics does not automatically opt you out of this tool, and vice-versa.
Collection is disabled if CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS or CI env variables are set.
Update checks
By default, the server periodically checks the npm registry for updates and logs a notification when a newer version is available.
You can disable these update checks by setting the CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS environment variable.
Requirements
Getting started
Add the following config to your MCP client:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
}
}
}
[!NOTE] Using
chrome-devtools-mcp@latestensures that your MCP client will always use the latest version of the Chrome DevTools MCP server.
If you are interested in doing only basic browser tasks, use the --slim mode:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless"]
}
}
}
See Slim tool reference.
MCP Client configuration
amp mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
To use the Chrome DevTools MCP server follow the instructions from Antigravity’s docs to install a custom MCP server. Add the following config to the MCP servers config:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@latest",
"--browser-url=http://127.0.0.1:9222"
]
}
}
}
This will make the Chrome DevTools MCP server automatically connect to the browser that Antigravity is using. If you are not using port 9222, make sure to adjust accordingly.
Chrome DevTools MCP will not start the browser instance automatically using this approach because the Chrome DevTools MCP server connects to Antigravity’s built-in browser. If the browser is not already running, you have to start it first by clicking the Chrome icon at the top right corner.
Follow the IBM Bob MCP guide and add the Chrome DevTools MCP server to your Bob MCP configuration. Use the global config (~/.bob/mcp.json) to apply it across all workspaces, or a project config (.bob/mcp.json) to scope it to one project:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
}
}
}
You can edit these files from Bob panel → Settings → MCP → Edit Global MCP (or Edit Project MCP). Bob hot-reloads on save. Once the server appears in the MCP tab, switch to the 🌎 Browser Dev mode to get guided browser debugging directly in Bob.
Install via CLI (MCP only)
Use the Claude Code CLI to add the Chrome DevTools MCP server (guide):
claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest
Install as a Plugin (MCP + Skills)
[!NOTE] If you already had Chrome DevTools MCP installed previously for Claude Code, make sure to remove it first from your installation and configuration files.
To install Chrome DevTools MCP with skills, add the marketplace registry in Claude Code:
/plugin marketplace add ChromeDevTools/chrome-devtools-mcp
Then, install the plugin:
/plugin install chrome-devtools-mcp@chrome-devtools-plugins
Restart Claude Code to have the MCP server and skills load (check with /skills).
[!TIP] If the plugin installation fails with a
Failed to clone repositoryerror (e.g., HTTPS connectivity issues behind a corporate firewall), see the troubleshooting guide for workarounds, or use the CLI installation method above instead.
codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
On Windows 11
Configure the Chrome install location and increase the startup timeout by updating .codex/config.toml and adding the following env and startup_timeout_ms parameters:
[mcp_servers.chrome-devtools]
command = "cmd"
args = [
"/c",
"npx",
"-y",
"chrome-devtools-mcp@latest",
]
env = { SystemRoot="C:\\Windows", PROGRAMFILES="C:\\Program Files" }
startup_timeout_ms = 20_000
Use the Command Code CLI to add the Chrome DevTools MCP server (MCP guide):
cmd mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest
Start Copilot CLI:
copilot
Start the dialog to add a new MCP server by running:
/mcp add
Configure the following fields and press CTRL+S to save the configuration:
- Server name:
chrome-devtools - Server Type:
[1] Local - Command:
npx -y chrome-devtools-mcp@latest
Install as a Plugin (Recommended)
The easiest way to get up and running is to install chrome-devtools-mcp as an agent plugin.
This bundles the MCP server and all skills together, so your agent gets both the tools
and the expert guidance it needs to use them effectively.
- Open the Command Palette (
Cmd+Shift+Pon macOS orCtrl+Shift+Pon Windows/Linux). - Search for and run the Chat: Install Plugin From Source command.
- Paste in our repository name:
ChromeDevTools/chrome-devtools-mcp.
That’s it! Your agent is now supercharged with Chrome DevTools capabilities.
Install as an MCP Server (MCP only)
Click the button to install:
Or install manually:
Follow the VS Code MCP configuration guide using the standard config from above, or use the CLI:
For macOS and Linux:
code --add-mcp '{"name":"io.github.ChromeDevTools/chrome-devtools-mcp","command":"npx","args":["-y","chrome-devtools-mcp"],"env":{}}'
For Windows (PowerShell):
code --add-mcp '{"""name""":"""io.github.ChromeDevTools/chrome-devtools-mcp""","""command""":"""npx""","""args""":["""-y""","""chrome-devtools-mcp"""]}'
Click the button to install:
Or install manually:
Go to Cursor Settings -> MCP -> New MCP Server. Use the config provided above.
Install via CLI (MCP only)
Use the Devin CLI to add the Chrome DevTools MCP server (guide):
devin mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
droid mcp add chrome-devtools "npx -y chrome-devtools-mcp@latest"
Project wide:
# Either MCP only:
gemini mcp add chrome-devtools npx chrome-devtools-mcp@latest
# Or as a Gemini extension (MCP+Skills):
gemini extensions install --auto-update https://github.com/ChromeDevTools/chrome-devtools-mcp
Globally:
gemini mcp add -s user chrome-devtools npx chrome-devtools-mcp@latest
Alternatively, follow the MCP guide and use the standard config from above.
grok mcp add chrome-devtools npx chrome-devtools-mcp@latest
See the docs for more options
Go to Settings | Tools | AI Assistant | Model Context Protocol (MCP) -> Add. Use the config provided above.
The same way chrome-devtools-mcp can be configured for JetBrains Junie in Settings | Tools | Junie | MCP Settings -> Add. Use the config provided above.
In Kiro Settings, go to Configure MCP > Open Workspace or User MCP Config > Use the configuration snippet provided above.
Or, from the IDE Activity Bar > Kiro > MCP Servers > Click Open MCP Config. Use the configuration snippet provided above.
The Chrome DevTools MCP server can be used with Katalon StudioAssist via an MCP proxy.
Step 1: Install the MCP proxy by following the MCP proxy setup guide.
Step 2: Start the Chrome DevTools MCP server with the proxy:
mcp-proxy --transport streamablehttp --port 8080 -- npx -y chrome-devtools-mcp@latest
Note: You may need to pick another port if 8080 is already in use.
Step 3: In Katalon Studio, add the server to StudioAssist with the following settings:
- Connection URL:
http://127.0.0.1:8080/mcp - Transport type:
HTTP
Once connected, the Chrome DevTools MCP tools will be available in StudioAssist.
Add in ~/.vibe/config.toml:
[[mcp_servers]]
name = "chrome-devtools"
transport = "stdio"
command = "npx"
args = ["chrome-devtools-mcp@latest"]
Add the following configuration to your opencode.json file. If you don’t have one, create it at ~/.config/opencode/opencode.json (guide):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"chrome-devtools": {
"type": "local",
"command": ["npx", "-y", "chrome-devtools-mcp@latest"]
}
}
}
In Qoder Settings, go to MCP Server > + Add > Use the configuration snippet provided above.
Alternatively, follow the MCP guide and use the standard config from above.
Install the Chrome DevTools MCP server using the Qoder CLI (guide):
Project wide:
qodercli mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
Globally:
qodercli mcp add -s user chrome-devtools -- npx chrome-devtools-mcp@latest
Click the button to install:
Go to Settings | AI | Manage MCP Servers -> + Add to add an MCP Server. Use the config provided above.
Your first prompt
Enter the following prompt in your MCP Client to check if everything is working:
Check the performance of https://developers.chrome.com
Your MCP client should open the browser and record a performance trace.
[!NOTE] The MCP server will start the browser automatically once the MCP client uses a tool that requires a running browser instance. Connecting to the Chrome DevTools MCP server on its own will not automatically start the browser.
This README has been shortened. The full version is on GitHub. Read the original ↗