Skip to main content
Glama
iphone-control

iphone-control

iphone_list_devices

Read-only

Lists USB-connected iPhones and iPads with name, model, iOS version, UDID, current control target, and auto-unlock status so you can confirm which device operations will affect before switching.

Instructions

列出 USB 上接着的全部 iPhone/iPad,每行一台:设备名、型号、iOS 版本、UDID,标出正在控制哪台、有没有设自动解锁密码。

何时用:接着多台设备、要确认操作落在哪台,或切换前查设备名和 UDID。同一时间只控制一台,其他工具都作用在正在控制的那台上。只读。

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "iphone_list_devices"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.2

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true and openWorldHint=false, and the description restates '只读'. It adds real context beyond the annotations: it describes the output format, including per-device fields, which device is currently controlled, and whether an auto-unlock password is set. It does not say what happens when no device is connected, which is a minor gap.

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 first sentence is front-loaded with the output contract, and the second paragraph covers usage conditions and the single-device constraint. Nothing is redundant, though the two clauses could be tightened slightly.

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?

There is no output schema, so describing the return format is essential, and the description does this well. The statement that other tools act on the controlled device is important context. The only thing missing is empty-state behavior when no devices are attached.

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 takes zero parameters, so the baseline is 4. There is nothing for the description to map, and it correctly does not invent or mention any inputs.

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 and resource ('列出 USB 上接着的全部 iPhone/iPad'), describes the per-line output fields (设备名、型号、iOS 版本、UDID), and also includes the device-control state and auto-unlock status. That is enough to tell it apart from siblings such as iphone_select_device and iphone_status.

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 gives explicit when-to-use conditions: multiple devices attached, needing to confirm which device an operation hits, or checking name/UDID before switching. It also states the key constraint that only one device is controlled at a time and that all other tools act on that device.

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