Skip to main content
Glama
ntworm

Ableton MCP Server

set_clip_color

Set a Session or Arrangement clip's color by palette index or packed RGB, then read it back to verify the change.

Instructions

Set and verify one clip colour, by palette index or packed RGB.

Side effects: writes Clip.color_index or Clip.color in one Live undo step and reads the value back. Only the addressed clip changes. Example: set_clip_color(0, 1, color_index=12) colours a Session clip; set_clip_color(0, 0, scope="arrangement", color=0x336699) colours the first Arrangement clip on that track. Edge cases: exactly one of color_index (0..69) and color (0x000000..0xFFFFFF) is required. An empty Session slot returns BAD_INPUT. Arrangement scope needs Track.arrangement_clips (Live 11+); a host without it returns CAPABILITY_UNAVAILABLE — run diagnose_clip_targets to see what is reachable. The write is issued once and never retried.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
colorNo
scopeNosession
clip_indexYes
color_indexNo
track_indexYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses the exact fields mutated (Clip.color_index / Clip.color), that it is a single undo step, that it reads back to verify, that only the addressed clip changes, and that the write is never retried. Named error codes (BAD_INPUT, CAPABILITY_UNAVAILABLE) and the Live-11+ dependency are exactly the behavioral detail an agent needs.

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-loads purpose, then side effects, then examples, then edge cases — a clean structure where each block adds distinct value. It is dense but every sentence earns its place; the only mild cost is length.

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 mutation tool with no annotations and no output schema, the description covers side effects, verification, error paths and capability requirements. It does not spell out the shape of the verified read-back result, but that is a minor omission given everything else is covered.

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 description coverage is 0%, so the description must compensate, and it does: it documents the mutual-exclusivity rule (exactly one of color_index 0..69 vs color 0x000000..0xFFFFFF), which the schema cannot express, and demonstrates track_index, clip_index and scope through examples. track_index/clip_index themselves are only implied by example rather than defined, so it falls just short of complete.

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?

States a precise verb+resource ('Set and verify one clip colour') and immediately scopes it to a single clip, which cleanly distinguishes it from siblings like set_track_color and set_clip_properties. An agent can identify the operation without opening the 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?

Provides concrete worked examples for both Session and Arrangement scope, plus error-condition guidance (empty Session slot, missing host capability) and routes the agent to diagnose_clip_targets to check reachability. It stops short of explicitly contrasting with the nearest sibling (set_clip_properties), so it is clear context rather than full when/when-not routing.

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