Full Chrome DevTools MCP parity, rebuilt for Brave.
brave-mcp gives Claude Code, Codex, Cursor, OpenCode, and other MCP clients direct access to Brave for browser automation, network and console debugging, performance analysis, screenshots, accessibility inspection, and memory profiling. A standalone brave-devtools CLI is included too.
The commands below use --autoConnect, which attaches brave-mcp to the Brave you already have open, so the agent works with your real tabs and signed-in sessions. Enable it once: open brave://inspect/#remote-debugging in Brave and check Allow remote debugging for this browser instance. Brave keeps this setting across restarts.
claude mcp add brave-devtools --scope user -- npx -y brave-mcp@latest --autoConnectcursor --add-mcp '{"name":"brave-devtools","command":"npx","args":["-y","brave-mcp@latest","--autoConnect"]}'codex mcp add brave-devtools -- npx -y brave-mcp@latest --autoConnectopencode mcp add brave-devtools -- npx -y brave-mcp@latest --autoConnectRestart your client, then try this prompt:
Open my app in Brave. Find console errors and failed network requests, inspect the accessibility tree, run Lighthouse, and explain the highest-impact issue.
When the agent connects, Brave asks for permission. Click Allow.
--autoConnect attaches to Brave Release unless you add --channel beta or --channel nightly. To keep the agent out of your everyday browser, leave out --autoConnect: the server then launches its own Brave with a dedicated profile.
| Capability | brave-mcp |
chrome-devtools-mcp |
|---|---|---|
| Browser launched and discovered natively | Brave Release, Beta, and Nightly | Chrome Stable, Beta, Dev, and Canary |
| Attach to an existing browser | Brave profiles, HTTP, or WebSocket | Chrome profiles, HTTP, or WebSocket |
| Upstream DevTools features | Full parity; currently 0 commits behind | Source implementation |
| Usage telemetry | Disabled by default | Enabled by default |
| Standalone CLI | brave-devtools |
chrome-devtools |
Use Chrome DevTools MCP when your target browser is Chrome. Use brave-mcp when your target browser is Brave and you want Brave-native discovery, profiles, channels, naming, and privacy defaults without giving up upstream 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 Brave and automatically wait for action results.
brave-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.
brave-mcp officially supports the current Brave release. Beta and Nightly channels can be selected explicitly.
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 collection is disabled by default in this fork. It can be enabled explicitly with --usage-statistics, which uses the upstream Google Clearcut implementation:
"args": ["-y", "brave-mcp@latest", "--usage-statistics"]When enabled, Google handles this data in accordance with the Google Privacy Policy. Collection remains disabled if BRAVE_DEVTOOLS_MCP_NO_USAGE_STATISTICS or CI is set.
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 BRAVE_DEVTOOLS_MCP_NO_UPDATE_CHECKS.
Enable remote debugging once at brave://inspect/#remote-debugging, then add the following config to your MCP client to attach to your running Brave:
{
"mcpServers": {
"brave-devtools": {
"command": "npx",
"args": ["-y", "brave-mcp@latest", "--autoConnect"]
}
}
}Note
Using brave-mcp@latest ensures that your MCP client will always use the latest version of the Brave DevTools MCP server.
Leave out --autoConnect to have the server launch its own Brave with a dedicated profile instead.
If you are interested in doing only basic browser tasks, use the --slim mode:
{
"mcpServers": {
"brave-devtools": {
"command": "npx",
"args": ["-y", "brave-mcp@latest", "--slim", "--headless"]
}
}
}See Slim tool reference.
For setup instructions specific to your editor or agent (e.g. Antigravity, Claude Code, Cursor, VS Code), please see our Client Configurations Guide. To attach to your running Brave, add --autoConnect to the server arguments shown there.
Enter the following prompt in your MCP Client to check if everything is working:
Check the performance of https://brave.com
Brave asks you to allow the connection. After you click Allow, your MCP client opens the page in Brave and records a performance trace.
Note
The MCP server connects to Brave only when the MCP client first uses a tool that needs a browser, not when the client starts. Without --autoConnect, that is when the server launches its own Brave.
If you run into any issues, checkout our troubleshooting guide. See the full Tool reference for a complete list of all supported MCP capabilities.
Find the complete list of server parameters (e.g., --headless, --isolated, --slim) and how to configure WebSocket connections in the Configuration Guide.
For advanced features such as handling concurrent sessions, persistent user data directories, connecting to a running Brave instance instead of starting a new one, or debugging on Android, see our Advanced Usage Guide.
See Troubleshooting.
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 Brave DevTools for agents.
For a reference implementation, see the Gemini CLI browser agent documentation.
