Skip to main content
@mcp-b/chrome-devtools-mcp is an MCP server that lets AI agents control and inspect a live Chrome browser via the Chrome DevTools Protocol. It is a fork of ChromeDevTools/chrome-devtools-mcp with added WebMCP integration for discovering and calling tools registered on webpages.

Requirements

  • Node.js v20.19 or a newer maintenance LTS version
  • Chrome current stable or newer

Installation

For Claude Code:

Minimal example

For a minimal working example, see the Chrome DevTools Quickstart.

Configuration options

Pass options via the args array in your MCP client config.

Tools (27)

Input automation (8 tools)

Emulation (2 tools)

Performance (3 tools)

Network (2 tools)

Debugging (5 tools)

WebMCP (1 tool)

When a page has WebMCP tools registered via @mcp-b/global, those tools are automatically registered as first-class MCP tools with prefixed names (e.g. webmcp_localhost_3000_page0_search_products).

Prompts

Dynamic tool registration

WebMCP tools from webpages are registered as first-class MCP tools. Client support for tools/list_changed notifications: The list_webmcp_tools tool is diff-aware: the first call returns the full list, subsequent calls return only changes. Pass full: true to force the complete list.

Connecting to a running Chrome instance

Two approaches:
  1. Automatic (Chrome 144+): Enable remote debugging at chrome://inspect/#remote-debugging. The server connects automatically with --autoConnect (enabled by default).
  2. Manual via port: Start Chrome with --remote-debugging-port=9222 and a non-default --user-data-dir, then pass --browserUrl=http://127.0.0.1:9222 to the MCP server.
Enabling the remote debugging port allows any local application to control the browser. Do not browse sensitive websites while the debugging port is open.

User data directory

Default paths: The directory persists between runs. Set --isolated=true to use a temporary directory that is cleaned up when the browser closes.

Known limitations

  • Operating system sandboxes (macOS Seatbelt, Linux containers) can prevent Chrome from launching. Use --browserUrl to connect to an externally started Chrome instance.
  • The MCP server exposes browser content to MCP clients. Avoid browsing sensitive data during a session.