Skip to main content
Glama
paramount-engineering

Roku Dev Studio MCP Server

Platform CI Version Electron License roku-dev-studio MCP server

Roku Developer Tools for macOS, Windows, and Linux — Remote Control, App Side-loading, ECP automation, RALE / App Connector, Network Inspector, Action Scripts, MCP server for AI agents (Cursor, Claude, VS Code), and a rds CLI. Supports both local network and internet-bridged devices.

A comprehensive cross-platform desktop application for controlling and developing on Roku devices over your local network or via remote server using the External Control Protocol (ECP).

Why Roku Dev Studio? (vs. official Roku tools)

Roku development is normally split across a pile of separate, single-purpose official tools — the Roku Remote Tool, the browser-based sideload installer, raw telnet, RALE, sca-cmd — that don't talk to each other. Roku Dev Studio doesn't replace Roku's own protocols (ECP, RALE, telnet, sca-cmd) — it wraps all of them in one GUI, one CLI (rds), and one MCP server:

Task

Without Roku Dev Studio

With Roku Dev Studio

Remote control

The official Roku Remote Tool, or raw ECP keypress calls via curl/Postman

One tab: full D-Pad, keyboard remote, and a floating mini-remote

Sideloading

The device's browser-based installer or a VS Code extension — one IP at a time

Sideload Relay — one push from your IDE installs, launches, and captures console on every targeted device

Debug console

telnet <ip> 8085 in a raw terminal or through an IDE — no search/filter/save either way

A structured console with search, filtering, and saved logs

BrightScript debugging

The socket debug protocol, usable mainly through a single IDE's extension

A standalone debugger: breakpoints, step execution, call stack, variables, watch

App inspection (RALE)

RALE alone only inspects SceneGraph nodes — no way to call into a channel or exchange data with it

App Connector — extends RALE with the ability to call your channel's own functions and pass data back and forth (GET/POST-style), unlocking automation that didn't exist before

Network traffic

A separately configured MITM proxy (Charles/mitmproxy/Fiddler) with manual device setup

Built-in local MITM proxy + optional hotspot packet capture

Static analysis

sca-cmd output cross-referenced by hand against Roku's cert docs

Runs sca-cmd for you, with cert-requirement links straight to Roku's docs

Remote locations / labs

Physical presence required — ECP only works on the local network

A bundled remote server bridges ECP over the internet

Repeatable testing

Hand-rolled scripts around ECP and RALE

Action Scripts — build a flow (keypresses, queries, conditionals, waits) from a GUI, or run it headless via rds

AI-agent access

Nothing official

A bundled MCP server lets Cursor, Claude Desktop, or VS Code drive a real device

This repository is an npm workspace monorepo. Run npm install and npm start from the repository root so workspaces link correctly. Installing runs a postinstall (npm run build:libs) that compiles the shared roku-dev-studio-platform and roku-dev-studio-api packages to their dist/ outputs, which the app and remote server import. Use npm run typecheck for a full TypeScript check across every workspace and npm test to run unit tests. CI runs these plus per-package build/syntax smoke checks on each push and pull request. Setup, scripts, and distributable builds are documented in INSTALLATION.md.

Related MCP server: brs-docs-mcp

Repository layout

Location

What it is

apps/roku-dev-studio/

Electron desktop app (main process, renderer, packaging). Dev and distributable builds: INSTALLATION.md.

packages/roku-dev-studio-api/

Shared Node library + rds CLI: discovery, ECP, screenshots, sideload, RALE, action-script runner, headless validator — package README.

packages/roku-dev-studio-mcp/

MCP server that lets AI agents (Cursor, Claude Desktop, VS Code) drive a Roku through this app — package README.

packages/roku-dev-studio-network-inspector/

Network Inspector engine: hotspot packet capture (DNS/SNI/HTTP) + local MITM proxy, transport-agnostic so it runs in both the desktop app and the remote server — package README.

packages/roku-dev-studio-remote-server/

HTTP/WebSocket relay to control Rokus over the internet — package README.

packages/roku-dev-studio-platform/

Shared host-platform helpers (OS identity, modifier keys, path-safe, node-only filesystem helpers) used by the app and other packages so platform logic lives in one place. Built to dist/ on npm installpackage README.

roku-components/

BrightScript-side artifacts: TrackerTask.xml (drop into your channel for App Connector / RALE) and the fiddle/ SceneGraph scaffold — components README.

Author: Hareendra Donapati

Glossary

Term

One-line meaning

ECP

External Control Protocol — Roku's HTTP API on port 8060 (KeyPress, Launch, Query, Deep-Link).

Telnet 8085 / 8080

The BrightScript debug console (8085) and dev system commands (8080) on a Developer-Mode Roku.

RALE

Roku Advanced Layout Editor — Roku's SceneGraph inspection protocol over a TCP socket (default port 49200), spoken by the TrackerTask component.

TrackerTask

The BrightScript component channel developers add to their app to make it reachable from RALE / App Connector — see roku-components/README.md.

App Connector

The Dev Studio tab that talks RALE: list / call your channel's GetExternalControlFunctions, plus built-ins (node lookup, registry editor, update node).

Network Inspector

The Dev Studio tab / engine that inspects a dev channel's HTTP(S) traffic through a local MITM proxy, with optional hotspot packet capture.

Sideload

Uploading and installing a .zip / .pkg dev channel onto a Developer-Mode Roku via its Dev Password.

Sideload Relay

RDS advertising itself as a Roku so one sideload from your IDE / browser fans out (install → launch → console) to many targeted devices.

Action Script

