Skip to main content
Glama

set_device_parameter

Set a Live device parameter by track and device index, using native numbers, display text like '250 Hz', or enum labels. Validates unsupported mappings before writing and returns actual readback.

Instructions

Set a parameter after reading get_device_parameters. Numbers use the native range; strings use display units ('250 Hz', '-6 dB') or exact enum labels. Unsupported display mappings fail before writing. Returns Live's actual readback and warnings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
valueYesNative number (clamped/quantized), exact enum label, or display text with Hz/kHz/ms/s/dB/% units, e.g. '250 Hz'. Unsupported mappings fail before writing.
parameterYesParameter name or zero-based parameter index returned by the matching get_*_device_parameters tool.
track_indexYesZero-based index of a regular track in the Live set.
device_indexYesZero-based device position in the target track's device chain.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv1.8.0
    • addedInput schema / properties / device_index / description
      Added value: +"Zero-based device position in the target track's device chain."
    • addedInput schema / properties / device_index / minimum
      Added value: +0
    • addedInput schema / properties / parameter / description
      Added value: +"Parameter name or zero-based parameter index returned by the matching get_*_device_parameters tool."
    • addedInput schema / properties / track_index / description
      Added value: +"Zero-based index of a regular track in the Live set."
    • addedInput schema / properties / track_index / minimum
      Added value: +0
    • addedInput schema / properties / value / anyOf
      Added value: +[
      +  {
      +    "type": "number"
      +  },
      +  {
      +    "type": "string"
      +  }
      +]
    • addedInput schema / properties / value / description
      Added value: +"Native number (clamped/quantized), exact enum label, or display text with Hz/kHz/ms/s/dB/% units, e.g. '250 Hz'. Unsupported mappings fail before writing."
    • removedInput schema / properties / value / type
      Removed value: -"number"
  2. First observedv1.0.0

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the sparse destructiveHint=false annotation, the description discloses important behavioral details: unsupported display mappings fail before writing, numbers use native ranges, strings use display units or enum labels, and the tool returns Live's actual readback and warnings. This is substantial transparency for a write operation.

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 sentences deliver the core action, prerequisite, value semantics, failure behavior, and return expectations. Every sentence earns its place, and the most important instruction is front-loaded.

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

Completeness5/5

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

For a four-parameter write tool with a rich output schema, the description covers the workflow prerequisite, accepted value forms, failure mode, and return contract. The agent has enough context to invoke the tool correctly without needing to open the schema or infer missing behavior.

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

Parameters3/5

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

The input schema already covers 100% of parameters with detailed descriptions, including the value parameter's native/display unit semantics. The tool description restates some of this value guidance but adds little genuinely new parameter meaning beyond orienting the agent to use get_device_parameters for parameter names/indexes.

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?

The description states a clear verb and resource: 'Set a parameter' on a device, and adds a prerequisite workflow ('after reading get_device_parameters'). It distinguishes the tool's scope well through the track/device targeting implied by the schema, though it does not explicitly contrast itself with sibling setters like set_master_device_parameter or set_return_device_parameter.

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 instructs the agent to call this tool after reading get_device_parameters, which provides a clear usage workflow. It does not explicitly state when not to use this tool or name alternatives, but the prerequisite and value-format guidance make the intended context clear.

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

Deploy Server

Other Tools