Home · Skills · Development · Agent

Chrome devtools MCP

Lets your AI drive a real Chrome with DevTools: performance traces, network requests, console and screenshots.

How to install

How to install

  1. Runs on your computer — needs Node. Works in Claude Code, Claude Desktop and Cursor.
  2. Run the Claude Code line, or paste the JSON into your app's MCP config.
  3. Restart the app, then ask something that needs the tool.
Claude Code
claude mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest
Claude Desktop (claude_desktop_config.json) · Cursor (~/.cursor/mcp.json)
{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": [
        "-y",
        "chrome-devtools-mcp@latest"
      ]
    }
  }
}

It can see and change everything in the browser it controls — don't share sensitive or personal data there.

This one runs on your machine and can reach your files. Read the README below before you connect it.

Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Show the full text147 lines
chrome-devtools/README.md147 lines6.3 KBpushed 19d agoRawView on GitHub

Chrome DevTools for agents

npm chrome-devtools-mcp package

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@latest ensures 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

For setup instructions specific to your editor or agent (e.g. Antigravity, Claude Code, Cursor, VS Code), please see our Client Configurations Guide.

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.

Tools

If you run into any issues, checkout our troubleshooting guide. See the full Tool Reference for a complete list of all supported MCP capabilities.

Configuration

Find the complete list of server parameters (e.g., --headless, --isolated, --slim) and how to configure WebSocket connections in the Configuration Guide.

Advanced Usage

For advanced features such as handling concurrent sessions, persistent user data directories, connecting to a running Chrome instance instead of starting a new one, or debugging on Android, see our Advanced Usage Guide.

Integrating as a browser subagent

If you are developing agentic tooling and want to provide an integrated browser subagent as part of your product, we recommend building on top of Chrome DevTools for agents.

For a reference implementation, see the Gemini CLI browser agent documentation.

