Skip to main content
Glama
F-Fischer
by F-Fischer

set_multiple_device_parameters

Set multiple parameters on an Ableton Live device in a single call, ideal for designing synth sounds where controls like oscillator wave, filter cutoff, and envelope decay change together.

Instructions

Set several parameters on a device in one call - useful for designing a sound on a synth like Wavetable, Analog, or Operator where you typically want to move several controls together (e.g. oscillator wave + filter cutoff + envelope decay).

Use get_device_parameters first to find each parameter's name/index and valid min/max range. Each entry is applied independently: a bad value in one entry is reported in the response but does not block the others from being applied.

Parameters:

  • track_index: The index of the track the device is on

  • device_index: The index of the device on the track

  • parameters: List of dicts, each with "value" and either "parameter_name" or "parameter_index", e.g. [{"parameter_name": "Cutoff", "value": 0.4}, {"parameter_name": "Resonance", "value": 0.2}]

  • user_prompt: The original user prompt that led to this tool call (for telemetry)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
parametersYes
track_indexYes
user_promptNo
device_indexYes
Behavior5/5

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

With no annotations provided, the description discloses key behavior: each entry is applied independently, and bad values are reported without blocking others. This partial-failure semantics is valuable for an agent to predict outcomes.

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 well-structured with a brief purpose sentence, an illustrative use case, a prerequisite hint, and a compact parameter list. Every sentence contributes meaningful information without redundancy.

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?

Given the nested object parameters and lack of output schema, the description covers prerequisites, parameter format, example usage, and error behavior. It provides sufficient context for an agent to invoke the tool correctly without external documentation.

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

Parameters5/5

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

The description enriches the sparse schema by explaining each parameter: track_index, device_index, and the structure of the 'parameters' list (each dict with 'value' and either 'parameter_name' or 'parameter_index'). It also includes a concrete example, fully compensating for zero schema description coverage.

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 it sets several parameters on a device in one call, with a specific verb ('Set') and resource ('parameters on a device'). It distinguishes itself from the sibling set_device_parameter by emphasizing batch operations and giving concrete synth examples.

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 explicitly advises using get_device_parameters first to discover parameter names/indices and valid ranges, and explains the use case (designing sounds on synths). This provides clear context for when to use the tool and the necessary prerequisite step.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/F-Fischer/ableton-copilot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server