Skip to main content
Glama

set_volume

Set an iOS device's media volume to a target level (0–1) by pressing volume buttons and verifying each step on the system indicator, then return the final level.

Instructions

Set the device's media volume by pressing the volume buttons toward the level, verifying each step on the system volume indicator. iOS volume has 16 steps, so levels round to the nearest 1/16. Returns the final level.

Input Schema

NameRequiredDescriptionDefault
levelYes0 (mute) to 1 (max)
deviceNoDevice UDID or name substring. Defaults to the select_device choice, then IOS_DEVICE_MCP_DEVICE, else the single USB-connected device.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that the operation works by emitting button presses (a real side effect on device volume), that it verifies each step against the system volume indicator (implying a multi-step, non-instant operation), and that the achieved level is quantized to 1/16 on iOS. It stops short of stating failure modes or whether the device must be unlocked/foregrounded.

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 tight sentences: what it does, how it does it with its precision caveat, and what it returns. Front-loaded with the action and no filler.

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?

For a two-parameter tool with no output schema, the description covers the return value ('final level') and the precision limitation, which are the two things an agent most needs. Remaining gaps — behavior when the target can't be reached exactly, and any device-state prerequisites — are minor.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds real information beyond the schema: the schema presents 'level' as a continuous 0–1 number while the description reveals it is effectively quantized to 1/16 steps. That changes how an agent should choose and interpret the value.

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?

States a specific verb and resource ('Set the device's media volume') and goes further by naming the mechanism (volume button presses) and the verification method. An agent can tell this apart from the sibling press_button tool, which is a raw input primitive, without opening either schema.

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

Usage Guidelines3/5

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

Usage is implied by the mechanism description — this is the high-level way to reach a target volume rather than pressing buttons manually — but there is no explicit when/when-not statement and press_button is never named as the alternative for cases where this approximation isn't good enough. The context is inferable but not stated.

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