Skip to main content
Glama

create_clip

Create an empty MIDI clip in a Session slot, specifying track index, slot index, and loop length in beats. Refuses occupied slots to prevent overwriting.

Instructions

Create an empty MIDI clip of a given length in a Session slot.

The target must be a MIDI track. An audio slot takes a sample instead, which is a
different call: lom_call with path='song.tracks[N].clip_slots[M]',
method='create_audio_clip' and one absolute file path (catalog row
clip_slot.create_audio_clip).

Returns:
    Dictionary with the creation status, the clip path, and the read-back length.

Note:
    An occupied slot is refused rather than overwritten, so nothing is lost by
    aiming at the wrong slot. To replace a clip, delete_clip first.

    The clip arrives empty. Fill it with write_clip_notes, and copy it onto the
    Arrangement timeline with arrange once it holds something.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoName for the new clip. Empty leaves it unnamed.
slotYesClip slot index in track.clip_slots, counted from 0. A slot index is the scene the clip sits in, so slot 2 is the third scene down.
trackYesTrack index in song.tracks, counted from 0.
length_beatsNoLoop length of the new clip in beats, so 4.0 is one bar in 4/4 and 16.0 is four. Must be greater than 0.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

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

  1. Changed4 schema fields changedv0.1.1
    • addedInput schema / properties / length_beats / description
      Added value: +"Loop length of the new clip in beats, so 4.0 is one bar in 4/4 and 16.0 is four. Must be greater than 0."
    • addedInput schema / properties / name / description
      Added value: +"Name for the new clip. Empty leaves it unnamed."
    • addedInput schema / properties / slot / description
      Added value: +"Clip slot index in track.clip_slots, counted from 0. A slot index is the scene the clip sits in, so slot 2 is the third scene down."
    • addedInput schema / properties / track / description
      Added value: +"Track index in song.tracks, counted from 0."
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

The description discloses behaviors beyond the annotations: occupied slots are refused rather than overwritten, the clip arrives empty, and the return value includes creation status, clip path, and read-back length. This meaningfully informs an agent about side effects and failure mode, and it is consistent with annotations.

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?

The description is front-loaded with the core purpose, then organized into useful Returns and Note sections. It is somewhat detailed, but every paragraph adds value: type restriction, alternative call, return summary, occupied-slot behavior, and next-step workflow.

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?

The description covers the tool's purpose, target type, alternative path, safety behavior, return shape, and follow-up workflow. Combined with a rich input schema and output schema, an agent has everything needed to decide when and how to invoke this tool 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?

Schema coverage is 100%, so the baseline is 3, but the description adds important parameter context not in the schema: the track must be a MIDI track, and the slot on an audio track calls a different method. This goes beyond what the input schema conveys.

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 states a specific verb and resource: 'Create an empty MIDI clip of a given length in a Session slot.' It also distinguishes this from the audio-slot equivalent by explicitly naming lom_call with method='create_audio_clip', making the tool's scope and type constraint clear.

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 gives explicit when-to-use guidance: use this for MIDI tracks only, and use a different lom_call for audio slots. It also provides workflow direction ('Fill it with write_clip_notes... arrange'), and tells the agent to call delete_clip first when replacing a clip.

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