Skip to main content
Glama

Robot Actions — Remote Device Control

device_list

List available devices (Android and iOS) across every connected device host. A device on another host carries a host field; every device tool accepts its udid the same way. Shows only free devices and devices currently used by you. An Apple TV is listed with os "iOS" plus deviceClass "AppleTV" and osLabel "tvOS": read/app tools (ios_screenshot, ios_page_source, ios_active_app, ios_list_apps, ios_launch_app) work as usual, but it has NO touchscreen — ios_tap/ios_swipe/ios_send_keys refuse on it. Drive it with the TV tools instead: tvos_select(x,y) / tvos_focus(label) to pick an element, ios_tv_button for remote keys, ios_tv_text to type, ios_tv_volume for volume. An Android TV (Chromecast with Google TV) is listed with os "Android" plus deviceClass "AndroidTV" and osLabel "Android TV": every device_* tool works on it as on a phone, and the remote is device_key (DPAD_UP/DOWN/LEFT/RIGHT = 19-22, DPAD_CENTER = 23, BACK, HOME, MEDIA_PLAY_PAUSE = 85).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

With zero annotations, the description carries the full transparency burden. It discloses the visibility filter (free + your own devices), the host field for non-local hosts, and the concrete behavior of both TV classes, including that touch tools are refused on Apple TV. This is far beyond a bare 'list' and lets an agent predict side effects and constraints.

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 description is longer than most, but it is front-loaded with the core purpose in the first sentence, then flows into host/filter behavior, and finally packs in two dense TV-specific caveats. Every sentence earns its place, though the TV section could arguably be split into a separate reference without losing key information.

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

Completeness4/5

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

With no output schema and no annotations, the description is the sole source of context. It covers the fields agents will see (os, deviceClass, osLabel, host, udid), the filtering rule, and the automation capabilities per device class. It stops short of giving an exact response shape or pagination note, but for a list-enumeration tool that is sufficient.

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?

The tool has no parameters, so the baseline is 4. The description adds useful output semantics (which devices appear, host field presence, deviceClass/osLabel conventions) that an agent would need to interpret the results, even though it says nothing about input params – as expected for a zero-param tool.

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 'List available devices (Android and iOS) across every connected device host' – a specific verb and resource. It further scopes the result set with 'Shows only free devices and devices currently used by you,' making it unmistakably distinct from broader enumeration or device-info tools.

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

Usage Guidelines4/5

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

It doesn't waste words on an obvious when-to-use, but it gives explicit conditional routing: Apple TV devices must not be controlled with ios_tap/ios_swipe/ios_send_keys and instead require TV tools, while Android TV works with every device_* tool plus device_key. This is actionable guidance for choosing the correct sibling tools based on device class.

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