Because it speaks the DevTools Protocol, an agent gets what a person gets in Chrome: conditional breakpoints, closure inspection, expression evaluation in the paused frame. Source-map support is what makes it usable on TypeScript, which is exactly where a console-log loop is least pleasant.
A Node debugger exposed as MCP tools. start_node_debug launches your script with the inspector attached and returns the first pause; from there the agent sets breakpoints, steps, and inspects state.
- Session control: start_node_debug launches a script and attaches, stop_debug_session kills the process and detaches
- Breakpoints by file and line with set_breakpoint, conditional or URL-regex breakpoints with set_breakpoint_condition, and add_logpoint for logging without editing the file
- set_exception_breakpoints chooses whether to pause on caught exceptions, uncaught ones, or neither
- Execution control: resume_execution, step_over, step_into, step_out, continue_to_location and restart_frame
- State at a pause: inspect_scopes for locals and closures, get_object_properties to drill in, list_call_stack and get_pause_info
- evaluate_expression runs JavaScript in the paused frame
- read_console returns output captured since the last step or resume, and stepping calls can bring stack, scopes and console back with the result
- list_scripts and get_script_source find and fetch loaded sources; blackbox_scripts hides frames you do not care about
- Source maps are supported, so TypeScript and other transpiled code can be debugged against the original source
Node, with the server installed from npm and referenced by your client. It launches the script under test itself, so it needs that script's path and the permissions to run it. No account or key.
One command — npm install devtools-debugger-mcp
