start_node_debugLABSCO SUMMARY
A real debugger, not print statements bolted onto an agent.
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.
What it is
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.
What you get
- 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
Requirements
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.
Setup effort
One command — npm install devtools-debugger-mcp
USE CASES
Catching a bug that only happens on one input
Set a breakpoint that fires only when the condition holds, run to it, and read the locals at that moment.
Finding out what a variable actually holds
Read the scope, drill into the object, and evaluate an expression against the live frame.
Following control flow into a library
Step in, read the stack, and blackbox the frames that are just noise on the way through.
Logging without editing the file
Drop a logpoint at the line you care about and read what it emitted between pauses.
Landing on the exception instead of the aftermath
Pause where the throw happens and read the reason and location rather than reconstructing it from a stack trace.
21 tools
Listed in project docs. Your client may show a different list.
stop_debug_sessionset_breakpointset_breakpoint_conditionadd_logpointset_exception_breakpointsresume_executionstep_overstep_intostep_outcontinue_to_locationrestart_frameinspect_scopesevaluate_expressionget_object_propertieslist_call_stackget_pause_infolist_scriptsget_script_sourceblackbox_scriptsread_consoleBEFORE YOU INSTALL
What to know first
Tools you get
21 tools named in the project's documentation.
Requires
npx on PATH
INSTALLATION
Connect your client
Add the block to your client, or run the command directly.
Server setup
Configuration file
{
"mcpServers": {
"devtools-debugger-mcp": {
"command": "npx",
"args": [
"-y",
"devtools-debugger-mcp"
]
}
}
}npm
npm install devtools-debugger-mcp