Skip to main content
Glama

mcp_opendaw_merge_note_tracks

Merge MIDI notes from a source track into a destination track to consolidate doubled melodies, counterpoint, or split parts into one track. Resolve overlaps and optionally delete the source.

Instructions

Merge notes from a source track into a destination track.

Combines notes from two tracks into one, optionally deleting the source. Overlapping notes are resolved by the chosen strategy. Unlike copy_notes_to_track (which just copies), merge consolidates two note streams into a single coherent track — the source notes are integrated into the destination region and optionally removed from origin.

Typical use cases:

  • Merge a doubled melody into the main melody track

  • Consolidate counterpoint into the harmony track

  • Combine left-hand and right-hand piano into one track

  • Flatten multi-track MIDI into a single instrument

Args: source_unit: AU index of source track source_track: Note track index within source AU dest_unit: AU index of destination track dest_track: Note track index within destination AU source_region: Source region index (-1 = first region) dest_region: Destination region index (-1 = first region, or auto-create if none exists) delete_source: If True, delete source notes after merge. If False, notes remain in both tracks (copy mode). resolve_overlaps: Strategy for overlapping notes — "keep_higher_velocity" = keep louder note at conflict point, "keep_lower_velocity" = keep quieter note, "keep_source" = prefer source notes, "keep_dest" = prefer destination notes, "keep_both" = keep all overlapping notes (no resolution), "shorten_earlier" = truncate the earlier-starting note to end where the later one begins. transpose: Semitones to transpose source notes (-24 to 24).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dest_unitYes
transposeNo
dest_trackYes
dest_regionNo
source_unitYes
source_trackYes
delete_sourceNo
source_regionNo
resolve_overlapsNokeep_higher_velocity

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it does well: it discloses overlap resolution strategies, source deletion behavior (via delete_source), and transposition range. It also mentions auto-creation for missing dest_region. However, it does not mention error conditions, whether the dest track must be created beforehand, or undo/reversibility; these gaps prevent a perfect score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-organized: a one-sentence summary, a contrast paragraph, use cases, and a cleanly formatted Args block. Every sentence adds value, with no filler. The structure makes the long content easy to scan, and the front-loaded purpose ensures the key information is immediate.

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 (9 parameters, multiple overlap strategies, and an output schema), the description covers everything an agent needs to know to invoke it correctly. It explains the merge semantics, side effects (deletion), edge cases (auto-create dest_region), and option values. There is no obvious missing information that would impede correct usage.

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 coverage is 0%, so the description must and does fully explain all 9 parameters. Each parameter gets a line with a clear meaning, including the -1 semantics for region indices and a detailed list of all overlap strategies. The transpose range (-24 to 24) and default behaviors are also specified, far exceeding what the bare schema provides.

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 opens with a specific verb+resource: 'Merge notes from a source track into a destination track.' It clearly distinguishes itself from copy_notes_to_track by explaining the difference ('Unlike copy_notes_to_track... merge consolidates two note streams'). It also lists concrete use cases, leaving no ambiguity about what the tool does.

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 explicitly contrasts with a sibling tool ('Unlike copy_notes_to_track (which just copies)') and gives typical use cases (merge melody, consolidate counterpoint, etc.). It also clarifies the delete_source parameter allows copy versus move behavior, which serves as a guide for when to use this tool versus a plain copy operation.

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