Labsco
MCP SERVER

Chrome DevTools MCP Server

by XRealSys

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

Runtime Debugging & Crash Analysis
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 point the client at the server script; the server listens on port 12524, overridable with MCP_PORT and MCP_HOST. Attaching to an existing app means starting it with a remote debugging port, conventionally 9222.