Skip to main content
Glama
dominick253

roku-debug-mcp

by dominick253

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ROKU_DEV_USERYesRoku developer account username
ROKU_DEVICE_IPYesIP address of the Roku device
ROKU_DEV_PASSWORDYesPassword for the Roku developer account

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
roku_device_infoA

Get device info from the Roku ECP server (port 8060). Returns XML with device name, version, firmware, etc.

roku_current_appA

Get the currently-running app's title, version, etc.

roku_scene_graphA

Get the live SceneGraph XML (roSceneGraph) from the running app. This is the same node structure a Roku dev sees in VS Code's SceneGraph inspector. Useful for understanding the UI hierarchy and node IDs.

roku_postbackC

Send a postback message to the running app via ECP deep link.

roku_launch_uriC

Launch an app by its package ID or channel URI.

roku_keyA

Send a remote key press to the device (Home, OK, Back, Up, Down, Left, Right, etc.).

roku_screenshotA

Capture a screenshot from the running app (returns base64 PNG).

roku_sideload_and_connectA

Sideload a channel zip with remote-debug enabled and connect to the debug server on port 8081. Required before using debug tools.

roku_debug_threadsA

List all debugger threads (stopped or running). Shows thread state, current function, file, line number.

roku_debug_stacktraceB

Get the stack trace for a stopped thread. Returns frames from outermost (index 0) to current (last).

roku_debug_variablesB

Get variables visible in a stack frame. Pass variable_path to drill into a container: e.g. ['m','player'] for m.player properties. Use get_child_keys=true to list a container's keys only.

roku_debug_executeA

Execute BrightScript code in the context of a stopped stack frame. This is the 'Run in Console' equivalent from VS Code. Use for reading m properties, querying node children, etc.

roku_debug_breakpoints_addC

Add breakpoints. Each breakpoint: {file_uri, line_num, ignore_count?}.

roku_debug_breakpoints_listA

List all current breakpoints.

roku_debug_breakpoints_removeA

Remove breakpoints by their remote IDs.

roku_debug_breakpoints_remove_allB

Remove all breakpoints.

roku_debug_continueA

Continue (resume) execution from a stopped state.

roku_debug_stepC

Step execution: step='over'|'out'|'into'.

roku_debug_stopB

Stop all threads.

roku_debug_console_outputA

Get the last N lines of the running script's console output. This is what appears in VS Code's 'Roku Debug' output panel — log output, roArrayPrint, etc.

roku_debug_protocol_infoA

Show the connected debugger's protocol version and supported features.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 21 tools

Disambiguation4/5

Most tools are clearly separated by domain (device control, debugging, breakpoints), but there are several debugger control tools (continue, step, stop) and multiple breakpoint tools that could be confused if descriptions were skimmed. The overlap is mild and the descriptions are specific enough to disambiguate in most cases.

Naming Consistency4/5

The tool names consistently use a 'roku_' prefix followed by a category and action (e.g., roku_debug_breakpoints_add, roku_debug_variables, roku_key). There are some minor inconsistencies like roku_sideload_and_connect versus the more structured debugger tools, and roku_postback is less descriptive, but the overall pattern is predictable.

Tool Count4/5

21 tools is on the high end but each tool serves a distinct purpose in the Roku debugging workflow. The count is justified given the breadth: device info, app control, screenshot, postback, and a full debugger suite. It feels slightly heavy but well-scoped for the domain.

Completeness5/5

The tool surface covers the full Roku development/debugging lifecycle: device discovery, app launching, remote control, scene graph inspection, breakpoint management, execution control, stack/variable inspection, and console output. There are no obvious missing operations for the stated debugging purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues