Chrome Debug MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/raultov/chrome-debug-mcp
cd chrome-debug-mcp

Then follow the repository README for any remaining dependency or build steps before continuing.

2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add chrome-debug -- node "<FULL_PATH_TO_CHROME_DEBUG_MCP>/dist/index.js"

Replace <FULL_PATH_TO_CHROME_DEBUG_MCP>/dist/index.js with the actual folder you prepared in step 1.

README.md

Control, automate, and debug Chromium-based browsers via CDP

chrome-debug-mcp

chrome-debug-mcp is an asynchronous Rust-based Model Context Protocol (MCP) server that allows AI agents and Large Language Models to natively control, automate, and debug Chromium-based browsers via the Chrome DevTools Protocol (CDP).

Using cdp-lite underneath, this MCP server directly hooks into the browser avoiding heavy abstractions, enabling live-debugging sessions directly from your editor or chat-interface. Starting from v0.2.0, it can also manage the Chrome process lifecycle automatically.


✨ Features (v1.0.4)

This server natively implements a suite of tools categorized by CDP domains and native process management:

🛡️ Privacy & Security

  • Isolated Profiles (Default): By default, every time the MCP server launches Chrome, it creates a fresh, temporary user profile in your system's temporary directory. This profile is completely independent of your main browser profile.
  • Incognito-like Experience: No cookies, history, saved passwords, or session data from your personal accounts are shared with the managed instance by default.
  • Identity Protection: Even if an LLM has full control over the browser, it cannot access your logged-in sessions (e.g., Google, GitHub, banking) or impersonate you unless explicitly authorized.
  • User Profile Mode (v1.0.4): Use the --user-profile flag to launch Chrome using your existing system profile. This is useful when you want the LLM to work within your active sessions (cookies, saved logins, etc.) without having to re-authenticate on every site. Use with caution as this provides the LLM access to your personal browser data.

🔒 Local-Only Mode (v0.9.3)

  • Restricted Navigation: Run the MCP server with the --local argument to restrict navigation to local addresses only: localhost, 127.0.0.1, 192.168.x.x, or addresses with the .local suffix. This is ideal for securely debugging local development environments without risking accidental navigation to external sites.
  • Clear Error Messaging: If a navigation to an external address is attempted in local-only mode, the server returns a descriptive error explaining the restriction and how to disable it.

🛠️ Custom CDP Commands (v0.9.0)

  • send_cdp_command: EXPERIMENTAL. Send any raw CDP command directly to the browser. This serves as a powerful fallback for any domain or command not yet natively implemented in specialized tools.
  • get_custom_events: Retrieve a list of events captured from the browser that are not handled by other specialized listeners (like network or console). Essential for observing the side-effects of custom commands.
  • Broad Event Capture: Automatically captures events from over 20+ domains (Target, DOM, CSS, Storage, etc.) and stores them in a rolling buffer for later inspection.

🚀 Chrome Instance Management (v1.0.0)

  • Isolated Profiles: Launches Chrome using a fresh, temporary profile by default, ensuring it doesn't share cookies, passwords, or session data with your main browser.
  • User Profile Support (v1.0.4): Optionally use --user-profile to leverage your existing browser sessions and cookies.
  • Docker & Headless Support: Full compatibility with Docker environments. Use the --headless flag to run Chrome without a GUI inside containers.
  • Remote/Host Connection: Use the --host argument to connect to a Chrome instance running on a different machine or the host machine (e.g., --host host.docker.internal from inside a container).
  • Optional Automation Infobar: Add the --enable-automation flag to explicitly show the native "Chrome is being controlled by automated test software" message. By default, this is disabled for stealthier interaction.
  • Proxy Support: restart_chrome now accepts an optional proxy_server argument to launch Chrome routing traffic through a proxy.
  • Auto-Launch: Automatically detects if Chrome is running on the specified port. If not, it spawns a new instance with the required flags.
  • restart_chrome: Restarts the managed Chrome instance.
  • stop_chrome: Shuts down the managed Chrome instance gracefully (SIGTERM/SIGINT with fallback to SIGKILL).
  • Robust Lifecycle: Fixed issues with dangling Chrome processes and patched preferences for cleaner restarts.

🔐 Proxy Authentication (v0.8.0)

  • enable_proxy_auth: Automatically handles proxy

Tools (4)

send_cdp_commandSend any raw Chrome DevTools Protocol command directly to the browser.
get_custom_eventsRetrieve a list of events captured from the browser that are not handled by other specialized listeners.
restart_chromeRestarts the managed Chrome instance.
stop_chromeShuts down the managed Chrome instance gracefully.

Configuration

claude_desktop_config.json
{"mcpServers": {"chrome-debug": {"command": "chrome-debug-mcp"}}}

Try it

Restart the browser instance to apply new proxy settings.
Send a raw CDP command to capture a screenshot of the current page.
Retrieve the latest captured browser events to debug the current page state.
Stop the managed Chrome instance to free up system resources.

Frequently Asked Questions

What are the key features of Chrome Debug?

Native Chrome DevTools Protocol (CDP) integration. Automatic Chrome process lifecycle management. Isolated browser profiles for security and privacy. Local-only navigation mode for secure development. Full support for headless and Docker environments.

What can I use Chrome Debug for?

Automating browser-based testing for local web applications. Debugging complex web UI issues directly from an AI chat interface. Scraping data from dynamic websites using raw CDP commands. Managing browser sessions securely with isolated temporary profiles.

How do I install Chrome Debug?

Install Chrome Debug by running: cargo install chrome-debug-mcp

What MCP clients work with Chrome Debug?

Chrome Debug works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Chrome Debug docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare