Skip to main content
Glama

create_clip

Destructive

Create MIDI or audio clips in Ableton Live Session slots or arrangement positions, optionally filling notes or drum patterns in the same call.

Instructions

Create a clip: MIDI in an empty Session slot (0-based scene index) or on the arrangement at a time; audio from file_path on audio tracks. Optionally fill it in the same call: notes (as write_notes) and/or pattern (drum steps, as write_drum_pattern).

length: MIDI only, beats or "N bars" (default 4 beats; a bare number is beats). at: beats, "bar.beat.sixteenth" ("9.1.1") or a locator name. MIDI ranges that overlap arrangement clips are refused (audio reports what it trimmed). color: index 0..69 or "#RRGGBB". Returns the new clip (as get_clip). Example: create_clip("Drums", slot=0, length="1 bar", pattern={"kick": "x---x---x---x---"}).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
atNo
nameNo
slotNo
colorNo
notesNo
trackYes
lengthNo
patternNo
file_pathNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and non-idempotent, so the safety profile is covered. The description adds real behavioral context beyond that: overlapping MIDI ranges on the arrangement are refused, audio reports what it trimmed, and the call returns the new clip 'as get_clip'. It does not explain overwrite behavior for an occupied slot, which is the main remaining gap.

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 core purpose, then a compact per-parameter block, closing with a concrete example. Dense but every line carries format or constraint information; the only minor cost is that the parameter notes read as a terse list rather than prose.

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 nine-parameter mutation tool with no output schema, the description supplies the return value ('as get_clip'), the units/formats for the ambiguous params, and the failure semantics for overlapping arrangement ranges. What remains thin is the interaction with an already-occupied slot and the audio-path prerequisites.

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?

With 0% schema description coverage across 9 parameters, the description compensates thoroughly: slot is a 0-based scene index, at accepts beats, 'bar.beat.sixteenth' or a locator name, length is MIDI-only in beats or 'N bars' with a stated 4-beat default, color is an index 0..69 or '#RRGGBB', and pattern is drum steps. Only the trivial track and name params go unexplained.

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?

Opens with a specific verb+resource ('Create a clip') and immediately enumerates the distinct creation modes: MIDI into a Session slot, MIDI at an arrangement time, or audio from file_path. An agent can distinguish this from siblings like duplicate_clip, write_notes, or create_scene without opening any schema.

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?

States when each mode applies (slot vs at vs file_path, MIDI vs audio tracks) and names the equivalent lower-level calls for in-line filling ('as write_notes', 'as write_drum_pattern'). It lacks an explicit when-not / prerequisite rule, e.g. what to do if the target slot is already occupied, so it falls short of a 5.

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