Skip to main content
Glama

apply_midi_diatonic_chord_quality

Rebuild selected MIDI chords with diatonic qualities, functional harmony, inversions, and voicings. Plan changes first, then apply with confirmation.

Instructions

Plan or atomically apply guarded functional-harmony chord rebuilding with per-onset functions, recipes, inversions, voicing modes, slash basses, stable retained voices, and verified additions/removals.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYes
clipIdYesStable clip ID: track-N:clip-M from list_clips, or track-N:arrangement-clip-M from list_arrangement_clips for tools that support Arrangement clips.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
noteIdsYesUnique stable note IDs at complete chord onsets.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
chordSizeNoExact voicing recipe. Triad, seventh, and ninth stack thirds from Live's scale; suspended, added-tone, and dominant recipes use their named literal intervals, with tensions voiced above the chord.
chordSizesNoOne exact voicing recipe for each ordered onset.
inversionsNoOptional inversion steps for each ordered onset; zero keeps root position.
bassDegreesNoOptional Live scale degree for one added slash-bass voice below each ordered onset.
rootDegreesYesOne root degree from Live's current scale for each ordered onset.
voicingModesNoOptional deterministic voicing mode for each ordered onset.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
harmonicFunctionsNoOptional harmonic function for each ordered onset; secondary-dominant root degrees name tonicized targets.
expectedStateVersionYesExact stateVersion observed immediately before planning.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior4/5

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

The description adds significant behavioral context beyond the sparse annotations (readOnlyHint=false, destructiveHint=false). It discloses that the operation is guarded (requires expectedStateVersion), supports a planning mode (dryRun) and atomic application with confirmation tokens, and performs verified additions/removals. This goes beyond what annotations provide, though it could be clearer about what exactly gets modified.

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

Conciseness3/5

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

The description is a single dense sentence listing many features without clear structure or front-loading. It's not overly long but packs in technical jargon that makes it hard to parse quickly. It could be better organized with separate clauses or a clearer emphasis on the planning/apply workflow.

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

Completeness3/5

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

Given the tool's high complexity (15 parameters, planning vs. apply workflow), the description is somewhat thin. It doesn't explicitly explain the dryRun/confirmationToken flow that is central to using the tool correctly. The schema covers this, but the description should highlight it. It also doesn't mention return values, though no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 93%, so the input schema already documents parameters thoroughly. The description mentions concepts like inversions, voicing modes, and slash basses that map to parameters, but it doesn't add new semantics beyond what the schema descriptions already provide. It's adequate but doesn't compensate for any gaps.

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 clearly states the tool plans or applies chord rebuilding, which is a specific verb and resource. It mentions key features like per-onset functions, recipes, inversions, and voicing modes. However, it does not explicitly differentiate itself from its sibling plan_midi_diatonic_chord_quality, though it does mention 'Plan or atomically apply' which covers both modes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. It doesn't mention when to choose this over other chord tools like apply_midi_chord_inversion or plan_midi_diatonic_harmony. The description is purely declarative, leaving the agent to infer usage context.

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

Deploy Server

Other Tools