Skip to main content
Glama
paramount-engineering

Roku Dev Studio MCP Server

RALE: Get Node by ID

rale_get_node_by_id
Read-onlyIdempotent

Fetch a SceneGraph node by its id from the running Roku app, including fields and children. Use an optional path to disambiguate when ids repeat. Requires a connected App Connector session.

Instructions

Read-only convenience wrapper over rale_command getNodeById: fetch one SceneGraph node (its fields / children) by its id from the running Dev App via the App Connector. Requires a connected App Connector session (auto-connects if needed). Use this — not the general rale_command — for the common "inspect one node" case; drop to rale_command only for other RALE built-ins (registry, focus, other queries). Required id (the node's id field as authored in XML/BrightScript). Optional path (array of child indices/ids to disambiguate when the id is not globally unique; omit or [] for a global lookup) and device (IP or serial; omit for the focused tab).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesRequired. Node id string from the scene / registry.
pathNoOptional. Scene graph path segments; use [] or omit for root.
deviceNoOptional. IP or serial for a specific Dev Studio device tab.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds useful behavioral context: it requires a connected App Connector session, can auto-connect, and fetches node fields/children from the running Dev App. It does not mention return format or error behavior, but annotations lower the burden here.

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?

The description is compact and front-loaded with the core purpose, then adds usage guidance and parameter semantics in a structured way. Every sentence carries necessary information with no fluff or repetition of schema details.

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 simple read-only fetch tool with three well-documented parameters and strong annotations, the description is complete. It covers the tool's purpose, connection requirements, when to use it versus rale_command, and enough parameter semantics for correct invocation. The expected result (node fields/children) is also stated.

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

Parameters4/5

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

Schema coverage is 100%, so each parameter is already documented. The description adds meaningful clarifications beyond the schema: id is the authored XML/BrightScript id, path is for disambiguation when id is not globally unique, and device can be an IP/serial or omitted for the focused tab. These details help the agent invoke parameters correctly.

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 clearly states the tool fetches one SceneGraph node by id and identifies it as a read-only convenience wrapper over rale_command getNodeById. It names the exact resource and operation, and differentiates it from the general rale_command sibling.

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?

It explicitly says when to use this tool ('common inspect one node' case), when not to use it, and directs the agent to rale_command for other RALE built-ins. It also states the connectivity requirement and that the tool auto-connects if needed, leaving no ambiguity about prerequisites.

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