roku-debug-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ROKU_DEV_USER | Yes | Roku developer account username | |
| ROKU_DEVICE_IP | Yes | IP address of the Roku device | |
| ROKU_DEV_PASSWORD | Yes | Password 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
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.
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.
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.
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.