set_clip_name
Rename clips in Ableton Live sessions by specifying track and clip indices, enabling organized music production workflows through direct session control.
Instructions
Set the name of a clip.
Parameters:
track_index: The index of the track containing the clip
clip_index: The index of the clip slot containing the clip
name: The new name for the clip
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| clip_index | Yes | ||
| name | Yes |
Implementation Reference
- MCP_Server/server.py:372-391 (handler)Primary MCP tool handler for 'set_clip_name'. Forwards parameters to the Ableton remote script via socket command.def set_clip_name(ctx: Context, track_index: int, clip_index: int, name: str) -> str: """ Set the name of a clip. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip slot containing the clip - name: The new name for the clip """ try: ableton = get_ableton_connection() result = ableton.send_command("set_clip_name", { "track_index": track_index, "clip_index": clip_index, "name": name }) return f"Renamed clip at track {track_index}, slot {clip_index} to '{name}'" except Exception as e: logger.error(f"Error setting clip name: {str(e)}") return f"Error setting clip name: {str(e)}"
- Backend handler in Ableton remote script that directly sets the clip name using Ableton Live API (clip.name = name).def _set_clip_name(self, track_index, clip_index, name): """Set the name of a clip""" try: if track_index < 0 or track_index >= len(self._song.tracks): raise IndexError("Track index out of range") track = self._song.tracks[track_index] if clip_index < 0 or clip_index >= len(track.clip_slots): raise IndexError("Clip index out of range") clip_slot = track.clip_slots[clip_index] if not clip_slot.has_clip: raise Exception("No clip in slot") clip = clip_slot.clip clip.name = name result = { "name": clip.name } return result except Exception as e: self.log_message("Error setting clip name: " + str(e)) raise
- AbletonMCP_Remote_Script/__init__.py:257-261 (registration)Command dispatch/registration in remote script's _process_command method that handles incoming 'set_clip_name' commands.elif command_type == "set_clip_name": track_index = params.get("track_index", 0) clip_index = params.get("clip_index", 0) name = params.get("name", "") result = self._set_clip_name(track_index, clip_index, name)
- MCP_Server/server.py:373-380 (schema)Input schema and documentation for the MCP tool parameters.""" Set the name of a clip. Parameters: - track_index: The index of the track containing the clip - clip_index: The index of the clip slot containing the clip - name: The new name for the clip """