1# Chrome DevTools for agents
2 
3[![npm chrome-devtools-mcp package](https://img.shields.io/npm/v/chrome-devtools-mcp.svg)](https://npmjs.org/package/chrome-devtools-mcp)
4 
5Chrome DevTools for agents (`chrome-devtools-mcp`) lets your coding agent (such as Antigravity, Claude, Cursor or Copilot)
6control and inspect a live Chrome browser. It acts as a Model-Context-Protocol
7(MCP) server, giving your AI coding assistant access to the full power of
8Chrome DevTools for reliable automation, in-depth debugging, and performance analysis.
9A [CLI][cli] is also provided for use without MCP.
10 
11[Tool reference][tool-reference] | [Changelog][changelog] | [Contributing][contributing] | [Troubleshooting][troubleshooting] | [Design Principles][design-principles]
12 
13## Key features
14 
15- **Get performance insights**: Uses [Chrome
16 DevTools](https://github.com/ChromeDevTools/devtools-frontend) to record
17 traces and extract actionable performance insights.
18- **Advanced browser debugging**: Analyze network requests, take screenshots and
19 check browser console messages (with source-mapped stack traces).
20- **Reliable automation**. Uses
21 [puppeteer](https://github.com/puppeteer/puppeteer) to automate actions in
22 Chrome and automatically wait for action results.
23 
24## Disclaimers
25 
26`chrome-devtools-mcp` exposes content of the browser instance to the MCP clients
27allowing them to inspect, debug, and modify any data in the browser or DevTools.
28Avoid sharing sensitive or personal information that you don't want to share with
29MCP clients.
30 
31`chrome-devtools-mcp` officially supports Google Chrome and [Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) only.
32Other Chromium-based browsers may work, but this is not guaranteed, and you may encounter unexpected behavior. Use at your own discretion.
33We are committed to providing fixes and support for the latest version of [Extended Stable Chrome](https://chromiumdash.appspot.com/schedule).
34 
35Performance tools may send trace URLs to the Google CrUX API to fetch real-user
36experience data. This helps provide a holistic performance picture by
37presenting field data alongside lab data. This data is collected by the [Chrome
38User Experience Report (CrUX)](https://developer.chrome.com/docs/crux). To disable
39this, run with the `--no-performance-crux` flag.
40 
41## **Usage statistics**
42 
43Google collects usage statistics (such as tool invocation success rates, latency, and environment information) to improve the reliability and performance of Chrome DevTools MCP.
44 
45Data collection is **enabled by default**. You can opt-out by passing the `--no-usage-statistics` flag when starting the server:
46 
47```json
48"args": ["-y", "chrome-devtools-mcp@latest", "--no-usage-statistics"]
49```
50 
51Google handles this data in accordance with the [Google Privacy Policy](https://policies.google.com/privacy).
52 
53Google'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.
54 
55Collection is disabled if `CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS` or `CI` env variables are set.
56 
57## Update checks
58 
59By default, the server periodically checks the npm registry for updates and logs a notification when a newer version is available.
60You can disable these update checks by setting the `CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS` environment variable.
61 
62## Requirements
63 
64- [Node.js](https://nodejs.org/) [LTS](https://github.com/nodejs/Release#release-schedule) version.
65- [Chrome](https://www.google.com/chrome/) current stable version or newer.
66- [npm](https://www.npmjs.com/)
67 
68## Getting started
69 
70Add the following config to your MCP client:
71 
72```json
73{
74 "mcpServers": {
75 "chrome-devtools": {
76 "command": "npx",
77 "args": ["-y", "chrome-devtools-mcp@latest"]
78 }
79 }
80}
81```
82 
83> [!NOTE]
84> Using `chrome-devtools-mcp@latest` ensures that your MCP client will always use the latest version of the Chrome DevTools MCP server.
85 
86If you are interested in doing only basic browser tasks, use the `--slim` mode:
87 
88```json
89{
90 "mcpServers": {
91 "chrome-devtools": {
92 "command": "npx",
93 "args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless"]
94 }
95 }
96}
97```
98 
99See [Slim tool reference][slim-tool-reference].
100 
101### MCP Client configuration
102 
103For setup instructions specific to your editor or agent (e.g. Antigravity, Claude Code, Cursor, VS Code), please see our [Client Configurations Guide][client-configurations-guide].
104 
105### Your first prompt
106 
107Enter the following prompt in your MCP Client to check if everything is working:
108 
109```
110Check the performance of https://developers.chrome.com
111```
112 
113Your MCP client should open the browser and record a performance trace.
114 
115> [!NOTE]
116> 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.
117 
118## Tools
119 
120If you run into any issues, checkout our [troubleshooting guide][troubleshooting].
121See the full [Tool Reference][tool-reference] for a complete list of all supported MCP capabilities.
122 
123## Configuration
124 
125Find the complete list of server parameters (e.g., `--headless`, `--isolated`, `--slim`) and how to configure WebSocket connections in the [Configuration Guide][configuration-guide].
126 
127## Advanced Usage
128 
129For advanced features such as handling concurrent sessions, persistent user data directories, connecting to a running Chrome instance instead of starting a new one, or debugging on Android, see our [Advanced Usage Guide][advanced-usage-guide].
130 
131## Integrating as a browser subagent
132 
133If you are developing agentic tooling and want to provide an integrated browser subagent as part of your product, we recommend building on top of Chrome DevTools for agents.
134 
135For a reference implementation, see the [Gemini CLI browser agent documentation](https://geminicli.com/docs/core/subagents/#browser-agent).
136 
137[advanced-usage-guide]: ./docs/advanced-usage.md
138[changelog]: ./CHANGELOG.md
139[cli]: ./docs/cli.md
140[client-configurations-guide]: ./docs/client-configurations.md
141[configuration-guide]: ./docs/configuration.md
142[contributing]: ./CONTRIBUTING.md
143[design-principles]: ./docs/design-principles.md
144[slim-tool-reference]: ./docs/slim-tool-reference.md
145[tool-reference]: ./docs/tool-reference.md
146[troubleshooting]: ./docs/troubleshooting.md
147 

Discussion

Alternatives

Also in Agents & MCP