MCP debug_stop
Description
Halts execution on the debugged Roku app. Unlike debug_continue/debug_step, this is NOT routed to a single backend by a runtime parameter -- it always attempts every backend the session actually has, and reports a result PER RUNTIME (brs / ts), never a single boolean: a stop that didn't happen must never be silently reported as one. This is the recommended, cross-cutting tool for debugsession-based workflows; cdp_debugger_pause remains fully valid for direct cdpsession usage, where it only ever halts the TypeScript side.
On the BrightScript side, STOP halts EVERY thread simultaneously (main, render, every task thread) -- there is no way to stop a single thread. An already-stopped app is reported as outcome: "stopped" too (the device answers success either way; this tool always reconciles against a fresh thread list rather than trusting the bare response).
On the TypeScript side, if the debugger is already paused this reports outcome: "already-paused" without re-pausing. Otherwise it attempts CDP's Debugger.pause -- which, on an IDLE Hermes runtime with no JS frame to pause on, acks but never actually pauses (a known, pre-existing device limitation shared with cdp_debugger_pause). That case is reported as outcome: "not-paused" with a message, not as a tool failure.
Optional parameters:
- sessionId (string): Session id returned by debug_session_create. Uses the active session when
omitted.
Aliases
Aliases: cdp_debugger_pause.
See also
- HTTP debugStop (
POST /api/debug/stop) - rk debug stop
Parameters
additionalProperties: false
| Name | Type | Required | Values |
|---|---|---|---|
| sessionId | string | No |
sessionId
Session id returned by debug_session_create
Updated about 5 hours ago