Skip to main content
Glama

set_device

Idempotent

Modify Ableton Live device settings like on/off, name, collapsed, A/B compare, and type-specific properties. Set multiple parameters in one call to streamline device configuration.

Instructions

Change a device: enabled (on/off), name, collapsed, compare_b (A/B compare slot B) and the type-specific properties get_device lists.

properties: {name: value}; option properties take an option name or index ("playback_mode": "one_shot", "voice_mode": "Mono", "selected_preset_index": "Init"); routing properties take display names ("input_routing_type": "Kick" for a Compressor sidechain). "sample." sets Simpler's sample ("sample.warping": true, "sample.warp_mode": "complex"); "view." sets view properties. Failures are listed per property.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
trackYes
deviceYes
enabledNo
collapsedNo
compare_bNo
propertiesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare non-destructive, idempotent, closed-world writes, and the description does not contradict them. It adds genuine behavior beyond the annotations, notably that failures are reported per property and how option/routing/sample/view property names are resolved.

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?

Front-loaded with the verb and the list of changeable fields, then dense but purposeful syntax detail; every clause carries information. The parenthetical examples make it run-on in places, but there is little padding.

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 7-parameter mutation tool with no output schema and no schema descriptions, the description supplies the missing property-naming rules, the get_device dependency, and partial-failure behavior. The main gap is disambiguation from sibling device-mutation tools and how the track/device locators are resolved.

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 0%, so the description carries the full burden, and it defines meaningful semantics for enabled, name, collapsed, compare_b and especially properties, including value formats for option, routing, sample.* and view.* keys. Only the two required locators (track, device) are left unexplained, though their meaning is largely self-evident.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Change a device') and enumerates exactly which attributes it can change (enabled, name, collapsed, compare_b, plus type-specific properties). It does not distinguish itself from the sibling set_device_parameters or device_action, so an agent cannot route between those purely from this text.

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?

It implies a workflow by pointing to get_device as the source of valid type-specific properties, which is useful implied guidance. However, it never states when to use this tool versus set_device_parameters, device_action, or set_track, and gives no prerequisites or exclusions.

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