Skip to main content
Glama

list_devices

Identify phones on your tailnet running the client app so you can add them for Android device control.

Instructions

Find phones that could be added: devices on your tailnet running the client app. This is the normal way to discover a phone.

ADB is only relevant while setting a phone up from this machine; use list_adb_devices if you specifically need that.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
deviceNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It implies a read-only discovery operation through words like 'Find' and 'discover,' and adds meaningful context about the device source (tailnet client app). It does not, however, state whether it modifies anything, whether already-added phones are excluded, or whether any connection/handshake occurs during the call.

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 two short sentences with no filler. The primary purpose is front-loaded, and the ADB clarification earns its place by preventing misuse of a sibling tool.

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

Completeness3/5

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

For a simple discovery tool, the description covers the main use case and key sibling distinction. However, the undocumented 'device' parameter and the lack of guidance about other discovery-related siblings leave a meaningful gap. The output schema mitigates the need to describe return values.

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

Parameters2/5

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

The input schema has an optional 'device' parameter with no description and 0% schema description coverage. The tool description never mentions this parameter, so an agent cannot tell whether it filters by name, ID, or something else, or whether it is safe to leave as the default empty string.

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 a specific verb ('Find') and resource ('phones that could be added'), and further scopes it to 'devices on your tailnet running the client app.' It also differentiates itself from list_adb_devices, so an agent can tell this apart from sibling 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?

The description explicitly says this is the normal way to discover a phone and tells the agent to use list_adb_devices when ADB is specifically needed. However, it does not address overlapping sibling tools like list_phones or discover_phones, so guidance is not fully comprehensive.

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