Skip to main content
Glama

mcp_opendaw_copy_notes_to_track

Copy MIDI notes between tracks to layer sounds, create harmonies, echoes, or doubles. Adjust transposition, timing, and velocity for precise control.

Instructions

Copy notes from one track/region to another track — MIDI layering and doubling.

Copies all notes from a source region to a destination track's first region. Optional transpose (semitones), time offset (beats), and velocity scaling.

Use cases:

  • Layer drums: copy drum track to second track with different instrument

  • Create harmony: copy melody +12 (octave) or +7 (fifth)

  • Call-and-response: copy with time_offset to create echo

  • Doubles: copy to same track position with slight transpose for thickening

source_unit_index: Source AU index. source_track_index: Source note track index. dest_track_index: Destination note track index. source_region_index: Source region (-1 = first region). dest_unit_index: Destination AU index (-1 = same as source). transpose: Semitone offset (-127 to 127, 0 = same pitch). time_offset: Beat offset for copied notes (0 = same position, 2 = two beats later). velocity_scale: Multiply velocity of copied notes (1.0 = same, 0.7 = quieter layer).

Returns count of notes copied.

Example:

Layer drums — copy track 0 to track 2

copy_notes_to_track(0, 0, 2)

Create octave harmony — copy melody +12

copy_notes_to_track(0, 3, 4, transpose=12, velocity_scale=0.7)

Echo effect — copy 2 beats later at half velocity

copy_notes_to_track(0, 0, 1, time_offset=2, velocity_scale=0.5)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
transposeNo
time_offsetNo
velocity_scaleNo
dest_unit_indexNo
dest_track_indexYes
source_unit_indexYes
source_track_indexYes
source_region_indexNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that copies go to the destination track's first region, explains optional transforms, and states the return value. However, it doesn't clarify whether copying adds to or replaces existing notes in the destination region, which is a significant behavioral trait for a music tool.

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 well-structured and front-loaded with the core purpose. It includes a brief summary, use cases, parameter explanations, return value, and examples—all without fluff. Every section earns its place, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers operation purpose, all 8 parameters, return value, and provides examples. It is complete enough for a copy tool with this complexity, though it could mention edge cases like missing regions or whether destination notes are cleared. The presence of an output schema reduces the need to explain return details further.

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?

The schema has 0% description coverage, so the description must compensate. It describes every parameter with meaningful detail, including defaults, ranges, and examples (e.g., 'transpose: Semitone offset (-127 to 127, 0 = same pitch)'). The examples further clarify parameter usage.

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 clearly states the verb and resource: 'Copy notes from one track/region to another track — MIDI layering and doubling.' It distinguishes from siblings like copy_region_to_track by specifying notes, not regions, and by highlighting MIDI layering and doubling use cases.

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 provides concrete use cases (layer drums, harmony, echo, doubles) that tell when to use this tool. It doesn't explicitly mention alternatives or when not to use, but the use cases offer clear context for choosing this tool over similar operations.

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