Chrome DevTools MCP Server

Control live Chrome browsers to debug, automate, and analyze performance.

Data last scanned today · Reviewed yesterday

535 dangerous tools53 tools47,177TypeScriptApache-2.0

Overview

Chrome DevTools MCP Server bridges your AI agent with the Chrome browser, enabling direct control and inspection of live web sessions. It leverages puppeteer to manage browser automation, wait for action results, and extract technical data like network request logs and browser console outputs. Beyond basic automation, the tool provides specialized utilities for performance analysis. It records browser traces to help developers pinpoint bottlenecks, while supporting source-mapped stack traces for accurate debugging. Users can choose to integrate Google's CrUX API for field data, or opt-out of data collection through CLI flags.

Our verdict

This server carries a high-risk security score of 38/100, primarily because it lacks any authentication method, meaning anyone with access to your configuration can command your browser. Furthermore, it operates without a read-only mode, granting the MCP client full write access to your browser instance. Due to these significant security implications, it should only be used in controlled, isolated environments by developers who are comfortable with the risks of browser-level automation.

  • Supports performance trace recording and CrUX API integration
  • Zero direct dependencies minimize supply-chain surface area
  • Maintains an active development cycle with daily commits
  • Lacks authentication, allowing unauthorized access via config
  • Provides full write access to browser with no read-only mode
  • Community-maintained project rather than an official vendor release

Setup

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

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.

  • No read-only mode — running this grants full read/write access.
  • No built-in authentication — anyone with access to this config can invoke every tool it exposes.

Tools

ToolDescriptionRisk
clickClicks an element on the page.medium
dragDrags an element.medium
fillFills an input field.medium
fill_formFills a form on the page.medium
handle_dialogHandles a browser dialog.medium
hoverHovers over an element.medium
press_keyPresses a key.medium
type_textTypes text into the page.medium
upload_fileUploads a file to the browser.medium
click_atClicks at specific coordinates.medium
close_pageCloses a browser page.medium
list_pagesLists all open browser pages.low
navigate_pageNavigates a page to a URL.medium
new_pageOpens a new browser page.medium
select_pageSelects a page as the current target.low
wait_forWaits for a condition to be met on the page.low
emulateEmulates device or browser settings.medium
resize_pageResizes the browser page.medium
performance_analyze_insightAnalyzes performance insights.low
performance_start_traceStarts a performance trace.medium
performance_stop_traceStops a performance trace.low
get_network_requestGets details of a network request.low
list_network_requestsLists network requests.low
evaluate_scriptEvaluates JavaScript in the browser context.high
get_console_messageGets a specific console message.low
lighthouse_auditPerforms a Lighthouse audit.low
list_console_messagesLists console messages.low
take_screenshotTakes a screenshot of the page.low
take_snapshotTakes a DOM snapshot.low
screencast_startStarts a screencast.low
screencast_stopStops a screencast.low
take_heapsnapshotTakes a heap snapshot.low
close_heapsnapshotCloses a heap snapshot.low
compare_heapsnapshotsCompares two heap snapshots.low
get_heapsnapshot_class_nodesGets class nodes from a heap snapshot.low
get_heapsnapshot_detailsGets details of a heap snapshot.low
get_heapsnapshot_dominatorsGets heap snapshot dominators.low
get_heapsnapshot_duplicate_stringsGets duplicate strings from a heap snapshot.low
get_heapsnapshot_edgesGets edges from a heap snapshot.low
get_heapsnapshot_object_detailsGets object details from a heap snapshot.low
get_heapsnapshot_retainersGets retainers from a heap snapshot.low
get_heapsnapshot_retaining_pathsGets retaining paths from a heap snapshot.low
get_heapsnapshot_summaryGets a summary of a heap snapshot.low
install_extensionInstalls a browser extension.high
list_extensionsLists installed extensions.low
reload_extensionReloads an extension.medium
trigger_extension_actionTriggers an extension action.medium
uninstall_extensionUninstalls an extension.high
execute_3p_developer_toolExecutes a third-party developer tool.high
list_3p_developer_toolsLists third-party developer tools.low
execute_webmcp_toolExecutes a WebMCP tool.high
list_webmcp_toolsLists WebMCP tools.low
get_a11y_snapshotGets the accessibility tree of the currently selected page based on the a11y tree.low

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

Which browsers are officially supported by this MCP server?

The server officially supports Google Chrome and Chrome for Testing. While other Chromium-based browsers may function, they are not guaranteed to work correctly.

How can I opt out of usage statistics collection?

You can opt out by passing the --no-usage-statistics flag in your configuration arguments or by setting the CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS or CI environment variables.

Can I prevent the server from checking for updates?

Yes, update checks can be disabled by setting the CHROME_DEVTOOLS_MCP_NO_UPDATE_CHECKS environment variable.

Is it possible to disable the transmission of performance data to the Google CrUX API?

Yes, you can disable the sending of trace URLs to the Google CrUX API by running the server with the --no-performance-crux flag.

What are the system requirements for running this server?

You need a Node.js LTS version, npm, and a current stable version of Google Chrome installed on your machine.

Are there any security concerns I should be aware of?

The server exposes browser content to MCP clients, allowing them to inspect or modify data. You should avoid sharing sensitive or personal information that you do not want accessed by your MCP clients.

Alternatives

Changelog

Badge

Chrome DevTools MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.