Skip to main content
Glama

Restart, reload or power screens

control_screens
Destructive

Send a device action to one or many screens.

When to use:

  • A change has not appeared, a screen is frozen, an old or broken file keeps playing, or the TV must go on or off.

When NOT to use:

  • Changing content: use set_screen_content. New data from a feed or web page: use refresh_data.

What to know:

  • Devices act within seconds; offline ones act when they come back. Check the result with capture_screenshot. Needs screen.edit.

Parameters:

  • action: refresh (reload content, no restart; try first), reboot (restart; about a minute blank), clear_cache (delete stored files so they download again; media shows late meanwhile), tv_on or tv_off (HDMI-CEC TVs only; the player keeps running).

  • screenId and screenIds: give either or both; they combine into one set, each screen gets the action once, and screens out of reach are skipped.

  • Example: {action:"refresh", screenIds:["scr_7", "scr_8"]}.

Input Schema

NameRequiredDescriptionDefault
actionYesDevice action.
screenIdNoScreen id.
screenIdsNoScreen ids.

Output Schema

NameRequiredDescriptionDefault
queuedNoHow many screens the action was sent to.
skippedNoScreens skipped as out of reach.
commandIdsNoIds of the queued commands.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / action / description
      Previous value: -"The device action to send."New value: +"Device action."
    • changedInput schema / properties / screenId / description
      Previous value: -"One screen id, from list_items kind screens."New value: +"Screen id."
    • changedInput schema / properties / screenIds / description
      Previous value: -"Many screens, max 200."New value: +"Screen ids."
  2. Changed1 schema field changed
    • changedInput schema / properties / action / description
      Previous value: -"refresh, reboot, clear_cache, tv_on or tv_off. See the description."New value: +"The device action to send."
  3. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations declare destructive=true and non-idempotent, and the description adds non-obvious behavior beyond them: devices act within seconds but offline ones queue until they return, reboot blanks the display for ~a minute, clear_cache delays media but re-downloads files, tv_on/tv_off only work on HDMI-CEC TVs while the player keeps running, and screen.edit permission is required. It also points to capture_screenshot for verification.

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

Conciseness4/5

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

The layered structure (purpose, when/when-not, what to know, parameters, example) is front-loaded and skimmable, and nearly every line carries operational value. It is on the long side for a three-parameter tool, with some redundancy between the 'what to know' and 'parameters' sections, but nothing is wasted boilerplate.

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?

With an output schema present, the description need not document return values, and it instead covers the things that matter for a destructive, non-idempotent action tool: permission requirement, timing expectations, per-action side effects, and how to confirm the outcome. Nothing an agent needs in order to call this correctly is missing.

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

Parameters5/5

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

Although schema coverage is 100% and the schema descriptions are bare ('Device action.', 'Screen id.'), the description supplies the real semantics: per-enum consequences and ordering advice (try refresh first), and the crucial combination rule that screenId and screenIds merge into one set, each screen is acted on once, and unreachable screens are silently skipped. It even gives a worked example.

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 opens with a specific verb+resource ('Send a device action to one or many screens') and immediately differentiates itself from siblings by naming set_screen_content for content changes and refresh_data for feed/web updates. An agent can route to this tool without opening any schema.

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 provides an explicit 'When to use' block with concrete symptoms (change not appeared, frozen screen, stale file, TV power) and an explicit 'When NOT to use' block that names the correct alternatives for content and data cases. This is the strongest form of routing guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources