home / mcp / devtools debugger mcp server

Devtools Debugger MCP Server

An MCP server exposing full Chrome DevTools Protocol debugging: breakpoints, step/run, call stacks, eval, and source maps.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "scriptedalchemy-devtools-debugger-mcp": {
      "command": "node",
      "args": [
        "path/to/devtools-debugger-mcp/dist/index.js"
      ]
    }
  }
}

You can debug Node.js applications with this MCP server by connecting to the built‑in inspector through the Chrome DevTools Protocol. It gives you full debugging capabilities such as breakpoints, stepping, variable inspection, and source map support, all accessible via MCP client commands.

How to use

You use this MCP server by starting a debug session for your Node.js script, then issuing commands to set breakpoints, resume execution, inspect scopes, and evaluate expressions at pause points. The server launches Node with the inspector enabled, attaches to the debug session, and returns a pause state with identifiers you use to continue or step. You can read console output captured since the last step or resume to the next pause.

How to install

Prerequisites: ensure you have Node.js installed on your machine. You may also want a client that can issue MCP tool calls to control the debugging session.

npm install devtools-debugger-mcp

Configuration and startup

Configure the MCP client to run this server by specifying how to start it. You have two supported stdio configurations in this setup.

{
  "devtools-debugger-mcp": {
    "command": "node",
    "args": ["path/to/devtools-debugger-mcp/dist/index.js"]
  }
}

Additional setup options

If you prefer running the server directly as a CLI tool, you can use the global binary provided after installation.

{
  "devtools-debugger-mcp": {
    "command": "devtools-debugger-mcp"
  }
}

Available tools

start_node_debug

Launches Node with the inspector enabled and returns the initial pause, allowing you to connect and begin debugging.

set_breakpoint

Sets a breakpoint by file path and 1-based line number, pausing execution when reached.

set_breakpoint_condition

Adds a conditional breakpoint or breakpoint by URL pattern to pause only under specified conditions.

add_logpoint

Adds a logpoint that prints a message when hit without stopping program execution.

set_exception_breakpoints

Configures pause-on-exception behavior to none, uncaught, or all.

blackbox_scripts

Marks scripts to be ignored when producing call stacks to focus on your code.

list_scripts

Lists all loaded scripts and returns identifiers for source retrieval.

get_script_source

Fetches the source code for a given script by id or URL.

continue_to_location

Runs the program until it reaches a specified file path and line.

restart_frame

Restarts execution from a specific call frame to re-evaluate a section of code.

resume_execution

Continues execution to the next pause, including optional context like scopes, stack, and console output.

step_over

Steps over the current statement with optional context capture.

step_into

Steps into the next function call with optional context capture.

step_out

Steps out of the current function with optional context capture.

evaluate_expression

Evaluates a JavaScript expression in the paused context and returns the result.

inspect_scopes

Retrieves locals, closures, and the this preview for the current pause.

get_object_properties

Drills into an object to read its properties and previews.

list_call_stack

Provides a summary of the current call stack frames.

get_pause_info

Returns pause reason and location details for the current pause.

read_console

Reads console output produced since the last pause or step.

stop_debug_session

Terminates the debugging session and detaches from the Node.js process.