JSON-described automation that chains keypresses, queries, sideload, App Connector calls, screenshots, conditionals, waits, and variables. Built and run from the Action Scripts tab; also runnable headless via rds.

MCP server

Roku Dev Studio's Model Context Protocol server — lets Cursor / Claude Desktop / VS Code drive a real device through this app while it's open. Toggle clients in Settings → MCP Server.

Fiddle

The BrightScript scratch editor (Monaco + brighterscript lint) that wraps your snippet into a temporary channel and runs it on a selected device.

rds

The terminal CLI shipped by roku-dev-studio-api (rds discover, rds keypress, rds script run, rds rale repl, …).

Supported Platforms

Roku Dev Studio is available for:

Platform

Options

macOS

DMG installer, Portable ZIP archive

Windows

NSIS installer, Portable executable

Linux

DEB package, AppImage


Home

Home

Remote + Device Performance

App Connector (RALE)

Action Scripts Builder

Remote with Device Performance

App Connector

Action Scripts Builder

BrightScript Fiddle

MCP Server Settings

Dev App / Sideload

BrightScript Fiddle

Settings MCP Server

Dev App

More screenshots for every feature: FEATURES.md.

Features

See FEATURES.md for the full tour with screenshots. Quick index:

Remote Control (Floating Remote) · Device Performance · Device Discovery · App Launcher & Management · Device Queries · Dev App Management · Sideload Relay · Console & Debugging · BrightScript Debugger · App Connector (RALE) · Network Inspector · Network Session Viewer · Action Scripts · AI Agents (MCP Server) · BrightScript Fiddle · Log File Viewer · Static Channel Analysis · rds CLI · Remote Server Support · Settings · Developer Features

Remote Server Setup

Roku Dev Studio can control devices over the internet using a remote server bridge, so you can manage devices in Remote Locations without being on the same network as the desktop app. Run the relay (npm run remote-server from this repo, or npm install -g roku-dev-studio-remote-server), then add its URL via Add Remote Location in the device selector.

Full setup (running the server as a service, network/firewall configuration, the HTTP/WebSocket API, and Swagger docs) lives in the remote server package README.

Project structure

.
├── apps/
│   └── roku-dev-studio/                 # Electron desktop app (see INSTALLATION.md)
├── packages/
│   ├── roku-dev-studio-api/             # Shared API + `rds` CLI (npm: roku-dev-studio-api)
│   ├── roku-dev-studio-mcp/             # MCP server bundled into the desktop app
│   ├── roku-dev-studio-network-inspector/ # Network capture + MITM proxy engine
│   ├── roku-dev-studio-platform/        # Shared platform helpers (path-safe, OS identity)
│   └── roku-dev-studio-remote-server/   # HTTP/WS relay (npm: roku-dev-studio-remote-server)
├── roku-components/                     # TrackerTask + Fiddle SceneGraph assets
├── package.json                         # Workspace root (workspaces: apps/*, packages/*)
├── INSTALLATION.md
└── README.md

The Electron app’s own tree (TypeScript main.ts / preload.ts bundled to main.bundled.cjs / preload.bundled.cjs, renderer/, build assets) lives under apps/roku-dev-studio/.

Requirements

For Running the App:

  • Node.js 24.17+

  • npm (bundled with Node.js)

  • Roku device on local network (or remote server for remote access)

For Building:

  • All of the above

  • Platform-specific build tools:

    • macOS: Xcode Command Line Tools

    • Windows: Windows SDK (for NSIS installer)

    • Linux: Standard build tools (gcc, make, etc.)

See Installation for setup and build instructions.

License

This project is licensed under the MIT License.

Third-party components used in this software and their licences:

Library

Purpose

Licence

@tanstack/virtual-core

Virtualized list rendering (telnet console, large script results)

MIT

archiver

Building sideload .zip packages

MIT

brighterscript

BrightScript linting in the Fiddle editor

MIT

commander

rds CLI argument parsing

MIT

electron

Desktop app runtime

MIT

electron-builder

Packaging & installers

MIT

form-data

HTTP multipart uploads

MIT

modern-screenshot

DOM-to-image capture for chart cards / PDF export

MIT

monaco-editor

Code editor (Fiddle, action-script step editors)

MIT

pdf-lib

PDF generation

MIT

sharp

Image processing (icons/build)

Apache-2.0

solid-js

Reactive framework powering the new renderer

MIT

ws

WebSocket client

MIT

Their dependencies are used under the terms declared in package-lock.json and each package’s repository.

A
license - permissive license
A
quality
C
maintenance

Maintenance

UpdatingMaintainers
UpdatingResponse time
2dRelease cycle
2Releases (12mo)
Commit activity

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to develop, test, and certify Roku applications by providing direct control over device functions like app deployment, remote input, and SceneGraph inspection. It supports automated workflows including real-time log collection, media monitoring, and certification verification.
    1
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server for Roku BrightScript documentation and device control, enabling doc search, device introspection, keypress/keysequence input, app launch, and sideloading.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to inspect and control Roku devices—query UI elements, send remote input, launch channels, and run tests—using the Model Context Protocol or a CLI.
    17
    4
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that scaffolds runnable Roku channels from a validated AppSpec, zips them, and optionally sideloads to a Roku device.
    5
    11
    MIT

View all related MCP servers

Related MCP Connectors

  • MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.

  • MCP server for Appcircle mobile CI/CD platform.

  • A MCP server built for developers enabling Git based project management with project and personal…

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/paramount-engineering/roku-dev-studio'

If you have feedback or need assistance with the MCP directory API, please join our Discord server