Skip to main content
Glama

get_clip_info_by_id

Retrieve detailed clip information from Ableton Live by specifying a clip ID. This tool supports real-time interaction with Ableton Copilot MCP for efficient clip operations and workflow management.

Instructions

Get clip info by clip id

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
clip_idYes

Implementation Reference

  • Registration of the tool 'get_clip_properties' via @tool decorator, which matches the function getClipInfoById for getting clip info by ID.
    @tool({
        name: 'get_clip_properties',
        description: 'Get clip properties by clip id. To get specific properties, set the corresponding property name to true in the properties parameter.',
        paramsSchema: {
            clip_id: z.string(),
            properties: ClipGettableProp,
        }
    })
  • Handler function that executes the tool logic: retrieves the clip by ID and gets the specified properties.
    async getClipInfoById({ clip_id, properties }: { clip_id: string, properties: z.infer<typeof ClipGettableProp> }) {
        const clip = getClipById(clip_id)
        return await getClipProps(clip, properties)
    }
  • Zod schema definition for ClipGettableProp used in the tool parameters for specifying which clip properties to retrieve.
    export const ClipGettableProp = createZodSchema<ClipGettablePropType>({
        available_warp_modes: z.boolean().optional(),
        color: z.boolean().optional(),
        color_index: z.boolean().optional(),
        end_marker: z.boolean().optional(),
        end_time: z.boolean().optional(),
        file_path: z.boolean().optional(),
        gain: z.boolean().optional(),
        gain_display_string: z.boolean().optional(),
        has_envelopes: z.boolean().optional(),
        is_arrangement_clip: z.boolean().optional(),
        is_audio_clip: z.boolean().optional(),
        is_midi_clip: z.boolean().optional(),
        is_overdubbing: z.boolean().optional(),
        is_playing: z.boolean().optional(),
        is_recording: z.boolean().optional(),
        is_triggered: z.boolean().optional(),
        launch_mode: z.boolean().optional(),
        launch_quantization: z.boolean().optional(),
        length: z.boolean().optional(),
        loop_end: z.boolean().optional(),
        loop_start: z.boolean().optional(),
        looping: z.boolean().optional(),
        muted: z.boolean().optional(),
        name: z.boolean().optional(),
        pitch_coarse: z.boolean().optional(),
        pitch_fine: z.boolean().optional(),
        playing_position: z.boolean().optional(),
        position: z.boolean().optional(),
        ram_mode: z.boolean().optional(),
        sample_length: z.boolean().optional(),
        selected_notes: z.boolean().optional(),
        signature_denominator: z.boolean().optional(),
        signature_numerator: z.boolean().optional(),
        start_marker: z.boolean().optional(),
        start_time: z.boolean().optional(),
        velocity_amount: z.boolean().optional(),
        warp_mode: z.boolean().optional(),
        warp_markers: z.boolean().optional(),
        warping: z.boolean().optional(),
        will_record_on_start: z.boolean().optional()
    }).extend({
        notes: z.boolean().optional(),
        selected_notes: z.boolean().optional(),
    })
  • Uses helper functions getClipById and getClipProps to implement the logic.
    const clip = getClipById(clip_id)
    return await getClipProps(clip, properties)
  • src/main.ts:41-41 (registration)
    Class-level registration of ClipTools in the MCP server startup.
    tools: [BrowserTools, ClipTools, DeviceTools, HistoryTools, SongTools, TrackTools, ExtraTools, ApplicationTools]

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/xiaolaa2/ableton-copilot-mcp'

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