Skip to main content
Glama

mcp_opendaw_repeat_phrase

Repeats a melodic phrase multiple times with transposition to build musical sequences. Controls pitch intervals, scale awareness, velocity dynamics, and timing to create evolving patterns.

Instructions

Repeat a melodic phrase N times with transposition — melodic sequence.

A sequence is one of the most powerful development techniques in Western music: repeat a melodic idea at different pitch levels. Each repetition is transposed by a fixed interval, creating a chain of related but evolving phrases.

Unlike repeat_notes (which repeats individual notes), create_sequence copies an entire phrase — all notes in the source region — and places each copy after the previous one, transposed and optionally with velocity and timing transformations.

Diatonic transposition moves through the scale (preserving scale membership), while chromatic transposition shifts by exact semitones. Sequences can ascend or descend, accelerating or decelerating.

Bach fugues, jazz ii-V-I chains, pop chorus lifts, film score ostinato builds, and minimalistic pattern music all use sequences.

Args: unit_index: Audio unit index track_index: Note track index with source phrase region_index: Region index (-1 = first region) repetitions: Number of sequence copies (2-16, default 4). Each copy is placed after the previous one in time. transpose_semitones: Transposition interval per repetition (1-12, default 2 = step). Positive = ascending, negative = descending. Used as scale steps in diatonic mode, exact semitones in chromatic mode. transpose_mode: Transposition method — "diatonic": move through scale (preserves scale membership) "chromatic": shift by exact semitones (may leave scale) scale: Scale for diatonic transposition ("major", "minor", "dorian", "phrygian", "lydian", "mixolydian", "locrian", "harmonic_minor", "melodic_minor", "pentatonic", "blues", "chromatic") root: Root note for scale velocity_pattern: Velocity transformation across repetitions — "constant": same velocity as source "crescendo": linear ramp from velocity_start to velocity_end "decrescendo": linear ramp from velocity_end to velocity_start "fade_out": each repetition softer than previous "build": exponential increase, climax at last repetition velocity_start: Starting velocity (0-1, default 0.8) velocity_end: Ending velocity (0-1, default 0.8) time_stretch: Duration multiplier per repetition (0.5-2.0, default 1.0 = same duration). 0.5 = accelerating, 2.0 = slowing down. Creates rhythmic sequences. cross_track: If >= 0, place sequences on this track index instead of source track (preserves original phrase).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rootNoC
scaleNomajor
unit_indexYes
cross_trackNo
repetitionsNo
track_indexYes
region_indexNo
time_stretchNo
velocity_endNo
transpose_modeNodiatonic
velocity_startNo
velocity_patternNoconstant
transpose_semitonesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It clearly explains the repetition, transposition, placement, and cross-track preservation behavior. However, it does not explicitly state whether the default operation modifies the source region, whether it creates new regions, or if the operation is reversible — significant gaps for a mutation tool.

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 a clear one-sentence summary, followed by useful musical context and a well-organized Args section. The musical examples (Bach, jazz, etc.) are somewhat verbose but add context. The length is justified by the 0% schema coverage, though it could be trimmed slightly.

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?

Given the tool's complexity (13 parameters) and the presence of an output schema, the description is highly complete. It explains the operation, all parameters, options, and even musical applications. It lacks only explicit side-effect statements, but the detailed parameter and behavior documentation covers nearly all necessary context.

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?

Schema description coverage is 0%, but the description fully compensates with a detailed Args section covering all 13 parameters, including ranges, defaults, examples, and mode explanations. This goes far beyond the schema's mere titles and defaults, making parameter meanings immediately clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource+scope: 'Repeat a melodic phrase N times with transposition.' It distinguishes from repeat_notes, but confusingly attributes the entire-phrase copy behavior to 'create_sequence' rather than this tool, which may blur identity with the sibling create_sequence. This is a clear purpose with a minor naming ambiguity.

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?

The description explicitly contrasts with repeat_notes (individual notes vs entire phrase) and explains the musical context for sequences, giving clear when-to-use signals. However, it does not provide explicit when-not-to-use guidance beyond the repeat_notes contrast, and the create_sequence reference introduces ambiguity about which tool to choose.

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

Install Server

Other Tools

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/ameobius-ai/opendaw-mcp'

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