Skip to main content
Glama
paramount-engineering

Roku Dev Studio MCP Server

Debugger: Status

debugger_status
Read-onlyIdempotent

Return the current session state for a Roku device without blocking, so you know whether to attach or proceed with inspection.

Instructions

Return the session state for a device WITHOUT blocking: one of disconnected (not attached), connecting, attached, running, stopped (HALTED — safe to inspect), or error. Call this before debugger_attach — if it already reports attached/running/stopped, a session is already up (maybe from the app's own debugger UI) and you can skip straight to the operation you need. Also poll this to decide whether inspection tools will work; to block until the next halt use debugger_wait_for_stop instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
deviceNoOptional. Roku IP or serial; must match a connected Dev Studio tab. Omit to use the focused tab.

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 declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: it explicitly states the tool is non-blocking, explains the meaning of the 'stopped' state (HALTED — safe to inspect), and clarifies that a session may already be up from the app's own debugger UI. It doesn't describe polling frequency or error behavior, but the non-blocking disclosure is a meaningful addition.

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 sentences, each earning its place: the first defines the return values and non-blocking behavior, the second gives a concrete pre-attach usage pattern, and the third routes to the blocking alternative. The most critical information (non-blocking, state values) is front-loaded.

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 read-only status tool with one optional parameter, no output schema, and rich annotations, the description is complete. It covers what the tool returns, when to use it, how to interpret the key state, and which sibling to use for blocking behavior. Nothing an agent needs to call it correctly 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 documents the single optional 'device' parameter. The description adds context about the parameter's purpose ('must match a connected Dev Studio tab') and the omit-to-use-focused-tab behavior, which is slightly beyond the schema. However, the schema already covers the core semantics, so the description's added value is marginal.

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 states a specific verb ('Return'), a specific resource ('session state for a device'), and enumerates all possible return values. It also distinguishes itself from debugger_wait_for_stop by explicitly noting it is non-blocking, which differentiates it from a sibling tool.

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 gives explicit when-to-use guidance: call before debugger_attach to check if a session is already up, and poll to decide whether inspection tools will work. It also names the alternative (debugger_wait_for_stop) for blocking behavior, providing clear routing between siblings.

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