MCP debug_console_read

Description

Reads captured console output across all three sources in a debug session (CDP/TypeScript, DAP/BrightScript app output, and the device's own port-8085 log stream), merged into one chronologically-ordered stream and tagged by source.

DAP protocol note: BrightScript ("brs") output has no structured log level -- it is always tagged "print" (unlevelled), never invented. A "device" entry is a line mirrored from the device's own port-8085 stream (compile errors, beacons, the Micro Debugger mirror) rather than app output; never cross-reference a "device" line number against a "brs"/"ts" one for the same stop -- they are independently reported and can disagree.

In a unified session, TypeScript/Hermes console output can appear TWICE: once tagged "ts" (captured via CDP's own protocol events -- authoritative), and once tagged "brs" (mirrored, unavoidably, off the same I/O port BrightScript output also uses -- this is firmware behavior, both runtimes sharing one socket, not a bug in this bridge). Prefer the "ts"-tagged entry for TypeScript content; a "brs"-tagged line that looks like TypeScript output in a unified session is this duplication, not a second event.

Optional parameters:

  • runtime (string): Filter to one source: "ts" (Hermes/TypeScript), "brs" (BrightScript app output via the DAP I/O port), or "device" (port 8085).
  • level (string): Filter to a single level. Only entries that genuinely carry that level are returned -- an unlevelled BrightScript/device line is included when no level filter is set, and excluded when one is.
  • since (integer): Only return entries with timestamp >= this value (epoch ms).
  • limit (integer): Maximum number of entries to return, keeping the most recent. 0 returns none. Defaults to 50.
  • sessionId (string): Session id returned by debug_session_create. Uses the active session when omitted.

Aliases

Aliases: cdp_console_read.

See also

Parameters

additionalProperties: false

NameTypeRequiredValues
runtime"ts" | "brs" | "device"Noenum: "ts", "brs", "device"
level"log" | "warn" | "error" | "info" | "debug" | "print"Noenum: "log", "warn", "error", "info", "debug", "print"
sinceintegerNo
limitintegerNodefault: 50; minimum: 0
sessionIdstringNo

runtime

Filter to one runtime

level

Filter to a single console level

since

Only return entries with timestamp >= this value (epoch ms)

limit

Maximum number of entries to return, keeping the most recent. 0 returns none.

sessionId

Session id returned by debug_session_create. Uses the active session when omitted.


Did this page help you?