LabscoMCP early access ↗
XRealSysMCP SERVER

Chrome DevTools MCP Server

Drive Chrome over the DevTools Protocol — DOM, network, console, and real JavaScript breakpoints.

by XRealSys ↗Runtime Debugging & Crash AnalysisCommunity

LABSCO SUMMARY

Breakpoints are what separate this from a screenshot tool.

Most browser servers can click and read text. This one can stop execution on a DOM mutation, an XHR to a given path, or a named function, evaluate a condition before pausing, and hand back the call stack. Logpoints are the underused mode — set a condition and a message with pausing turned off and you get instrumented output without editing the source. Attaching to an already-running Electron app works the same way.

What it is

A Chrome DevTools Protocol client for AI-assisted front-end work. It launches Chrome or attaches to one that is already running — including Electron and other V8-based apps — and exposes inspection, execution and debugging.

What you get

  • Connecting: launch_chrome starts an instance with a debugging port, connect_remote_chrome attaches to a running one, list_available_targets enumerates tabs with their WebSocket URLs, and connect_websocket_url switches to a specific one
  • Inspection: navigate_to, get_dom_tree with a depth limit, query_elements by CSS selector, get_page_info, take_screenshot with a full-page option
  • Diagnostics: get_network_logs with URL filtering, get_console_logs filtered by level, execute_javascript in the page context
  • Source access: get_script_sources lists every loaded script, get_script_source fetches one, search_in_scripts searches all of them for a function, class, variable or text, and get_page_functions lists what the page defines
  • Real debugging: set_breakpoint supports DOM, event, function, XHR, line and logpoint types, with conditions and log messages, plus list_breakpoints, remove_breakpoint, get_paused_info, resume_execution and step_over
  • close_chrome shuts the instance down

Requirements

Python 3.7+ and Google Chrome, on macOS, Linux or Windows. Clone the repository, install from requirements.txt and start python src/chrome_devtools_mcp.py; it serves MCP over SSE at http://localhost:12524/sse, and MCP_PORT and MCP_HOST change where it listens. Attaching to an existing app means starting it with a remote debugging port, conventionally 9222.

Setup effort

Build from source — git clone https://github.com/XRealSys/chrome-devtool-mcp.git