Skip to main content
Glama

set_loop

Idempotent

Move or resize the Arrangement loop brace and toggle looping in Ableton Live. Set start, length, or enabled individually without affecting unspecified loop settings.

Instructions

Move the Arrangement loop brace, or switch looping on and off.

Every argument is optional and only the ones given are written, so the brace can
be moved without touching the switch and the reverse.

Returns:
    Dictionary reporting how many writes were made and the before and after
    values for each of enabled, loop_start and loop_length.

Note:
    The brace only loops the Arrangement transport. It has no bearing on Session
    clip looping, which is a clip property. Read that with get_clip. ``length``
    is a duration and not an end position.

    Calling with no arguments at all writes nothing and reports the current
    brace, which is the cheap way to read it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
startNoWhere the loop brace begins, in beats from the start of the Arrangement. Omit to leave it where it is.
lengthNoHow long the brace is, in beats, not the beat it ends on: a loop over bars 5 to 9 in 4/4 is start=16, length=16. Omit to leave it.
enabledNoTurn the Arrangement loop on or off. Omit to leave the switch as it is and move the brace only.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed3 schema fields changedv0.1.1
    • addedInput schema / properties / enabled / description
      Added value: +"Turn the Arrangement loop on or off. Omit to leave the switch as it is and move the brace only."
    • addedInput schema / properties / length / description
      Added value: +"How long the brace is, in beats, not the beat it ends on: a loop over bars 5 to 9 in 4/4 is start=16, length=16. Omit to leave it."
    • addedInput schema / properties / start / description
      Added value: +"Where the loop brace begins, in beats from the start of the Arrangement. Omit to leave it where it is."
  2. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

Even though annotations already signal idempotent, non-destructive behavior, the description adds meaningful context: only supplied arguments are written, no-argument calls perform no writes, the return dictionary reports write count and before/after values, and length is a duration not an end position. These details go well beyond the structured annotations.

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 clear sections, front-loaded purpose, and no filler. The Returns and Note sections each add necessary behavioral or scoping information, and every sentence earns its place.

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 tool with three optional parameters and an output schema, the description is complete: it explains the write behavior, the read-only no-arg mode, the return shape, the meaning of length, and the boundary between Arrangement looping and Session clip looping. An agent has everything needed to call it correctly.

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 input schema already covers all three parameters at 100% with clear descriptions. The tool description still adds value by explaining that length is a duration rather than an end position and by emphasizing that omitted parameters are left unchanged, reinforcing the optional-write semantics.

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 opens with a specific, action-focused statement: 'Move the Arrangement loop brace, or switch looping on and off.' It clearly identifies the resource (Arrangement loop brace) and distinguishes this tool from Session clip looping by pointing to get_clip as the relevant tool for that case.

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?

The description explicitly explains the optional-argument behavior, clarifies when not to use it ('no bearing on Session clip looping'), names the alternative (get_clip), and even documents the no-argument read mode as the cheap way to inspect the current brace. This gives an agent clear selection and invocation guidance.

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

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/romanstark/live-maestro'

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