Skip to main content
Glama
paramount-engineering

Roku Dev Studio MCP Server

Connect to a Device

connect_device
Idempotent

Open or focus a Dev Studio device tab for a Roku device, setting it as the active target for renderer-routed tools. Accepts a device IP or serial from list_devices.

Instructions

Open (or focus, if already open) a Dev Studio device tab for the given Roku, making it the active target for renderer-routed tools (rale_command, telnet_*, app_function, get_telnet_log). Required device: Roku IP or serial from list_devices / scan_devices. Idempotent — a no-op if that device is already connected and focused. Not needed for main-direct ECP ops (keypress, launch_app, ecp_query, …), which accept a device argument directly; use test_connection to verify reachability without opening a tab.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
deviceYesRequired non-empty string: LAN IP (e.g. "192.168.1.75") or device serial exactly as shown by list_devices / scan_devices.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.2

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide idempotentHint, readOnlyHint=false, and openWorldHint. The description adds detail beyond those hints: the side effect of opening a tab, the state change of focusing/making the device active, and the specific no-op condition ('a no-op if that device is already connected and focused'). It confirms rather than contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, zero filler. The core behavior and purpose are front-loaded, the parameter requirement follows, and the idempotency/exclusion guidance is last. Every sentence earns its place and no information is repeated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description is remarkably complete: it covers the behavior, the side effects, idempotency semantics, prerequisites (device must come from list_devices/scan_devices), exclusions (ECP ops), and an alternative (test_connection). No critical decision-making information is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents the 'device' parameter (required non-empty string, IP or serial formats, example values, source). The description reinforces that it is required and restates the source (list_devices / scan_devices), but adds little semantic value beyond what the schema already provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Open (or focus...)'), a specific resource ('Dev Studio device tab'), and the concrete outcome ('making it the active target for renderer-routed tools'). It identifies which sibling tools depend on it (rale_command, telnet_*, app_function, get_telnet_log), so an agent can distinguish it from the other 50+ tools without opening any schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool (before renderer-routed tools), when it is NOT needed ('Not needed for main-direct ECP ops'), and names the alternative for a related goal ('use test_connection to verify reachability without opening a tab'). This is textbook when/when-not/alternatives guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.