Loading...
Loading...
CLI for debugging Node.js backend processes with non-blocking inspection. Use when the user needs to connect to Node.js processes (by PID, name, Docker, or port), set tracepoints/logpoints/exceptionpoints, capture call stacks and local variables, run JavaScript in the process context, or inspect console logs. Requires daemon; connect before other debug commands.
npx skill4agent add serkan-ozal/browser-devtools-skills node-devtools-clinpm install -g browser-devtools-mcp# 1. Start daemon (if not running)
node-devtools-cli daemon start
# 2. Connect to a Node.js process (by PID)
node-devtools-cli --session-id my-debug debug connect --pid 12345
# 3. Set a tracepoint on server.js line 42
node-devtools-cli --session-id my-debug debug put-tracepoint \
--url-pattern "server.js" \
--line-number 42
# 4. Trigger the code path (e.g., make API request to your app)
# 5. Get captured snapshots
node-devtools-cli --session-id my-debug --json debug get-tracepoint-snapshots| Option | Description | Default |
|---|---|---|
| Daemon server port | |
| Session for Node connection persistence | auto |
| Output as JSON (recommended for AI) | |
| Suppress log messages | |
| Enable debug output | |
| Operation timeout | |
node-devtools-cli --json --quiet --session-id "debug-session" <command>| Domain | Description | Reference |
|---|---|---|
| debug | Connection, tracepoints, logpoints, exceptionpoints, watch, snapshots | |
| run | JavaScript execution in connected Node process |
debug connect| Method | Option | Example |
|---|---|---|
| PID | | |
| Process name | | |
| Docker container | | |
| Inspector port | | |
| WebSocket URL | | |
--inspect--inspect=0.0.0.0:9229node-devtools-cli daemon status
node-devtools-cli daemon start
node-devtools-cli daemon stop
node-devtools-cli daemon restart
node-devtools-cli daemon infonode-devtools-cli session list
node-devtools-cli session info <session-id>
node-devtools-cli session delete <session-id>node-devtools-cli tools list
node-devtools-cli tools search <query>
node-devtools-cli tools info <tool-name>node-devtools-cli config
node-devtools-cli update --checkSESSION="--session-id api-debug"
# Connect
node-devtools-cli $SESSION debug connect --pid $(pgrep -f "node server.js")
# Set tracepoint on route handler
node-devtools-cli $SESSION debug put-tracepoint \
--url-pattern "routes/api.ts" \
--line-number 25
# Trigger: curl http://localhost:3000/api/users
# Get snapshots
node-devtools-cli $SESSION --json debug get-tracepoint-snapshotsnode-devtools-cli debug connect --process-name "api"# App runs in container with -p 9229:9229
node-devtools-cli debug connect \
--container-name my-node-app \
--host host.docker.internal \
--port 9229SESSION="--session-id exc-debug"
node-devtools-cli $SESSION debug connect --pid 12345
node-devtools-cli $SESSION debug put-exceptionpoint --state uncaught
# Trigger error in app
# Check snapshots
node-devtools-cli $SESSION --json debug get-exceptionpoint-snapshots# After connect
node-devtools-cli run js-in-node --script "process.memoryUsage()"
node-devtools-cli run js-in-node --script "require('os').loadavg()"node-devtools-cli interactive| Command | Description |
|---|---|
| Show commands |
| Exit |
| Connect to process |
| Connection status |
| Execute tool |
eval "$(node-devtools-cli completion bash)"
eval "$(node-devtools-cli completion zsh)"