Skip to main content
Glama

ableton-mcp

License: MIT M8ven Score

Local-first Ableton Live control for MCP clients. It has three parts: a Remote Script bridge that runs inside Live, a stdio MCP server, and an ableton-mcp CLI. Every change to the Live Set is planned first and runs only with a single-use confirmation.

Install

Requirements: macOS, Ableton Live 12 (tested with 12.4.5), Node.js 22.13 or newer, and ffmpeg for the audio analysis tools.

git clone https://github.com/cavi-ai/ableton-mcp.git
cd ableton-mcp
npm ci
npm run cli -- install

In Live's preferences, select CaviMcpBridge as a Control Surface. Then check the connection:

npm run cli -- doctor --json

Related MCP server: ableton-agent-mcp

Quickstart

Register the stdio server with your MCP client, using the absolute path of your checkout:

{
  "mcpServers": {
    "ableton": {
      "command": "node",
      "args": ["/path/to/ableton-mcp/apps/ableton-mcp/src/cli.mjs", "serve"]
    }
  }
}

Or call tools from the shell:

npm run cli -- status --json
npm run cli -- call list_devices --args '{"trackId":"track-0"}' --json

To try client wiring without Live, run ABLETON_MCP_FIXTURE=1 npm start.

For a smaller initial tool catalog, set ABLETON_MCP_TOOL_PROFILE=core in the MCP server's environment. It advertises 60 common tools instead of the full catalog. Use the default all profile when an agent needs the complete MIDI, audio, rack, or snapshot toolset; restart the server after changing profiles. The CLI's direct call command remains independent of the discovery profile.

What it does

  • Reads: transport, tempo, key and scale, quantization, grooves, cue points, tracks, scenes, clips, notes, clip envelopes, devices and parameters, mixer and routing, rack hierarchies, and the Live browser.

  • Guarded mutations: track, scene and clip lifecycle, device loading and parameters, MIDI note editing, mixing and routing, undo and redo, and panic.

  • Music helpers: scale-aware chords, basslines, melodies, voicings, arpeggios, strums, drum patterns, humanization and velocity curves.

  • Audio analysis: loudness, true peak, spectrum, pitch, transients and tuning of local audio files.

  • Optional NKS preset catalog: search, tags and favorites for presets discovered from your plug-in libraries.

It publishes 221 tools, 9 concrete resources, 13 resource templates and 5 prompt templates. When Live's Remote Script API doesn't expose something, such as Arrangement automation, Group Track creation, or freezing, the tool reports that boundary and fails closed.

Documentation

Configuration

Variable

Default

Purpose

ABLETON_MCP_BRIDGE_SOCKET

/tmp/cavi-ableton-mcp.sock

Bridge socket. Read by both the bridge inside Live and the server.

ABLETON_MCP_CATALOG_PATH

unset

NKS catalog database for preset search.

ABLETON_MCP_BROWSER_METADATA_PATH

~/.cavi/ableton-mcp/browser-metadata.sqlite

Tags and favorites for Live browser items.

ABLETON_MCP_SPLICE_ROOTS

Existing macOS ~/Splice/Sounds and ~/Library/Splice/Plug-in/samples directories; otherwise []

Override with a JSON array of absolute local Splice folders. Set [] to disable discovery. Local cache files are not proof of a download license; cloud search and sync are not supported.

ABLETON_MCP_CONFIRMATION_DIR

~/.cavi/ableton-mcp/confirmations

Confirmation tokens for CLI call.

ABLETON_MCP_SNAPSHOT_DIR

~/.cavi/ableton-mcp/snapshots

Saved track, device-chain, group-system, and MIDI-feel snapshots in separate subdirectories.

ABLETON_MCP_FIXTURE

unset

1 makes npm start serve fixture data without Live.

ABLETON_MCP_TOOL_PROFILE

all

core advertises 60 common tools to reduce MCP discovery context; all advertises every tool.

Security

The bridge listens on a Unix domain socket and opens no TCP port. Live Set mutations require an observed state version, return a dry-run plan by default, and execute only with a 60-second, single-use token bound to the plan's hash. See the security model and SECURITY.md.

Tests

npm test
npm run eval:core
npm run verify:package

npm test runs the pipeline and server suites, the bridge's Python tests, and the docs tests. eval:core checks the compact MCP catalog and read-only tool behavior with MCP Eval. ImageMagick 7 (magick) and ffmpeg must be installed. verify:package packs the npm tarball, installs it into a temporary project, and drives the installed CLI and server.

Project status

Version 0.1.0 is released. Version 0.2.0 is in preparation. The tool surface can still change before 1.0.

Contributing

See CONTRIBUTING.md.

License

The code and the generic example artwork are MIT licensed. Third-party product names belong to their owners. No vendor artwork, logos or presets are included, and no endorsement is implied.

Available Tools

221 tools
add_audio_warp_markerA

Plan or apply an audio warp anchor. Omit sampleTime to preserve playback timing; explicit sample positions are seconds. Live enforces sample bounds, neighbor ordering, and segment BPM limits.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
beatTimeYesAnchor beat time.
planHashNoHash returned by the matching dry run.
sampleTimeNoOptional source position in seconds.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare non-destructive/non-idempotent/openWorld, so the safety profile is covered. The description adds real behavioral context beyond structure: explicit validation behavior ('Live enforces sample bounds, neighbor ordering, and segment BPM limits') and the unit convention for sample positions. It still doesn't describe the dry-run token lifecycle or what a plan returns, but the added constraints are substantive.

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?

Three short sentences, each load-bearing: operation, conditional parameter behavior, and validation constraints. Front-loaded with the verb and resource; no filler.

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?

For an 8-parameter mutation tool with no output schema, the description covers the operation model, the dry-run/apply split, and the key Live-side constraints. It stops short of clarifying prerequisites (e.g., the confirmationToken chain is documented only in the schema), but nothing critical is omitted.

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 description coverage is 100%, so the baseline is 3. The description adds little beyond the schema for individual parameters — the seconds unit is already stated in the sampleTime schema description — though 'omit sampleTime to preserve playback timing' gives mild semantic framing for that field.

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?

States a specific verb pair (plan/apply) and resource (audio warp anchor/marker), and the sibling set (move_audio_warp_marker, remove_audio_warp_marker, propose_audio_transient_warp) makes the distinct add operation easy to place. An agent can tell what this tool does without opening the schema.

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

Usage Guidelines3/5

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

It implies the plan-then-apply workflow and when to omit sampleTime ('preserve playback timing'), which is genuine usage context. However, it never names an alternative tool or states when to use this versus move/remove/propose warp operations, so routing remains inferential.

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

adjust_rack_macro_countA
Destructive

Plan or invoke one native add/remove macro action on an exact rack, then report the observed count. Removal is refused while any macro mapping exists because Live does not expose the affected mapping target.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesOne native macro-count adjustment.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (destructive, non-idempotent, open-world), so the bar is lower. The description adds a real behavioral constraint that annotations cannot express: the remove action is blocked while macro mappings exist because the mapping target is not exposed, and it reports the observed count after acting.

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?

Two tight sentences that front-load the capability and then the removal guard. Slightly dense prose ('one native add/remove macro action on an exact rack') costs it a point, but nothing is wasted.

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?

For a mutating, non-idempotent tool with no output schema, the description covers the action scope, the destructive-path refusal, and the report-back behavior, with annotations carrying safety. Remaining gaps (pagination/return shape) are minor since it explicitly says it reports the observed count.

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 description coverage is 100%, so dryRun/confirmationToken/planHash/expectedStateVersion are all already documented in the schema. The description adds the notion of 'exact rack' and the plan-vs-invoke duality but no syntax or format detail beyond the schema, so the baseline 3 is appropriate.

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?

Names a specific verb pair (plan/add/remove) plus the exact resource (one native macro action on an exact rack) and states the outcome (report the observed count). This is clearly separable from siblings like map_rack_macro_to_parameter and rename_rack_macro without opening either schema.

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?

Gives a concrete precondition for the destructive path: removal is refused while any macro mapping exists, with the reason (Live does not expose the affected mapping target). It does not explicitly route the agent away from sibling tools, but the when-to-use context is clear.

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

analyze_audio_clipA
Read-onlyIdempotent

Measure an exact Session or Arrangement audio clip's local source file over a bounded window, optionally grouping pitch frames into approximate note events. An explicit target note yields a review-only absolute clip-pitch proposal accounting for current pitch settings when the source window is stable and monophonic. No edit or correction of changing notes. Loudness measures the source stream; channel selection applies to optional analyses. Not rendered clip or track audio.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
channelIndexNoZero-based source channel for waveform, spectrum, spectrogram and pitch; defaults to zero.
includePitchNoEstimate selected-channel monophonic pitch with overlapping 256-ms frames across the window; not pitch correction.
startSecondsNoSource window start.
targetMidiNoteNoMeasure monophonic cents deviation against this explicit MIDI note at A4=440 Hz; enables pitch analysis, not pitch correction.
durationSecondsNoSource window duration, defaults to 10 seconds.
includeSpectrumNoInclude one selected-channel 4096-sample spectral frame.
includeWaveformNoInclude up to 1024 contiguous selected-channel min/max/RMS waveform buckets at 48 kHz.
includeTransientsNoFind selected-channel source-audio onset candidates at 10-ms resolution; not Live warp/slice markers.
includePitchEventsNoGroup selected-channel monophonic pitch frames into approximate note events for review; no correction.
includeSpectrogramNoInclude up to 64 selected-channel spectral frames at 48 kHz.
includeResonanceCandidatesNoReport heuristic persistent narrow spectral features across at least four sampled frames; not confirmed resonances or automatic EQ advice.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond that: the target-note output is a 'review-only absolute clip-pitch proposal,' it accounts for 'current pitch settings,' it is bounded in duration, and it operates on source rather than rendered audio. It does not describe return format or limits like the 60s window cap, but the annotation bar is already met.

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?

Front-loads the core operation on the source file over a bounded window, then layers scope limits and exclusions. Sentences are dense but each carries distinct information; the phrasing is slightly compressed to the point of opacity in places, but nothing is wasted.

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?

With no output schema and 13 parameters, the description does the necessary work of scoping source-vs-rendered audio and defining the monophonic/stable precondition for the pitch proposal. It leaves the multi-flag analysis outputs (spectrogram, transients, resonance) to the schema, which is acceptable given full coverage.

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 description coverage is 100%, so all 13 parameters are documented in structured data, setting the baseline at 3. The description reinforces semantics for targetMidiNote (a proposal, not correction), channel selection, and pitch-event grouping, but adds little syntax or defaults beyond what the schema already states.

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?

States a specific verb+resource+scope: 'Measure an exact Session or Arrangement audio clip's local source file over a bounded window.' It explicitly distinguishes itself from adjacent capabilities with 'Not rendered clip or track audio' and 'No edit or correction,' so an agent can separate it from analyze_audio_file and the various mutation tools.

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?

Clear conditions are given for the pitch path ('when the source window is stable and monophonic') and scope exclusions ('Loudness measures the source stream; channel selection applies to optional analyses'). However, it never names a concrete alternative tool (e.g., analyze_audio_file) to route between, so it stops short of explicit when-vs-which guidance.

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

analyze_audio_fileA
Read-onlyIdempotent

Measure local source audio loudness, true peak, format, optional spectral peaks, spectrogram, monophonic pitch and approximate note events. An explicit target note also yields a review-only whole-clip offset proposal for stable monophonic source windows; it never edits or corrects changing notes. Loudness measures the source stream; channel selection applies to optional analyses. Not Live processing or pitch correction. Requires ffmpeg and ffprobe.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourcePathYesAbsolute local audio file.
channelIndexNoZero-based source channel for waveform, spectrum, spectrogram and pitch; defaults to zero.
includePitchNoEstimate selected-channel monophonic pitch with overlapping 256-ms frames across the window; requires at least 256 ms.
startSecondsNoWindow start.
targetMidiNoteNoMeasure monophonic cents deviation against this explicit MIDI note at A4=440 Hz; enables pitch analysis, not pitch correction.
durationSecondsNoWindow duration, defaults to 10 seconds.
includeSpectrumNoInclude one 4096-sample spectral frame at the window start.
includeWaveformNoInclude up to 1024 contiguous selected-channel min/max/RMS waveform buckets at 48 kHz.
includeTransientsNoFind selected-channel source-audio onset candidates at 10-ms resolution; not Live warp/slice markers.
includePitchEventsNoGroup selected-channel monophonic pitch frames into approximate note events for review; no correction.
includeSpectrogramNoInclude up to 64 time-resolved spectral frames, resampled to 48 kHz.
includeResonanceCandidatesNoReport heuristic persistent narrow spectral features across at least four sampled frames; not confirmed resonances or automatic EQ advice.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description adds real context beyond them: the dependency on ffmpeg/ffprobe, that the target-note result is a 'review-only whole-clip offset proposal' that 'never edits or corrects', and that it only applies to stable monophonic windows. It does not disclose cost, runtime, or failure modes on unsupported formats.

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?

Front-loaded with the core verb and measurement list, and nearly every clause carries information (scope, exclusions, prerequisites). It is dense but a few parenthetical qualifiers could be trimmed without loss.

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?

For a 12-parameter analysis tool with no output schema, the description reasonably covers what is measured, the source-stream vs channel split, the windowing default, and the prerequisite tooling. It stops short of describing the returned structure, which matters since no output schema exists, but the enumeration of analyses largely substitutes for that.

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 description coverage is 100%, so the schema already carries per-parameter meaning (frames, bucket counts, defaults, window limits). The description adds only marginal semantics, mainly clarifying that channelIndex affects optional analyses rather than the loudness measurement. Baseline 3 is appropriate.

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?

States a specific verb+resource ('Measure local source audio') and enumerates the distinct measurements: loudness, true peak, format, plus optional spectral/pitch/transient analyses. It distinguishes itself from Live processing and pitch correction, though it never names its closest sibling analyze_audio_clip, so an agent must infer the source-file vs clip distinction.

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?

Provides useful when-not guidance ('Not Live processing or pitch correction') and an explicit prerequisite ('Requires ffmpeg and ffprobe'). It also clarifies scoping rules ('Loudness measures the source stream; channel selection applies to optional analyses'), but gives no explicit routing between this tool and analyze_audio_clip or the other audio-analysis siblings.

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

analyze_midi_clip_chordsA
Read-onlyIdempotent

Analyze sustained-note-aware chord events in one exact MIDI clip against the current Live key and scale. Returns deterministic chord candidates, inversions, Roman-numeral function, ambiguity, and chromatic pitch classes without editing notes. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral detail beyond that: sustained-note awareness, deterministic output, and a concrete enumeration of returned artifacts (candidates, inversions, Roman-numeral function, ambiguity, chromatic pitch classes).

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?

Two tight sentences with the core verb and scope front-loaded. The trailing 'Read-only' mildly duplicates the readOnlyHint annotation, but the description is otherwise free of waste.

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?

With no output schema, the description usefully enumerates what is returned. Combined with the two fully documented params and annotation-covered safety profile, an agent has enough to invoke it correctly, though the lack of sibling differentiation leaves a small gap.

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 description coverage is 100%, so both parameters (trackId, clipId) are already documented in the schema. The description adds no syntax or usage detail for them, so the baseline 3 for full schema coverage is appropriate.

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?

Specific verb (Analyze) plus resource (sustained-note-aware chord events in one exact MIDI clip) and scope (against current Live key and scale). It implicitly distinguishes itself from analyze_midi_clip_scale by naming 'chord events', but never explicitly names or contrasts that sibling.

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 when-to-use, when-not-to-use, or alternative routing is given. The 'against the current Live key and scale' phrase supplies context for the operation but not selection guidance, and the very close sibling analyze_midi_clip_scale is left unaddressed.

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

analyze_midi_clip_scaleA
Read-onlyIdempotent

Analyze one exact MIDI clip against the current Live key and scale. Returns per-note pitch names, scale degrees, chromatic note IDs, and bounded nearest in-scale correction candidates without editing notes. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral detail by specifying the exact return contents (pitch names, scale degrees, chromatic note IDs, bounded correction candidates) and reaffirms that no editing occurs. It does not cover error handling or performance, but adds substantial context beyond annotations.

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 three tight sentences, front-loading the core action, then detailing returns, and closing with a read-only reminder. Every sentence contributes useful information with no wasted words.

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?

Given two required parameters, 100% schema coverage, and no output schema, the description adequately explains the purpose and return values. It could be more complete by noting prerequisites (e.g., current Live key/scale must be set) or how it relates to sibling analysis tools, but it is sufficient for correct invocation.

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 description coverage is 100%, and the schema already documents both trackId and clipId with clear descriptions. The tool description adds no additional parameter semantics, such as format constraints or interaction between parameters, so the baseline of 3 is appropriate.

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?

States a specific verb ('Analyze') and resource ('one exact MIDI clip against the current Live key and scale'), and clarifies it does not edit notes, which distinguishes it from editing siblings like correct_midi_clip_to_scale. However, it does not explicitly differentiate from the analyzing sibling analyze_midi_clip_chords.

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 explicit guidance on when to use this tool versus alternatives is provided. The description implies its purpose but does not mention related tools such as analyze_midi_clip_chords or get_midi_clip_notes, nor does it state prerequisites or exclusions.

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

analyze_midi_feelA
Read-onlyIdempotent

Measure stored MIDI note timing offsets and velocity accents by straight-sixteenth, eighth-triplet, or sixteenth-triplet slot over one to eight bars in the clip's meter. Read-only; reports any assigned native groove but cannot measure its playback effect or extract a Live Groove Pool pattern.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsNoNumber of clip-meter bars in the repeating analysis cycle; defaults to one.
gridYes
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.
trackIdYesStable track ID returned by list_tracks.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/non-destructive, so safety is covered. The description adds scope transparency beyond that: it discloses the groove limitation and that the measurement is over stored note data, not playback. It stops short of describing return shape or handling of empty clips.

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?

Two sentences, front-loaded with the measurement action, then the constraint. No filler or redundant restatement of the name.

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?

With no output schema, the description carries more burden, and it adequately conveys what is analyzed, at what resolution, and the known limitation. An agent could still want clarity on result shape or empty/degenerate clip behavior, but nothing prevents a correct invocation.

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 75%, so the baseline is 3. The description adds meaning beyond the schema by spelling out the three grid slots (straight16, eighthTriplet, sixteenthTriplet) and the one-to-eight-bar cycle, giving semantic context the enum alone lacks. trackId/clipId remain undocumented in the description.

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?

States a specific verb and resource: 'Measure stored MIDI note timing offsets and velocity accents' against named grid slots over a bounded bar range. This is clearly distinguishable from sibling analyzers like analyze_midi_clip_scale and analyze_midi_clip_chords, which address pitch content rather than timing/velocity feel.

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?

Gives a real boundary condition: it reports an assigned native groove but 'cannot measure its playback effect or extract a Live Groove Pool pattern.' That implies when-not-to-use, but no alternative tool is named (e.g. a groove-pool extraction tool), so routing still requires inference.

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

apply_drum_variationC

Plan or apply a guarded deterministic drum variation with exact native context and complete note readback.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsYes
fillNo
gridYes
seedYesDeterministic variation seed.
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
startBarYes
laneNotesYesUnique drum pitches to humanize.
timingAmountYesMaximum timing movement as a fraction of the selected grid step.
velocityAmountYesMaximum velocity movement.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.
preserveAccentsAboveYesRequired threshold; do not alter velocity at or above it.

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare write, open-world, non-idempotent, and non-destructive traits. The description adds 'guarded deterministic', 'exact native context', and 'complete note readback', which are useful behavioral signals but remain vague.

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?

A single front-loaded sentence with little waste, but it is arguably too terse for a 15-parameter guarded workflow and does not separate plan versus apply behavior.

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

Completeness2/5

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

For a complex mutation tool with a nested fill object, 11 required parameters, and no output schema, the description omits the dry-run/apply workflow, confirmation token, return shape, and key parameter semantics.

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 description coverage is 73% and many parameters are documented in the schema, but the description adds no parameter-specific meaning beyond broad terms like deterministic and native context.

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

Purpose3/5

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

States plan/apply a drum variation with descriptive modifiers, but 'variation' is opaque and the description does not distinguish it from sibling plan_drum_variation despite overlapping 'plan' wording.

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 when-to-use or when-not guidance is given, and it does not mention alternatives such as plan_drum_variation or explain the dry-run versus confirmation-token workflow.

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

apply_midi_chord_arpeggiationB

Plan or apply guarded chord arpeggiation with stable native note IDs and complete readback verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
gateYesNote duration as a fraction of stepBeats.
modeYesPitch traversal order for each complete chord onset.
seedYesDeterministic seed used by random mode.
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.
stepBeatsYesSpacing between arpeggiated notes in beats.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description usefully adds 'guarded' (confirmation workflow) and 'complete readback verification' (it validates the result), which go beyond the annotations. It does not explain whether existing notes are replaced or preserved, how expectedStateVersion conflicts behave, or the single-use nature of the token, so it remains mid-tier.

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?

A single front-loaded sentence with zero filler; the core operation ('chord arpeggiation') comes first and every qualifier earns its place. Nothing is redundant or padded.

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

Completeness2/5

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

This is a high-complexity mutation tool with 11 parameters, a multi-step dry-run/confirmation/plan-hash workflow, and no output schema. The description mentions 'guarded' and 'readback verification' but never explains the plan → confirm → apply sequence, the role of expectedStateVersion, or what a caller must do before applying. For a tool of this complexity the description is too thin to guide correct invocation.

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 description coverage is 100%, so every one of the 11 parameters already carries its own documentation (gate, mode, seed, dryRun, confirmationToken, planHash, expectedStateVersion, etc.). The description only echoes 'stable native note IDs', adding no syntax or format detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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 states a specific verb+resource ('chord arpeggiation') and adds qualifiers (guarded, stable native note IDs, readback verification) that make the operation recognizable. However, it never distinguishes itself from the sibling 'plan_midi_chord_arpeggiation', and 'Plan or apply' leaves the reader unsure whether this is the planning tool or the mutating tool. Clear purpose but no sibling differentiation.

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

Usage Guidelines3/5

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

The phrase 'Plan or apply' implies a two-phase dry-run-then-commit workflow, and 'guarded' hints at the confirmation-token guardrail, so usage is weakly implied. But there is no explicit statement of when to call this versus 'plan_midi_chord_arpeggiation', nor any prerequisite guidance (e.g., needing a prior dry run, or that the note IDs must be existing chord onsets). No exclusions are given.

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

apply_midi_chord_doublingB

Plan or apply guarded chord doublings while preserving existing notes and verifying every native addition.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesAdd the lowest voice down an octave, highest voice up an octave, or both outer voices.
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.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare non-read-only, non-idempotent, and non-destructive. The description adds useful behavioral context beyond them: changes are 'guarded', existing notes are preserved, and every native addition is verified. It does not explain the confirmation-token gate or state-version requirement in prose, so the additions are meaningful but partial.

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?

A single front-loaded sentence that is dense but earns its words by conveying plan/apply duality, guarding, preservation, and verification. No filler or repetition.

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?

For a non-idempotent mutation tool with eight parameters and no output schema, the description covers intent and safety posture, and the schema covers parameters. It omits the dry-run/confirmation workflow and what a plan returns, leaving some gaps an agent would need to reconstruct from structured fields.

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 description coverage is 100%, so the schema already documents all eight parameters (mode enums, dryRun semantics, planHash, confirmationToken, expectedStateVersion). The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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?

States a specific verb and resource: it produces chord doublings (octave doubling) and can either plan or apply them. It does not explicitly distinguish itself from the sibling plan_midi_chord_doubling, so an agent must infer the plan/apply split from 'Plan or apply' plus the dryRun parameter.

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 explicit when-to-use, when-not, or alternative selection is given despite a directly competing plan_midi_chord_doubling sibling. The dry-run-then-apply workflow is only inferable from the schema's dryRun/confirmationToken fields, not stated in the description.

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

apply_midi_chord_inversionB

Plan or apply guarded chord inversions with complete native note readback verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsYesNumber of chord tones to rotate at each selected onset.
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.
directionYesRotate the lowest notes upward or highest notes downward by one octave.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: chord inversions are 'guarded' and results are confirmed via 'complete native note readback verification,' which tells the agent mutations are re-validated. It does not disclose permission needs, failure/rejection behavior, or what a stateVersion mismatch does for a 9-parameter 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?

A single front-loaded sentence with no filler, opening on the action verb. It is efficiently sized, though arguably too terse to carry any operational detail for a 9-parameter tool.

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?

With 100% schema coverage and no output schema, most of the operational contract lives in the schema, so the description is minimally complete. But the 'guarded' plan-then-confirm workflow across dryRun/planHash/confirmationToken and the expectedStateVersion staleness check are never described at a level that helps an agent sequence the calls.

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 description coverage is 100%, so the schema already documents all 9 parameters including dryRun, planHash and confirmationToken. The description adds essentially nothing parameter-specific, so the baseline 3 for a high-coverage schema applies.

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?

States a specific verb and resource ('Plan or apply guarded chord inversions') so the agent knows the operation. However, it does not distinguish itself from the sibling plan_midi_chord_inversion, which appears to cover the planning half of the same workflow, leaving the 'or' to be inferred from the dryRun parameter rather than the text.

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?

The description offers no when-to-use guidance, no exclusions, and no routing to alternatives such as plan_midi_chord_inversion or apply_midi_chord_arpeggiation. 'Plan or apply' hints at two modes but never states which conditions select each one; that inference is left entirely to the schema.

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

apply_midi_chord_voice_leadingA

Plan or apply guarded chord voice leading with complete native note readback verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesLead every voice by octave or keep each chord's current bass fixed.
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 across complete ordered chord onsets.
trackIdYesStable track ID returned by list_tracks.
maxPitchYes
minPitchYes
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations only declare generic flags (not read-only, not destructive, not idempotent, open-world). The description adds meaningful behavior beyond them: 'guarded' signals a confirmation/plan-hash gate, and 'complete native note readback verification' discloses a post-write verification step. It still doesn't explain what is mutated or the plan→confirm sequence.

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?

A single front-loaded sentence with no filler. It is appropriately sized, though it compresses two distinct behaviors (plan and apply) into one clause without elaboration.

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?

No output schema exists and there are 10 parameters including a state-version/token workflow. The description gestures at the guard and verification but does not explain the required dry-run-then-apply sequencing or what readback verification returns, leaving gaps for a complex mutation tool.

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 description coverage is 80%, so the schema already documents mode, dryRun, confirmationToken, planHash, expectedStateVersion, and noteIds. The description adds no parameter-level meaning beyond that, making the baseline 3 appropriate.

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 names a specific verb+resource: 'chord voice leading' with a plan/apply duality. It is clear what the tool does, though it never names the sibling plan_midi_chord_voice_leading and instead folds the planning case into the same tool via dryRun, which slightly muddies the plan-vs-apply distinction.

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

Usage Guidelines3/5

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

'Plan or apply' implies the mode selection is driven by dryRun, and 'guarded' hints at the confirmation workflow, but the description gives no explicit when-to-use/when-not or reference to the alternative planning tools among the many siblings. Usage must be inferred from the schema.

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

apply_midi_diatonic_chord_qualityA

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.

ParametersJSON 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.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds important behavioral context beyond annotations: the operation is 'guarded' and 'atomic', retains 'stable voices', and performs 'verified additions/removals'. This tells the agent it is a controlled mutation rather than an unchecked bulk edit.

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 definition is a single front-loaded sentence with no filler. It packs many parallel capabilities into a compact statement, though the density makes it slightly run-on. Every clause contributes a distinct capability.

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?

Given high schema coverage and rich annotations, the description provides enough high-level context for an agent to understand the tool's role. It does not explain the two-step dry-run/apply workflow or expectedStateVersion requirements, but those are documented in the schema parameters. No output schema exists, so return-value explanation is not required.

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 description coverage is 93%, so the schema already documents nearly every parameter in detail. The description summarizes parameter concepts (recipes, inversions, voicing modes, slash basses) but adds no syntax, format, or constraint details beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.

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 states a specific verb-resource pair: planning or atomically applying functional-harmony chord rebuilding. It enumerates concrete features (per-onset functions, recipes, inversions, voicing modes, slash basses) that distinguish it from generic MIDI tools. It does not explicitly name its sibling plan_midi_diatonic_chord_quality, but the apply/plan framing makes the scope clear.

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

Usage Guidelines3/5

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

The phrase 'Plan or atomically apply' implies the dryRun workflow, but the description never states when to use this tool versus plan_midi_diatonic_chord_quality or other chord tools. It gives no explicit when-not conditions or alternative recommendations. Usage is only inferable from the parameter schema and annotations.

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

apply_midi_diatonic_harmonyB

Plan or apply guarded scale-aware harmony additions while preserving source notes and expression.

ParametersJSON Schema
NameRequiredDescriptionDefault
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 in-scale source note IDs.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
degreeOffsetsYesUnique signed non-zero scale-degree offsets for added harmony voices.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=false, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds useful context beyond that: it preserves source notes and expression (i.e., adds voices rather than mutating originals) and 'guarded' implies the plan/confirm flow, but it does not mention the confirmationToken or planHash requirement that governs the real write.

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?

A single tight sentence with the core action front-loaded and no wasted clauses. The word 'guarded' is slightly opaque jargon, which keeps it just short of ideal.

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?

For an eight-parameter, non-idempotent write tool, the description is thin. It conveys the musical intent and that source notes are preserved, and the schema plus annotations fill in the mechanical details, but the two-phase plan/apply workflow and the meaning of 'guarded' are never explained in prose.

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 description coverage is 100%, so all eight parameters (including degreeOffsets, dryRun, confirmationToken, expectedStateVersion) are already documented in the schema. The description adds no parameter-level detail beyond what the schema provides, so the baseline 3 applies.

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 states a specific verb pair (plan/apply) and resource (scale-aware harmony additions), which is more informative than a bare name restatement. It does not, however, name or contrast with the closely related siblings (plan_midi_diatonic_harmony, apply_midi_diatonic_transposition), so an agent cannot fully disambiguate from the text alone.

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?

There is no explicit when-to-use or when-not-to-use guidance. The description says 'Plan or apply' but never explains the relationship to the sibling plan_midi_diatonic_harmony tool or when to prefer each, leaving routing to inference from the schema's dryRun field.

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

apply_midi_diatonic_transpositionB

Plan or apply guarded scale-degree MIDI transposition bound to Live's current key and scale.

ParametersJSON Schema
NameRequiredDescriptionDefault
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 in-scale note IDs to transpose.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
scaleStepsYesSigned non-zero movement in degrees of Live's current scale.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare the safety profile (not read-only, non-idempotent, non-destructive, open-world). The description adds genuinely useful context that the operation is 'guarded' and depends on Live's current key/scale, but it does not spell out what the guard is, that notes are actually rewritten, or that the result varies with external musical state.

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?

A single front-loaded sentence with no waste and the core scope stated immediately. It is arguably too terse for an 8-parameter mutation tool, but every word earns its place.

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?

For a guarded, non-idempotent MIDI mutation with 8 parameters and no output schema, the description leaves the two-phase plan/apply lifecycle and the effect on note data entirely to the schema. Adequate but with clear gaps an agent must infer.

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 description coverage is 100%, so all eight parameters (including dryRun, planHash, confirmationToken, scaleSteps) are documented in the schema itself. The description's references to 'scale-degree' movement and the current key/scale corroborate scaleSteps and the global-state dependency but add no syntax or format detail beyond the schema.

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?

States a specific verb (transpose) and resource (MIDI notes) with two distinguishing qualifiers: 'scale-degree' and 'bound to Live's current key and scale'. This separates it from the sibling chromatic apply_midi_transposition without needing to open the schema, though it never names that sibling explicitly.

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

Usage Guidelines3/5

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

'Plan or apply' hints at the two-phase dry-run/confirm workflow, and 'guarded' implies a safety gate, but the conditions for choosing plan vs apply are only encoded in the dryRun/confirmationToken schema fields, not stated here. No guidance on when to prefer this over apply_midi_transposition or plan_midi_diatonic_transposition.

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

apply_midi_drop_voicingB

Plan or apply guarded chord drop voicings with complete native note readback verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesTraditional upper-voice octave drop applied independently at each onset.
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.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare a non-read-only, non-idempotent, non-destructive mutation. The description adds that results are 'guarded' and verified via 'complete native note readback', hinting at safety behavior, but never explains what 'guarded' means (state-version guard, confirmation token) or what gets modified. Modest value beyond 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?

A single front-loaded sentence with no filler. It is efficiently sized, though 'guarded' is a vague qualifier that does not fully earn its place without explanation.

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?

For an 8-parameter, five-required mutation tool with multiple voicing/mutation siblings, the description is thin: it omits the plan-then-apply confirmation workflow this tool clearly supports and gives no differentiation from plan_midi_drop_voicing. The 100% schema coverage and annotations carry most of the load, keeping it merely adequate.

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 description coverage is 100%, so all eight parameters including mode, dryRun, planHash and confirmationToken are self-documented. The description adds no parameter meaning, so the baseline 3 applies.

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?

States a specific verb and resource (apply chord drop voicings) plus a distinctive trait (guarded, note readback verification), so an agent knows what it does. However, it does not distinguish itself from the sibling plan_midi_drop_voicing, and the 'Plan or apply' phrasing blurs the plan/apply boundary.

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

Usage Guidelines3/5

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

The 'Plan or apply' wording implies dual-mode usage and the schema's dryRun param clarifies the plan/apply split, but the description never says when to use this tool versus plan_midi_drop_voicing or other voicing siblings. Guidance is inferable only from structured fields, not stated.

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

apply_midi_feel_templateA

Plan or transfer a stored-MIDI feel template or measured source-audio feel summary onto exact target note IDs. MIDI templates support timing and velocity blends; audio feel is timing-only and requires velocityAmount zero because audio strength is not MIDI velocity. Preserves note IDs, durations and expression metadata through guarded per-note edits. Rejects a target with an assigned native groove; this is not Live Groove Pool baking.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
noteIdsNoOptional exact target note IDs; omit to transfer to all notes at populated slots.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
templateYes
timingAmountYesBlend toward template timing; zero preserves each target start.
velocityAmountYesBlend toward template mean velocity; zero preserves each target velocity.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and destructiveHint=false but the description adds valuable behavior: guarded per-note edits that preserve note IDs, durations and expression metadata, the dry-run/plan-vs-transfer workflow, and the rejection of groove-assigned targets. It does not cover permissions or the confirmation-token lifecycle in depth.

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?

Four compact sentences, each earning its place, with the core purpose front-loaded. Slightly dense but no filler.

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?

For a 10-parameter tool with nested template objects and no output schema, the description covers the key behavioral constraints (planning vs applying, audio-vs-MIDI limits, preservation guarantees, groove rejection). It could say more about the expectedStateVersion/planHash flow, but the essentials are present.

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 already 90%, so baseline is 3, but the description adds non-obvious semantics tying template type to parameter values (audio feel requires velocityAmount zero because audio strength is not MIDI velocity) and clarifies timingAmount/velocityAmount as blend amounts.

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?

States a specific verb (plan or transfer) and resource (a stored-MIDI feel template or measured audio feel summary) applied to exact target note IDs. It explicitly distinguishes itself from Live Groove Pool baking and implies its relationship to save/load/analyze feel-template siblings.

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?

Gives clear when-to-use conditions: MIDI templates support timing+velocity blends, while audio feel is timing-only and forces velocityAmount zero. It also states a rejection condition (target with an assigned native groove). It stops short of naming alternative tools to use instead.

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

apply_midi_gate_patternB

Plan or apply guarded MIDI gate durations while preserving onset, pitch, velocity, probability, and expression metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
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 selected onsets.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
gridBeatsYesReference grid step in beats, including fractional triplet values.
gateRatiosYesExplicit repeating gate ratios by ordered onset.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true). The description adds real value by promising that onset, pitch, velocity, probability and expression metadata are preserved, i.e. only gate durations change, and the word 'guarded' hints at the dry-run/token safety gate. It does not state reversibility, state-version conflicts, or failure behavior beyond what the schema's confirmationToken/dryRun fields imply.

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?

A single front-loaded sentence with no filler, putting the verb and resource first and the preservation guarantee second. It is dense but every clause carries information; the only mild cost is that the attribute-preservation list makes the sentence long.

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?

For a 9-parameter mutation tool with a fully documented schema and annotations covering the safety profile, the description is adequate but incomplete: it never resolves the overlap with plan_midi_gate_pattern despite the name implying apply-only, and it omits how the plan-hash/confirmation-token workflow invalidates on state change.

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 description coverage is 100%, so every parameter including dryRun, planHash, confirmationToken and expectedStateVersion is already documented. The description adds only the general notion of 'gate durations' and does not clarify semantics such as how gateRatios map to ordered noteIds or how gridBeats interacts with them; baseline 3 applies.

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?

States a specific verb ('plan or apply') and resource ('MIDI gate durations') and further scopes it by naming the attributes preserved. It is distinguishable from siblings like apply_midi_velocity_curve or apply_midi_ratchet_pattern, though it never names its closest sibling plan_midi_gate_pattern, whose relationship is left implicit.

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 when-to-use guidance is given. The description does not explain when to use this dual plan/apply tool versus the dedicated plan_midi_gate_pattern sibling, nor when to omit dryRun versus pass false, nor any preconditions. Everything about invocation flow has to be inferred from the schema.

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

apply_midi_probability_patternB

Plan or apply guarded MIDI playback probabilities while preserving pitch, timing, velocity, mute, and expression metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
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 selected onsets.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
probabilitiesYesExplicit repeating probabilities from 0 to 1.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds useful context by saying the operation is 'guarded' and preserves pitch, timing, velocity, mute, and expression metadata, but it does not explain the guarded confirmation flow or idempotency implications beyond what annotations imply.

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 a single front-loaded sentence with zero wasted words. It efficiently covers the tool's dual purpose and its preservation guarantees.

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?

For an 8-parameter tool with a two-step guarded workflow, expected state versioning, and no output schema, the one-sentence description is thin. The schema covers parameter details fully, so an agent can reconstruct the workflow, but the description itself does not explain the plan/apply flow or the role of state versions.

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 description coverage is 100%, so all 8 parameters are fully documented in the input schema, including dryRun, planHash, confirmationToken, and expectedStateVersion. The description adds no parameter syntax or meaning beyond what the schema already provides, making the baseline 3 appropriate.

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 states a specific verb ('plan or apply') and resource ('guarded MIDI playback probabilities') with a clear preservation scope. It does not explicitly name or differentiate from the sibling plan_midi_probability_pattern, though the dual-mode wording hints at the relationship. An agent can tell what the tool does, but sibling routing is left implicit.

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?

The description provides no when-to-use guidance, no conditions for choosing between planning and applying, and no mention of alternatives such as the plan-only sibling. Any usage workflow must be inferred entirely from schema parameters like dryRun and confirmationToken.

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

apply_midi_ratchet_patternB

Plan or apply guarded MIDI ratchets while preserving velocity, probability, mute, release velocity, and velocity deviation.

ParametersJSON Schema
NameRequiredDescriptionDefault
gateYesEach repeated note's duration as a fraction of its subdivision.
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 selected onsets.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
spanBeatsYesTotal beat span occupied by every selected onset's repeats.
repeatCountsYesRepeating ratchet count by ordered onset; 3 creates an exact triplet inside spanBeats.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is largely covered. The description adds useful preservation semantics for velocity, probability, mute, release velocity, and velocity deviation, but omits mutation guardrails, token requirements, and version-check behavior.

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?

It is a single, front-loaded sentence with no wasted text. However, the term 'guarded' is undefined and the sentence carries little operational detail.

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

Completeness2/5

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

This is a complex tool with 10 parameters, 7 required fields, no output schema, and a dryRun/planHash/confirmationToken two-step workflow. The description omits the guarded apply workflow, token handling, and expectedStateVersion semantics, leaving significant gaps for correct invocation.

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 description coverage is 100%, so every parameter is documented in the schema itself. The description does not add syntax or workflow meaning beyond what the schema provides, so baseline 3 is appropriate.

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?

States a specific verb and resource: planning/applying MIDI ratchets. The phrase 'Plan or apply' is informative, but it does not explicitly distinguish this tool from the sibling plan_midi_ratchet_pattern or from other apply_midi_* tools.

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?

The description gives no when-to-use guidance, no conditions for choosing plan vs apply, and no mention of the dryRun/confirmation-token workflow. It does not name the sibling plan_midi_ratchet_pattern or say when this tool is preferable.

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

apply_midi_scale_chord_remappingA

Plan or apply guarded scale-aware chord remapping with optional bass voice leading and complete native readback.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesAnchor each chord near its source register or each later chord near the previous remapped bass.
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.
targetDegreesYesOne target Live scale degree for each ordered chord onset.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already establish a non-readonly, non-idempotent, non-destructive, open-world mutation. The description adds genuinely useful context beyond that: the operation is 'guarded' (confirming the dry-run/confirmation-token gating) and provides 'complete native readback', which is valuable since there is no output schema. It does not, however, detail reversibility or stateVersion consequences.

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?

A single front-loaded sentence with no waste, covering the plan/apply duality and the key behavioral traits. It is dense and jargon-heavy ('complete native readback') but not padded.

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?

For a 9-parameter mutation with a confirmation-token guard and no output schema, the description is minimal. The readback hint and 'guarded' note help, but the dry-run/confirm workflow and interaction with expectedStateVersion are left entirely to the schema, so it is only adequately complete.

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 description coverage is 100%, so the parameters are already documented (including mode, dryRun, confirmationToken, planHash). The description echoes 'optional bass voice leading' (mode=voice_leading) but adds no syntax or format detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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?

States a specific verb pair (plan/apply) and resource (scale-aware chord remapping) with scope details (guarded, optional bass voice leading). It is clear what the tool does, though it never explicitly names the sibling plan_midi_scale_chord_remapping to explain the difference between this and the pure planner.

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

Usage Guidelines3/5

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

'Plan or apply' implies the dryRun branching, so usage is somewhat inferable, but there is no explicit when-to-use/when-not guidance and no mention of the alternative planning tools (plan_midi_scale_chord_remapping, plan_midi_chord_voice_leading) the agent should consider first.

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

apply_midi_strum_patternB

Plan or apply guarded chord strumming while preserving pitch, velocity, probability, mute, release velocity, and velocity deviation.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
directionYesPitch order for each chord; alternating starts upward and reverses on each following onset.
spreadBeatsYesTotal beat distance from the first to last attack in each chord.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare the write/guard profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false). The description adds real value beyond that by stating what is preserved (pitch, velocity, probability, mute, release velocity, velocity deviation) and that the operation is 'guarded', telling the agent the mutation is scoped to onset timing rather than note content.

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?

A single efficient sentence with the core action front-loaded and no filler. It earns its place, though 'Plan or apply' is slightly ambiguous phrasing that could be tightened.

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?

With 9 parameters, no output schema, and annotations present, the description covers purpose and preservation semantics but leaves the plan-vs-apply route to sibling tools and the guard/confirmation workflow entirely to the schema. Adequate but with a clear routing gap given the near-identical plan_midi_strum_pattern sibling.

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 description coverage is 100%, so every parameter (including the dryRun/confirmationToken/planHash guard flow and direction/spreadBeats semantics) is already documented in the schema. The description adds no parameter-level detail beyond the schema baseline.

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?

Names a specific verb+resource (apply chord strumming) and the guarded plan/apply duality. However, it does not differentiate itself from the sibling plan_midi_strum_pattern, so an agent must still infer which of the two strum tools to pick.

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?

The description says nothing about when to choose this tool over plan_midi_strum_pattern, apply_midi_chord_arpeggiation, or the other apply_* MIDI tools. The plan-vs-apply distinction is only hinted at via the dryRun parameter in the schema, with no explicit guidance in the description.

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

apply_midi_transpositionB

Plan or apply guarded chromatic MIDI transposition with complete native readback verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
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 to transpose.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
semitonesYesSigned non-zero chromatic transposition in semitones.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true), so the description only needs to add context. 'Guarded' and 'complete native readback verification' add some signal beyond annotations, but neither is explained (what the guard is, what verification returns, reversibility) 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?

A single, front-loaded sentence with no filler. It is appropriately sized, though 'complete native readback verification' is dense jargon that would benefit from a brief plain-language gloss.

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?

For an 8-parameter mutation tool with no output schema, the description is adequate but thin: it omits the confirmation-token flow, failure modes, and whether partial transformations are rolled back. The fully-described schema compensates for much of this, keeping it at minimum viable rather than broken.

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 description coverage is 100%, so the schema already documents all 8 parameters including dryRun, planHash and confirmationToken. The description adds essentially no parameter-level meaning beyond the word 'chromatic', so the baseline 3 applies.

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?

States a specific verb (transposition) and resource (chromatic MIDI notes) and the 'chromatic' qualifier implicitly distinguishes it from the diatonic sibling apply_midi_diatonic_transposition. It also signals the plan-or-apply duality, but it never names a sibling explicitly, which is what a 5 requires.

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

Usage Guidelines3/5

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

The phrase 'Plan or apply' hints at the two-phase workflow and that a planning mode exists, but it gives no explicit when-to-use guidance, no condition selecting this over plan_midi_transposition or the diatonic variant, and no statement of prerequisites. Usage is only implied.

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

apply_midi_velocity_curveA

Plan or apply a guarded MIDI velocity curve while preserving timing, pitch, duration, probability, and expression metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
curveYesExact crescendo, decrescendo, fixed, or repeating accent target.
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 selected onsets.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare a non-read-only, non-destructive, non-idempotent mutation, so the bar is lower. The description adds real value by stating exactly which attributes survive unchanged (timing, pitch, duration, probability, expression), which is a meaningful write-side guarantee beyond the annotations.

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?

A single front-loaded sentence with zero filler that packs the scope, the mode, and the preservation guarantee. Nothing is redundant.

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?

For a guarded two-phase mutation tool with no output schema, the description omits any mention of the confirm-with-token workflow, the state-version precondition, or error behavior. The schema covers these, so the definition is adequate but not self-sufficient for safe invocation.

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 description coverage is 100%, so every parameter including dryRun, planHash, and confirmationToken is already documented. The description adds no parameter-level detail beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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?

States a specific verb+resource (apply a MIDI velocity curve) and captures the dual plan/apply nature with 'Plan or apply'. However it never names the plan_midi_velocity_curve sibling, so an agent gains only implicit differentiation from that near-identical tool.

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

Usage Guidelines3/5

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

The 'guarded' framing and 'plan or apply' implies a dry-run-first workflow, but the description never says when to use this versus plan_midi_velocity_curve. The actual dry-run/confirm mechanics live only in the schema, leaving usage guidance to inference.

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

apply_monophonic_audio_tuningA

Plan or apply an exact Live clip coarse/fine pitch offset from full-source, stable monophonic analysis of a mono or stereo local source at most 60 seconds long. Every stereo channel must agree; confirmation binds a SHA-256 source hash and current clip state, then verifies native pitch readback. Whole-clip tuning only: not note-by-note vocal correction, rendered audio analysis, or audible validation.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
targetMidiNoteYesExplicit equal-tempered target note at A4=440 Hz.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare safety/idempotency flags; the description goes well beyond, disclosing the two-phase plan-then-confirm flow, SHA-256 source hashing, binding to current clip state, native pitch readback verification, the 60-second length cap, and the stereo-channel-agreement requirement. That is rich behavioral context an agent needs before invoking a mutation.

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?

Three dense sentences with no filler: purpose+constraints first, mechanism/verification second, exclusions last. Front-loaded and every clause carries information, though the middle sentence is packed tightly enough to slow reading.

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?

For a no-output-schema, 7-parameter mutation tool, the description covers the preconditions, safety flow, and scope limits that an agent needs. It does not describe the plan/result shape, but with no output schema that is only a minor residual gap.

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 description coverage is 100%, so every parameter (clipId, dryRun, planHash, confirmationToken, targetMidiNote, expectedStateVersion, trackId) is already self-documented. The description hints at the plan/confirm relationship but adds no per-parameter syntax or format detail beyond the schema, so the baseline 3 is appropriate.

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?

States a specific verb (plan/apply) and resource (Live clip coarse/fine pitch offset) with a clear scope qualifier: full-source monophonic analysis of a local source. An agent can tell it apart from MIDI-oriented siblings like apply_midi_transposition or MIDI plan_* tools without opening a schema.

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?

Clearly delimits when the tool applies (whole-clip tuning of a stable monophonic source up to 60s) and explicitly rules out adjacent cases: note-by-note vocal correction, rendered audio analysis, and audible validation. It lacks an explicit named-alternative pointer, but the exclusions do the routing work.

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

arm_trackB

Plan or set the record-arm state of one exact track.

ParametersJSON Schema
NameRequiredDescriptionDefault
armedYesRequested arm state.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations declare a non-readonly, non-idempotent mutation, and the description's 'Plan or set' hints at a two-phase dry-run/commit flow beyond what annotations state. However, it omits the optimistic-concurrency requirement, reversibility, and the confirmation-token lifecycle that the schema parameters imply.

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?

A single front-loaded sentence with no waste, and the 'Plan or set' phrasing efficiently surfaces the two-phase nature. It is arguably too terse for the tool's complexity, but nothing is padded.

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

Completeness2/5

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

This is a mutation tool with a non-trivial confirmation workflow (planHash, short-lived single-use confirmationToken, expectedStateVersion concurrency guard) and no output schema. The description does not explain the required dry-run-then-commit sequence, leaving the agent to reverse-engineer the protocol from parameter names.

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 description coverage is 100%, so the schema already documents all six parameters including dryRun, planHash, and confirmationToken. The description adds no parameter-level meaning beyond it, matching the baseline for fully covered schemas.

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?

States a specific verb ('arm') and resource ('record-arm state') with a scoping qualifier ('one exact track'). It clearly implies track-arming rather than clip or transport operations, though it doesn't name any sibling to distinguish itself from.

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 when-to-use or when-not guidance. Nothing tells the agent it must run a dry run before committing, or which alternative to prefer for arming multiple tracks or arming via mixer settings.

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

browse_local_splice_directoryA
Read-onlyIdempotent

Page through immediate subfolders and audio files inside a configured local Splice root. Optionally join private MCP tags and favorites for audio files. Returned folder paths can be searched individually when a broad search is truncated. Skips symlinks and non-audio files; not Splice cloud browsing, downloads, or license verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum entries per page; defaults to 100.
offsetNoZero-based entry offset; defaults to zero.
rootPathYesAbsolute configured Splice root or descendant folder returned by this tool.
includeMetadataNoInclude private MCP tags and favorites for audio-file entries.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the bar is lower, yet the description still adds real behavior: symlinks and non-audio files are skipped, results are paged, and metadata (tags/favorites) is joined optionally. It does not describe ordering or what an empty page means, but this is well beyond the annotation baseline.

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?

Four tight sentences, front-loaded with the core action, then optional metadata, then how to chain into search, then exclusions. No filler and every sentence carries distinct information.

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?

For a paged local-directory listing with no output schema, the description covers scope, paging, optional metadata, and skips, which is enough to invoke correctly. It leaves the shape of returned entries (file vs folder fields) unspecified, which is a minor gap given 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 description coverage is 100%, with limit/offset defaults and rootPath semantics documented in the schema itself. The description echoes the optional metadata join and paging behavior but adds no new parameter-level detail (e.g., ordering, offset stability), so the baseline 3 applies.

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?

States a specific verb ('Page through') and resource ('immediate subfolders and audio files inside a configured local Splice root'), scoping it to immediate children rather than recursive search. This clearly separates it from siblings like search_local_splice_samples and list_local_splice_roots.

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?

Gives actionable context: 'Returned folder paths can be searched individually when a broad search is truncated,' which tells the agent how this tool composes with search. It also names explicit exclusions ('not Splice cloud browsing, downloads, or license verification'). It stops short of naming a specific sibling alternative for those excluded cases, so not a 5.

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

capture_device_chain_snapshotA
Read-onlyIdempotent

Capture ordered devices, nested rack topology, exposed parameters, Return or master mixer, available master output channel, chain mixer, Drum Rack note routing and populated pad mute/solo as persistable JSON. Not a native rack or preset; excludes hidden plugin state, samples, automation, and mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuine value beyond that: the result is 'persistable JSON' and explicitly excludes hidden plugin state, samples, automation, and mappings, which tells the agent what it will NOT get back.

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?

Two sentences, no filler, with the core action front-loaded and the exclusions trailing. The first sentence is dense with an enumeration, but every listed item is a real captured element rather than padding.

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?

For a read-only capture tool with a single documented parameter and no output schema, the description conveys output format (persistable JSON), content coverage, and exclusions. Only the relationship to sibling capture/save/load tools remains implicit.

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?

Single parameter with 100% schema description coverage, so the schema already documents trackId (track-N/return-N/master). The description adds nothing about the parameter, so the baseline 3 applies.

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?

Names a specific verb (capture) and resource (device chain snapshot) and enumerates the concrete contents captured: ordered devices, nested rack topology, exposed parameters, mixer state, chain mixer, drum rack routing, pad mute/solo. This is far more than a tautology. It does not, however, explicitly distinguish itself from close siblings like capture_device_parameter_snapshot or capture_track_state_snapshot, so the agent must infer the boundary.

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

Usage Guidelines3/5

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

The second sentence supplies scope boundaries ('Not a native rack or preset; excludes hidden plugin state, samples, automation, and mappings'), which is useful negative guidance. But there is no positive when-to-use statement and no naming of alternatives among the save/load/recall/capture siblings, leaving selection to inference.

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

capture_device_parameter_snapshotB
Read-onlyIdempotent

Capture exposed device parameters as persistable JSON, with a consistent live identity check. Not a native preset: excludes hidden plugin state, samples, automation and mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered. The description adds real behavioral value by disclosing a 'consistent live identity check' and the categories of state it deliberately excludes (hidden plugin state, samples, automation, mappings), which the annotations do not convey.

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?

Two tight sentences with the primary action front-loaded and the exclusion caveat following. No filler, though the second sentence is somewhat dense and could be split for scanability.

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?

With no output schema, the description carries more burden for the returned JSON. It notes the payload is 'persistable' and lists exclusions, but does not describe the structure or fields of the captured snapshot, leaving a modest gap for a capture tool.

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 100% with only 2 params, and the schema descriptions already explain the trackId and deviceId formats (track-N, return-N, master, list_devices). The description adds no additional parameter semantics, so baseline 3 applies.

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?

States a specific verb+resource ('Capture exposed device parameters as persistable JSON') and clarifies it is not a native preset. It distinguishes itself from the sibling recall_device_parameter_snapshot by verb, though it does not explicitly address capture_device_chain_snapshot.

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?

The description says what the tool excludes (hidden plugin state, samples, automation, mappings) but never states when to use it versus alternatives such as capture_device_chain_snapshot, list_device_parameters, or save_device_parameter_snapshot-style tools. No when/when-not guidance is given.

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

capture_group_system_snapshotA
Read-onlyIdempotent

Capture an existing Group Track, nested groups and all descendant tracks in Live order as persistable JSON. Every track snapshot and the final hierarchy must match one state version. Read-only; does not save clips, samples, hidden plug-in state, automation or mappings, or create/recall tracks.

ParametersJSON Schema
NameRequiredDescriptionDefault
busTrackIdYesStable track ID returned by list_tracks.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior the annotations don't convey: the consistency requirement that all track snapshots and the final hierarchy must match one state version, plus an explicit exclusion list of what is not captured (clips, samples, plug-in state, automation, mappings).

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?

Two dense sentences, front-loaded with the action and scope, then the exclusion list. No filler; every clause adds a constraint an agent needs.

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?

No output schema exists, so the description must signal the return shape, which it does ('persistable JSON'). With annotations covering safety and the parameter schema complete, the definition is nearly self-sufficient; only sibling differentiation and explicit when-to-use routing are missing.

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 100% and the single busTrackId parameter is fully documented ('Stable track ID returned by list_tracks'), so the schema carries the semantics. The description adds nothing about the parameter beyond implying the target is an existing Group Track. Baseline 3 is appropriate.

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?

States a specific verb (capture) and resource (Group Track plus nested groups and descendant tracks) with an ordering constraint ('in Live order') and output format ('persistable JSON'). It does not distinguish itself from close siblings like save_group_system_snapshot, load_group_system_snapshot, or recall_group_system_snapshot, so an agent must check those separately.

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

Usage Guidelines3/5

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

The description clarifies scope of capture ('Read-only; does not save clips, samples, hidden plug-in state, automation or mappings, or create/recall tracks'), which implies this is the in-memory snapshot step before saving. However, it never states when to use this versus save_group_system_snapshot or recall_group_system_snapshot, leaving the choice implicit.

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

capture_midi_sessionA

Plan or invoke Live's native Capture MIDI into Session View for recently played MIDI on audible tracks. May create or change clips on multiple MIDI tracks or add a scene; the target is determined by Live, not guaranteed by the plan. Reports immediate slot changes plus note count/digest changes in armed playing MIDI clips; inspect notes separately for content. Requires native can_capture_midi readiness and confirmation.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: the target is chosen by Live and may create or change clips across multiple MIDI tracks or add a scene, so the effect is non-deterministic and multi-target. It also discloses the readiness requirement and what is reported back (immediate slot changes, note count/digest changes), which is exactly the extra context an agent needs for a non-idempotent open-world mutation.

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?

Four sentences, front-loaded with the action and scope, then risk, reporting, and prerequisites. Dense but each sentence carries distinct information; no filler.

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?

For a complex, non-idempotent, open-world mutation with no output schema, the description covers effects, uncertainty of target, return shape, and readiness/confirmation prerequisites. An agent can plan or invoke this correctly without further inference.

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 description coverage is 100%, so all four parameters (dryRun, planHash, confirmationToken, expectedStateVersion) are already documented. The description only echoes the plan/confirm distinction, adding no syntax or format detail beyond the schema; baseline 3 is appropriate.

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?

States a specific verb (plan/invoke) plus the exact resource (Live's native Capture MIDI into Session View) and the input scope (recently played MIDI on audible tracks). No sibling tool performs Capture MIDI, so the definition is self-distinguishing without needing to name a competitor.

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?

Gives clear context for invocation ('recently played MIDI on audible tracks') and states a prerequisite ('native can_capture_midi readiness and confirmation'), plus routes note inspection to a separate tool. It does not name specific alternatives or exclusions, so it falls short of full when/when-not guidance.

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

capture_track_state_snapshotA
Read-onlyIdempotent

Capture one consistent, persistable JSON snapshot of group membership, track mixer, routing, ordered devices, nested rack parameters, chain mixer, Drum Rack note routing and populated pad mute/solo. Not a native track preset; excludes clips, hidden state, samples, automation and mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable track ID returned by list_tracks.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context by specifying that the snapshot is 'one consistent, persistable JSON' and by scoping exactly what state is included vs excluded — useful for predicting the result of a read operation.

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?

Two tightly packed sentences with the core action and scope front-loaded and exclusions trailing. The enumeration is dense but each item earns its place by defining scope; slightly long but not wasteful.

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?

With no output schema, the description effectively serves as a return-value contract by listing the captured state, and the exclusion list prevents over-expectation. Only the relationship to the save/load/recall sibling tools is left implicit.

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 100% and the single trackId parameter is fully documented in the schema ('Stable track ID returned by list_tracks'). The description adds no parameter detail, so the baseline 3 is appropriate.

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?

States a specific verb (capture) and resource (track state snapshot), then enumerates exactly what the snapshot contains (group membership, mixer, routing, devices, rack params, drum routing) and what it omits. This lets an agent distinguish it from save/load/recall variants without opening the schema.

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

Usage Guidelines3/5

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

The 'Not a native track preset' note and the explicit exclusion list imply when this tool fits, but there is no explicit routing to alternatives such as save_track_state_snapshot or capture_device_chain_snapshot, nor any stated prerequisite beyond a valid trackId.

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

claim_nks_generation_jobA

Atomically lease one pending NKS generation job for a worker. Returns its catalog preset without loading the plugin or saving a file.

ParametersJSON Schema
NameRequiredDescriptionDefault
workerIdYesNon-empty worker identity.
productSlugYesExact product slug.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, but the description adds genuinely non-obvious behavior: the claim is atomic, and it does NOT load the plugin or save a file. That side-effect boundary is useful context beyond the annotations. It does not disclose lease duration or expiry, which would have pushed it higher.

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?

Two tight sentences with the core action front-loaded and the return value plus side-effect boundary second. No filler; every clause carries information.

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?

With no output schema, the description usefully explains the return ("its catalog preset"). It is largely complete for the claim action, though it omits the lease lifecycle (duration/expiry, requirement to heartbeat or complete), which matters given the sibling tools around this workflow.

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 description coverage is 100%, so workerId and productSlug are already documented in the schema; the description adds no semantics beyond them. Baseline 3 applies when the schema carries the parameter documentation.

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?

It states a specific verb ("lease") and resource ("NKS generation job") with clear scope ("one pending"). It does not explicitly name the sibling alternatives it overlaps with (get_nks_generation_job, enqueue_nks_generation_jobs), so separation from those is left to inference.

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?

The phrase "for a worker" implies the caller is a job-consuming worker, but there is no explicit when/when-not, no mention of what to do after claiming (heartbeat/complete/fail), and no named alternative to route to. Guidance is only weakly implied.

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

complete_nks_generation_jobA
Destructive

Mark an owned NKS job done only after its catalog preset contains verified saved-artifact evidence. Does not generate or validate the artifact itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
presetIdYesStable NKS preset catalog ID.
workerIdYesLease owner identity.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the mutation/non-idempotent profile is covered. The description adds the meaningful evidence precondition (the job's preset must contain verified saved artifacts), but stops short of saying what completing does to the job or artifacts, or whether the state change is reversible.

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?

Two tight sentences with no waste; the state precondition is front-loaded and the scope exclusion ("does not generate or validate") follows efficiently.

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?

For a mutating lifecycle tool with full annotations and a fully documented two-parameter schema and no output schema, the description covers the key gate (verified evidence) and scope exclusions. It is largely complete, with only minor gaps around post-completion state or failure behavior.

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 description coverage is 100%, so both presetId and workerId are already documented in the schema as a stable catalog ID and a lease owner identity. The description adds no format, ownership, or lease semantics beyond what the schema provides, so the baseline of 3 applies.

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?

States a specific verb+resource ("Mark an owned NKS job done") and clarifies scope with "Does not generate or validate the artifact itself." It clearly separates itself from generation/validation concerns, though it does not name the sibling lifecycle tools (fail_nks_generation_job, heartbeat_nks_generation_job) it could be confused with.

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?

Gives an explicit precondition for invocation: "only after its catalog preset contains verified saved-artifact evidence." This is a clear when-to-use condition. However, it names no alternative tools and gives no when-not guidance beyond the single precondition.

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

correct_midi_clip_to_scaleA

Plan or apply guarded pitch correction of exact chromatic MIDI notes into the current Live scale. Direction is explicit; equal nearest choices require an explicit tie break. Existing in-scale notes are never changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
noteIdsNoOptional stable note IDs; omitted selects every chromatic note.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
tieBreakNoRequired only for equal nearest choices.
directionYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true). The description adds real behavioral context beyond that: the operation is 'guarded' (plan then apply), it only touches chromatic notes, existing in-scale notes 'are never changed', and equal-nearest cases require an explicit tie break. It does not detail the confirmation-token lifecycle, but that lives in the schema.

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?

Three tight sentences with the core purpose front-loaded, followed by the direction/tie-break constraint and the non-destructive guarantee. Every sentence earns its place, though the third sentence is a slight restatement of the guard already implied by the first.

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?

For a mutating, open-world tool with no output schema, the description conveys the operation, its scope constraints, and the guarded plan/apply nature, while the schema covers the confirmation workflow. Missing is explicit mention of the dry-run/confirmationToken handshake and the stateVersion precondition, but those are schema-documented.

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?

With 89% schema description coverage, the schema already documents all nine parameters, including tieBreak 'Required only for equal nearest choices'. The description largely restates those enum semantics rather than adding new meaning, so the baseline 3 applies.

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 ('guarded pitch correction of exact chromatic MIDI notes') plus the scope ('into the current Live scale'), which cleanly separates it from siblings like analyze_midi_clip_scale (read-only analysis) and apply_midi_diatonic_transposition. An agent can identify the operation and its target without opening the schema.

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 'Plan or apply' phrasing signals the dual dry-run/commit mode and 'Direction is explicit; equal nearest choices require an explicit tie break' gives concrete conditions for the direction and tieBreak inputs. It stops short of naming alternatives (e.g. analyze_midi_clip_scale, apply_midi_diatonic_transposition) or stating exclusions, so it is clear context but not full routing guidance.

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

create_arrangement_cue_pointB

Plan or create an Arrangement cue point at an exact beat position.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCue-point name.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
timeBeatsYesCue-point position in beats.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is largely covered. The description adds the plan/create duality beyond the annotations, but omits the two-phase confirmation-token workflow, the expectedStateVersion conflict behavior, and any reversibility note — meaningful gaps for a mutating 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?

A single efficient sentence with no filler, front-loading the verb and resource. It is arguably over-brief for a six-parameter, two-phase workflow tool, but no sentence is wasted.

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?

For a six-parameter mutation tool with no output schema, the minimal description is only adequate because the schema compensates with 100% parameter coverage. The crucial plan-then-confirm interplay between dryRun, planHash, and confirmationToken is left to the agent to infer from individual field docs.

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 description coverage is 100%, so every parameter (including dryRun, planHash, and confirmationToken) is already documented in the schema. The description only restates the position semantics ('exact beat position'), adding nothing beyond the schema baseline.

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?

States a specific verb ('Plan or create') and resource ('Arrangement cue point') with a scope qualifier ('exact beat position'). The create semantics are clearly separable from siblings like rename_arrangement_cue_point, delete_arrangement_cue_point, and list_arrangement_cue_points, though no sibling is named explicitly.

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 when-to-use guidance is given. The description hints at a plan-vs-create duality but never says when to plan (dryRun), when to commit, or that committing requires a confirmationToken from a prior dry run.

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

create_audio_clipA

Plan or import a local audio file into one exact empty Session slot on an unfrozen audio track. The confirmed plan binds the source file identity, size, and modification time; Live validates the audio format.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional imported clip name.
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
sourcePathYesAbsolute local audio-file path.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already flag a non-read-only, non-idempotent, open-world mutation, but the description adds real value beyond them: the two-phase plan/confirm model, the fact that the confirmed plan binds source identity, size, and modification time, and that Live validates the audio format. It does not mention reversibility or failure modes, but the added context is substantive.

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?

Two dense sentences with the core action and its scope constraints front-loaded and no wasted wording. The second sentence adds only genuinely non-obvious behavioral detail.

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?

For an 8-parameter mutation tool with no output schema, the plan/confirm lifecycle and validation behavior are covered, and annotations carry the safety profile. Minor gaps remain around what a caller should do on validation failure or how the plan result is shaped, but the essentials for correct invocation are present.

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 description coverage is 100%, so every parameter (including dryRun, planHash, confirmationToken) is already documented in the schema. The description adds no syntax or format detail beyond that; baseline 3 applies.

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?

States a specific verb and resource ('Plan or import a local audio file') plus tight scope constraints ('one exact empty Session slot on an unfrozen audio track'), which implicitly separates it from create_midi_clip and the arrangement-clip tools. It stops short of naming any sibling, so differentiation relies on inference rather than explicit contrast.

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

Usage Guidelines3/5

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

The plan-then-import workflow is implied by 'Plan or import' and reinforced by the dryRun/confirmationToken parameters, but the description never says when to choose this over alternatives (e.g., analyze_audio_file first, or create_midi_clip) nor states prerequisites like the track being unfrozen beyond the scope phrase. Usage must be inferred.

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

create_drum_pattern_clipA

Plan or create one exact multi-lane drum pattern in an empty Session clip. Binds current meter, tempo, grid, lanes, destination, and state; native execution verifies every generated note.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsYes
gridYes
nameYesNew drum clip name.
lanesYesExplicit drum lanes and their per-bar steps.
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
startBeatNoAbsolute clip beat offset; defaults to zero.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-idempotent, non-destructive. The description adds real behavioral context beyond that: it binds meter/tempo/grid/destination and a state version, and notes that native execution verifies every generated note. It does not spell out the dry-run/confirmationToken gating, but the schema covers that.

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?

Two tight sentences with the core action front-loaded and the secondary behavioral note (state binding + native verification) after. No filler or repetition of the tool name.

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?

For an 11-parameter mutation tool with no output schema, the description covers purpose, precondition, the state-binding model, and result verification. The remaining gaps (the plan/confirm protocol details) are handled by the schema's parameter descriptions, so the definition is largely self-sufficient.

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 82% and the schema itself documents the significant parameters (dryRun, confirmationToken, planHash, expectedStateVersion, nested lane fields). The description's mention of meter, tempo, grid, lanes, destination, and state loosely maps to the parameters but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

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?

States a specific verb set ('plan or create'), a specific resource ('multi-lane drum pattern'), and the target container ('empty Session clip'). It is clear what the tool does, though it does not explicitly distinguish itself from close siblings like plan_drum_pattern or edit_drum_pattern_clip.

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

Usage Guidelines3/5

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

The phrase 'in an empty Session clip' implies a precondition, and 'Plan or create' hints at the two-phase workflow. However, there is no explicit when-to-use guidance versus plan_drum_pattern (planning only) or edit_drum_pattern_clip (editing an existing pattern), which an agent would want spelled out given the crowded sibling set.

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

create_grooveA

Plan or create a new groove in Live's Groove Pool with an optional name. Adjust its base grid and amounts afterward with set_groove; groove deletion is not exposed by Live's public API.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew groove name.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that deletion is not exposed via the public API. But it omits the two-step dry-run/confirmation-token workflow that governs how a create actually happens, leaving that entirely to the schema.

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?

Two tight sentences with the core action front-loaded and the sibling pointer plus limitation trailing. No filler, though the plan/create ambiguity could have been resolved in the same space.

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?

With annotations covering the safety profile, full schema coverage on five parameters, and no output schema required, the description supplies the scope and sibling routing an agent needs. The main residual gap — explicitly summarizing the dry-run-then-confirm flow — is mitigated by richer schema descriptions.

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 description coverage is 100%, so dryRun, planHash, confirmationToken, and expectedStateVersion are fully documented in the schema; that sets the baseline at 3. The description adds only that the name is optional, no syntax or workflow detail beyond structured fields.

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 states a specific verb and resource (create a groove in Live's Groove Pool) and distinguishes scope by noting the optional name and the deferral of tuning to set_groove. It is clearly separable from siblings like set_groove and get_clip_groove_context, though the 'Plan or create' duality is left for the schema to disambiguate.

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

Usage Guidelines3/5

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

It routes the agent to set_groove for post-creation adjustment and rules out deletion, which is useful negative guidance. However, it gives no explicit when-to-use context versus other creation tools (e.g., create_midi_clip, create_scale_chord_progression_clip) and no prerequisite framing.

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

create_midi_clipB

Plan or create a MIDI clip in an exact empty Session slot.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional clip name.
notesYesInitial MIDI notes.
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
lengthBeatsYesClip length.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations declare the safety profile (readOnly=false, destructive=false, idempotent=false, openWorld=true), and the description is consistent with them while adding one genuine precondition: the target slot must be exactly empty. However, it omits the entire dry-run/confirm lifecycle, including that the token is short-lived and single-use, which is the most behaviorally important thing about this 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?

A single short sentence with the scope constraint front-loaded and zero filler. It is efficient, though the terseness borders on under-specification for a nine-parameter mutation tool.

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

Completeness2/5

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

For a nine-parameter, non-idempotent mutation tool with no output schema, the description is barely a fragment. It omits the plan→confirm flow, token validity, and why expectedStateVersion must be observed immediately before planning, leaving the agent to reverse-engineer the workflow from parameter descriptions.

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 description coverage is 100%, so the schema already documents all nine parameters, including expectedStateVersion, dryRun, planHash, and confirmationToken. The description adds no parameter meaning beyond the empty-slot constraint, so the baseline 3 applies.

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?

Names a specific verb pair ('Plan or create') and resource ('MIDI clip') with a scoping constraint ('exact empty Session slot'). An agent can tell this is a MIDI clip creator, but the description does nothing to separate it from siblings like create_scale_melody_clip, create_drum_pattern_clip, or create_audio_clip, all of which also create clips.

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?

The phrase 'Plan or create' faintly implies a two-mode workflow, but the description never states when to plan vs. when to commit, never mentions the confirmationToken/planHash handshake, and names no alternative tool. An agent gets no routing guidance beyond the bare verb.

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

create_rack_chainA

Plan or create a named empty chain in an exact rack on an ordinary, Return, or Main track, including nested racks. Omitted index appends. Drum-pad assignment is separate.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNew chain name.
indexNo
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-idempotent, non-destructive, open-world mutation, so the safety profile is covered. The description adds a bit of context (planning vs. committing, append-on-omitted-index), but does not explain what state is altered or the confirmation-token requirement beyond what the schema states.

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?

Three tight sentences, front-loaded with the core action, and every clause (nested racks, omitted index appends, drum-pad separate) carries distinct information. No filler.

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?

For an 8-param mutation with annotations and no output schema, the description covers the key conceptual points (plan vs. create, track scope, append behavior). It stops short of describing the plan/commit round-trip result or any prerequisites, but it is largely sufficient for correct invocation.

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 88%, so the schema carries most parameter meaning, giving a baseline of 3. The description adds genuine value by documenting the append-on-omission behavior of the undescribed 'index' parameter, pushing it slightly above baseline.

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?

States a specific verb and resource ('create a named empty chain in an exact rack') with scope details (ordinary/Return/Main track, nested racks). It is clearly distinguishable from siblings like rename_rack_chain, set_rack_chain_mixer, and set_rack_chain_note_routing.

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

Usage Guidelines3/5

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

The 'Plan or create' phrasing implies the dry-run/confirm flow, and 'Drum-pad assignment is separate' lightly routes the agent away from a sibling behavior. But there is no explicit when-to-use, when-not-to-use, or named alternative, leaving usage mostly inferred.

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

create_return_trackA

Plan or append a Return Track for shared send effects using Live's native bus API. Name is the raw label; Live prefixes the displayed return letter, and the result reports the observed display name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesRaw Return Track label without its automatic bus-letter prefix.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare the safety profile (non-read-only, non-destructive, non-idempotent, open-world). The description adds behavior beyond that: Live auto-prefixes the displayed return letter and the result reports the observed display name, which is a naming side-effect an agent cannot get from annotations or schema.

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?

Two tight sentences, front-loaded with the action and scope, with only the naming caveat following. No filler, though it is brief enough to leave the commit flow to the schema.

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?

For a mutation tool with a dry-run/confirm-token two-step flow, the description covers the naming outcome but never mentions the plan-then-commit sequencing, ordering/letter-assignment effects, or state-version requirements, relying entirely on the schema for those.

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 100%, so the schema documents all five parameters including the raw-label meaning of 'name' and the dryRun/confirmationToken flow. The description restates the name-prefix semantics rather than adding new parameter detail, so the baseline 3 applies.

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?

States a specific verb and resource ('Plan or append a Return Track') and its purpose ('shared send effects'), and clarifies it uses Live's native bus API. It is clear, though it does not explicitly differentiate itself from close siblings such as route_tracks_to_return_bus or create_track.

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

Usage Guidelines3/5

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

The phrase 'Plan or append' implies a two-mode workflow, and the schema's dryRun description carries the actual when-to-use detail. The description itself offers no explicit guidance on when to choose this tool over routing or track-creation siblings.

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

create_scale_bassline_clipB

Plan or create one scale-aware bassline in an exact empty Session clip. Binds the Live key, progression, rhythm, register, destination, and state version; native execution verifies every generated note.

ParametersJSON Schema
NameRequiredDescriptionDefault
gateYesNote duration as a fraction of stepBeats.
nameYesNew clip name.
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.
degreesYesOrdered one-based scale degrees.
trackIdYesStable track ID returned by list_tracks.
maxPitchYes
minPitchYes
planHashNoHash returned by the matching dry run.
velocityYes
stepBeatsYesGrid subdivision in beats; must divide chordBeats exactly.
chordBeatsYesDuration of each progression degree in beats.
startBeatsYesBassline start in beats.
activeStepsYesUnique zero-based grid steps played within every chord.
pitchPatternYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare non-read-only, non-destructive, non-idempotent, open-world, so the safety profile is covered. The description adds real context beyond that – 'native execution verifies every generated note' and the empty-clip requirement – but omits the two-step dryRun/confirmationToken/planHash workflow, which is the tool's most important behavioral nuance.

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?

Two dense sentences with the operation and scope front-loaded and no filler. Slightly jargon-heavy ('Binds the Live key... state version') but each clause carries information.

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?

For a 17-parameter mutation tool with no output schema, the description conveys purpose, scope, and verification but leaves the critical plan/confirm token flow entirely to the schema. Adequate minimum viable, with a clear gap given the tool's complexity.

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 description coverage is 76%, so the schema documents most of the 17 parameters. The description names the bound dimensions (key, progression, rhythm, register, destination, state version), giving a useful mental model, but 'key' is not actually a parameter and no format or coupling details are added beyond the schema.

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?

States a specific verb and resource ('create one scale-aware bassline') plus a scope constraint ('in an exact empty Session clip'), and the 'Plan or create' phrasing signals it also covers the dry-run path. It does not name the adjacent plan_scale_bassline / create_scale_melody_clip siblings, so routing still requires inference.

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

Usage Guidelines3/5

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

The 'exact empty Session clip' precondition is useful implied guidance on when the tool is applicable. However, it never states when to prefer this over plan_scale_bassline (plan-only) or create_scale_melody_clip, leaving the agent to infer the choice from the name.

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

create_scale_chord_progression_clipA

Plan or create a functional scale-degree chord progression in one exact empty Session clip. Native execution independently rederives the signed harmony and verifies every generated note.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNew clip name.
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.
degreesYesOrdered one-based scale degrees.
trackIdYesStable track ID returned by list_tracks.
maxPitchYes
minPitchYes
planHashNoHash returned by the matching dry run.
velocityYes
chordBeatsYesDuration and spacing of each chord in beats.
startBeatsYesFirst chord start in beats.
bassDegreesNoOptional Live scale degree for an added bass voice below each ordered chord; null leaves that chord unchanged.
articulationNo
chordRecipesNoOptional exact recipe for each ordered degree.
voiceLeadingYes
notesPerChordYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
harmonicFunctionsNoOptional harmonic function for each ordered degree; secondary-dominant degrees name tonicized targets.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the bar is lowered. The description adds genuine extra context: that native execution independently rederives signed harmony and verifies every note, and that the target clip must be empty. It doesn't spell out the token/single-use flow, which is left to the schema.

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?

Two tightly written sentences with no filler; the create/plan distinction and the verification guarantee are both front-loaded. Every clause carries information.

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?

For a 19-parameter, 12-required tool with nested objects and no output schema, the description is thin: it omits the dry-run/confirmation-token workflow and any explanation of the harmonic-function or articulation options. The schema carries most of the burden, but the description could do more for such a complex tool.

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?

With 19 parameters and only 68% schema description coverage, the description adds no parameter-level meaning beyond what the schema provides. Key concepts like degrees, harmonicFunctions, voiceLeading, and chordRecipes are only explained in the schema itself, so this is a baseline adequate score.

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 names a specific verb pair ('Plan or create') and resource ('functional scale-degree chord progression'), plus a scope constraint ('one exact empty Session clip'). This distinguishes it from the pure-planning sibling plan_scale_chord_progression, though it never names that sibling explicitly.

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

Usage Guidelines3/5

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

'Plan or create' hints at the dry-run vs execute duality, and the schema's dryRun/confirmationToken params fill in the mechanics. But there is no explicit when-to-use guidance or comparison against plan_scale_chord_progression or create_midi_clip, leaving the choice to inference.

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

create_scale_melody_clipA

Plan or create one exact scale-degree melody in an empty Session clip. Binds Live key, meter, grid, destination, and state; native execution verifies every generated note.

ParametersJSON Schema
NameRequiredDescriptionDefault
gateYesNote duration as a fraction of one selected grid step.
gridYes
nameYesNew melody clip name.
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.
eventsYesExplicit scale-degree events; omitted grid steps are rests.
repeatsYes
trackIdYesStable track ID returned by list_tracks.
maxPitchYes
minPitchYes
planHashNoHash returned by the matching dry run.
velocityYesDefault note velocity.
basePitchYesMIDI pitch for scale degree one.
motifBarsYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already establish non-read-only, non-idempotent, non-destructive behavior. The description usefully adds that key/meter/grid/destination/state are bound and that 'native execution verifies every generated note,' plus the implicit dry-run gate from its plan/create framing — meaningful context beyond the structured hints, though it omits reversibility and failure handling.

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?

Two sentences, front-loaded with the action and target, with no filler. The second sentence is information-dense but has no waste; it could still be slightly clearer about the plan→confirm sequence.

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?

For a 16-parameter, 13-required mutation tool with no output schema, the description is thin: it never explains that a dry run yields planHash/confirmationToken, that expectedStateVersion must match, or what verification returns. The schema covers parameters, but the workflow an agent must follow to actually create the clip is left largely unexplained.

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 description coverage is 69%, so most parameters carry their own docs. The phrase 'Binds Live key, meter, grid, destination, and state' gestures at some parameters but adds no semantics for the 16 params, notably the planHash/confirmationToken/expectedStateVersion workflow, so it does not compensate for the remaining gap.

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 names a specific verb pair and resource ('plan or create one exact scale-degree melody') plus the target context ('empty Session clip'), which distinguishes it from write-only siblings like create_midi_clip. It does not, however, explicitly name the closest sibling (plan_scale_melody) or the other scale-clip creators, so the differentiation is implied rather than stated.

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

Usage Guidelines3/5

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

It implies when the tool applies via 'in an empty Session clip' and the plan-vs-create modality of dryRun, which is useful context. But it never tells the agent when to prefer this over plan_scale_melody or create_scale_bassline_clip, nor what happens if the clip is not empty, leaving usage largely inferable.

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

create_sceneA

Plan or create a Session scene at an exact insertion index. Native execution rechecks the neighboring scene records and verifies the new scene in one Live undo step.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesScene name.
indexNo
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, and idempotentHint=false. The description adds meaningful behavioral context beyond those annotations: native execution rechecks neighboring scene records, verifies the new scene, and completes in one Live undo step. It does not cover authorization or rate limits, but the added validation and undo details are substantive.

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 consists of two tightly written sentences with no filler. The core purpose and most important behavioral detail are front-loaded, and every sentence contributes useful information.

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?

For a mutation tool with dry-run and confirmation-token mechanics, the description covers the core dual mode, exact insertion index, native revalidation, and atomic undo behavior. The schema provides the remaining parameter details, and annotations cover the safety profile. It could say more about expectedStateVersion, but the schema already defines that requirement.

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 description coverage is 83%, so the schema already documents most parameters. The description only alludes to the index parameter ('exact insertion index') and dry-run mode ('Plan or create'); it does not add meaning for expectedStateVersion, planHash, or confirmationToken beyond what the schema provides. A baseline 3 is appropriate.

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 states a specific verb and resource: 'Plan or create a Session scene at an exact insertion index.' This clearly identifies the operation and scope. It does not explicitly differentiate itself from sibling tools such as launch_scene, list_scenes, or other create_* tools, so it falls short of a 5.

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?

The description does not say when to use this tool versus alternatives like list_scenes, launch_scene, or delete_session_object. It implies a plan/create mode through the phrase 'Plan or create,' but provides no conditions, prerequisites, or exclusions to guide selection.

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

create_trackA

Plan or create an audio or MIDI track at an exact insertion index. Native execution rechecks the neighboring track context and verifies the inserted track type and name in one Live undo step.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTrack name.
typeYes
indexNo
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare the safety profile (not read-only, not idempotent, not destructive, open-world), and the description adds genuinely new behavioral context: native execution rechecks neighboring track context, verifies the inserted track type and name, and does so in a single Live undo step. That undo/verification detail is exactly the kind of trait annotations cannot convey.

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?

Two tight sentences with no filler, and the core verb/resource is front-loaded before the behavioral detail. Slightly dense in the second sentence, but every clause carries information.

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?

For a 7-parameter mutation tool with no output schema, the description covers the planning/execution duality and the undo semantics well, and the schema handles the token/version mechanics. It does not describe what a dry run returns, but that gap is modest given the schema's parameter-level hints.

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 71%, with descriptions on name, dryRun, planHash, confirmationToken, and expectedStateVersion. The description only adds the notion of an 'exact insertion index' for the index parameter, which is marginal beyond the schema's minimum:0 constraint. Baseline 3 is appropriate when the schema does most of the work.

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?

States a specific verb pair and resource ('Plan or create an audio or MIDI track') plus the scoping detail 'at an exact insertion index'. This clearly separates it from siblings like create_return_track, create_midi_clip, and create_scene, which an agent can distinguish without opening any schema.

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

Usage Guidelines3/5

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

The phrase 'Plan or create' implies a two-mode workflow, but the description never says when to plan versus when to execute, nor points to the dryRun/confirmationToken parameters that govern this. The guidance is implied rather than explicit, so the agent must read the schema to learn the actual usage rule.

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

crop_audio_clipB
Destructive

Plan or apply Live native cropping of one exact audio clip. Preview reports the selected loop interval when enabled, otherwise start/end markers, in current units. Live may retain pre-loop playback material and creates a processed source. Selected interval is not a guarantee of exclusive source-file bounds. Binds audio and loop state and reads back native results.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare destructive=true, readOnly=false, idempotent=false, so safety context is covered. The description adds genuinely non-obvious behavior: preview reports loop interval vs start/end markers, Live may retain pre-loop playback material, a new processed source is created, and the selected interval is not a guarantee of exclusive source-file bounds.

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 opening sentence is front-loaded and specific, but later sentences are dense and jargon-heavy ('Binds audio and loop state and reads back native results') and 'in current units' is left undefined, costing clarity without adding proportionate value.

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?

With no output schema, 6 params, and a destructive mutation, the description covers mode behavior and source-file caveats reasonably well. It still omits practical concerns like undo/reversibility and what the native result looks like, which an agent performing a destructive crop would want.

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 description coverage is 100%, so every parameter is already documented in-schema. The description adds no per-parameter syntax or format detail beyond that; baseline 3 applies.

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?

States a clear verb (crop) and an exact resource (one audio clip), with a plan/apply duality. It never names a sibling tool, but 'crop' is distinctive enough against the surrounding edit_session_object/audio tools that an agent can place it.

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?

The phrase 'Plan or apply' implies two modes but gives no explicit when-to-use, prerequisites, or alternatives. The routing logic (dryRun/confirmationToken/planHash) lives only in the schema, not the prose.

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

delete_arrangement_clipA
Destructive

Plan or delete one exact Arrangement clip, preserving other timeline material. Requires current clip identity and confirmation; deletion is undoable in Live.

ParametersJSON Schema
NameRequiredDescriptionDefault
clipIdYesExact timeline clip ID returned by list_arrangement_clips.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and non-idempotent, so the safety profile is covered. The description adds genuinely new behavior: deletion is undoable in Live, other timeline material is preserved, and a confirmation step is required — useful context beyond the structured hints.

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?

Two tight sentences, correctly front-loaded with the action and scope, then prerequisites. No wasted text.

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?

For a destructive tool with a plan/confirm protocol, the description conveys the intent, scope and confirmability, and the schema covers the mechanics. It could better spell out the plan→confirm→execute sequence, but the essential information an agent needs is present.

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 description coverage is 100%, so the schema already documents clipId, trackId, dryRun, planHash, confirmationToken and expectedStateVersion. The description references identity and confirmation but adds no syntax or format detail beyond the schema. Baseline 3 applies.

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?

States a specific action (plan or delete) on a specific resource (one exact Arrangement clip) and adds the scope constraint 'preserving other timeline material'. This distinguishes it from generic delete_clip, though it never names that sibling explicitly.

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?

Specifies the prerequisites for use ('Requires current clip identity and confirmation') and reveals that the operation is a two-phase plan-then-confirm flow. It does not, however, state when to prefer this over delete_clip or delete_session_object.

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

delete_arrangement_cue_pointB
Destructive

Plan or delete one exact Arrangement cue point.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
cuePointIdYesStable cue-point ID.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=true and idempotentHint=false, so the risk profile is covered. The description adds the notable dual-mode framing ('Plan or delete'), but it omits the consequential behavior — that the actual delete requires a confirmationToken and planHash from a prior dry run — which is only discoverable in the schema.

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?

A single short sentence with the operation front-loaded and zero filler. It is efficient, though the brevity borders on under-specification for a destructive two-phase tool.

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

Completeness2/5

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

For a destructive operation with no output schema and a non-trivial plan-then-confirm protocol, the description is far too thin. It never explains the relationship between the plan and the destructive call, leaving the agent to reconstruct the workflow from parameter descriptions alone.

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 description coverage is 100%, so every parameter (dryRun, planHash, cuePointId, confirmationToken, expectedStateVersion) is already documented in the schema. The description contributes only the word 'exact', implying a state-version precondition, without adding format or semantics beyond the schema.

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 gives a specific verb pair ('Plan or delete') and resource ('Arrangement cue point'), and the word 'exact' plus the singular scope differentiates it from list/create/rename/jump sibling tools. It stops short of naming those siblings, but the operation is unambiguous.

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?

There is no guidance on when to plan versus when to delete, no mention that deletion is a two-phase dry-run/confirm flow, and no reference to any alternative tool. The agent must infer the workflow entirely from the schema.

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

delete_clipB
Destructive

Plan or delete one exact occupied Session clip.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and non-idempotent, so the safety profile is covered structurally. The description adds the 'occupied' constraint and reinforces the two-phase plan/delete flow, but says nothing about reversibility, undo availability, or what happens to scene slots.

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?

A single front-loaded sentence with no filler. It is efficient, though arguably terse for a destructive tool with a multi-step confirmation flow.

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?

Annotations carry the destructive profile and the schema fully documents the plan/confirm parameters, so the core is covered. However, for a destructive clip deletion the description omits any note on recoverability or side effects, leaving meaningful context unaddressed.

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 100%, so all six parameters are fully documented in the schema. The description adds only marginal meaning ('exact', 'occupied') beyond that baseline, so a 3 is appropriate.

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?

States a specific verb (plan/delete) and resource (Session clip) and adds scope qualifiers 'one exact occupied'. 'Session' distinguishes it from delete_arrangement_clip, though it never names that sibling explicitly.

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

Usage Guidelines3/5

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

The 'Plan or delete' phrasing implies a plan-then-confirm workflow, but the description gives no explicit when-to-use/when-not guidance and does not route the agent to delete_arrangement_clip or delete_session_object. Usage is largely inferred from the dryRun/confirmationToken schema.

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

delete_deviceA
Destructive

Plan or delete one exact loaded device from an ordinary, Return, Main, or rack chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnly=false, and idempotent=false. The description adds meaningful context beyond that: the operation is two-phase (plan first, then delete) and applies to devices in ordinary, Return, Main, or rack chains. Still doesn't state irreversibility or permission requirements in prose.

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?

A single front-loaded sentence with no filler. Slightly awkward phrasing ('ordinary, Return, Main, or rack chain') costs a point but nothing is wasted.

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?

For a destructive mutation with rich annotations, 100% schema coverage, and no output schema, the definition is largely sufficient — the plan/confirm mechanics live in the schema. It could still note that the confirmation token is short-lived and single-use, which the description omits.

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 description coverage is 100%, so baseline is 3. The description adds only the qualifier 'one exact loaded device,' which reinforces uniqueness of deviceId but contributes little beyond what the fully documented schema already provides.

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?

States a concrete verb ('delete') and resource ('device'), and scopes it to 'one exact loaded device' in specific chain types, which distinguishes it from move_device and generic delete_session_object. It doesn't name those siblings, but the scope is precise enough that an agent can identify it.

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

Usage Guidelines3/5

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

The description implies usage via 'Plan or delete' and the schema's dryRun parameter clarifies the two-phase flow, but no explicit when-to-use vs. alternatives or prerequisites are stated in the description itself. Adequate but leaves routing to inference.

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

delete_rack_macro_variationA
Destructive

Plan or delete one exact zero-based rack macro variation. Destructive: Live does not expose saved variation contents for preview or reconstruction. Requires confirmation and reports observed count.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
variationIndexYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is known. The description adds genuinely useful non-annotation context: Live exposes no saved variation contents for preview or reconstruction, and confirmation plus an observed count are reported. That is real added value beyond the annotations.

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?

Three short sentences, no filler, and the destructive constraint plus the irreversibility caveat are front-loaded before procedural details. Every sentence carries information.

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?

There is no output schema, and the description covers the essentials for a destructive mutation: confirmation requirement, irreversibility, and that an observed count is returned. It is nearly complete, though it could say more about how the observed count should be interpreted or reconciled with expectedStateVersion.

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 86%, so the schema already documents most parameters (dryRun, planHash, confirmationToken, expectedStateVersion). The description only adds the "zero-based" indexing convention for variationIndex, which the schema's minimum:0 does not convey. Baseline 3 is appropriate given the schema does the heavy lifting.

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?

States a specific verb pair (plan/delete) plus exact resource (one zero-based rack macro variation), which cleanly distinguishes it from store_rack_macro_variation and recall_rack_macro_variation. It does not name those siblings explicitly, so it stops short of a 5.

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

Usage Guidelines3/5

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

"Plan or delete" plus "Requires confirmation" implies a two-phase flow (dry run, then confirm), and the dryRun schema field supports that. However, it never states when an agent should choose the planning path over the delete path or what alternatives exist, leaving the routing implicit.

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

delete_session_objectA
Destructive

Plan or delete an exact track, Return Track, scene, or Session clip with explicit content authority. Return deletion discloses its devices and affected track-send lanes.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdNoStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
targetIdYesStable target ID.
targetTypeYes
allowContentNoAllow deletion of contained material or a Return Track and its send lane.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely new behavior: it discloses that Return deletion surfaces the affected devices and track-send lanes, and that content deletion requires explicit authority. That is real value beyond the 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?

Two tight sentences, front-loaded with the plan/delete action and target scope, followed by the Return-specific consequence. No filler, though the second sentence is somewhat narrow relative to the tool's full scope.

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?

For a destructive 8-parameter tool with no output schema, the description covers the action, target scope, authority gating, and a notable side effect of Return deletion. It omits the token/state-version freshness expectations, but those are documented in the schema, and no output schema exists to require return-value prose.

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 description coverage is 88%, so the parameters are largely self-documenting and the baseline is 3. The description reinforces allowContent ('explicit content authority') and the dryRun plan/delete duality, but adds no format or lifecycle detail for planHash or confirmationToken beyond what the schema already provides.

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 states a specific verb pair (plan/delete) and enumerates the exact resources affected (track, Return Track, scene, Session clip), matching the targetType enum. This clearly separates it from siblings like delete_clip and delete_device. It stops short of naming those siblings explicitly, so it's clear but not maximally distinguishing.

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

Usage Guidelines3/5

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

The phrase 'with explicit content authority' implies a gated confirmation flow, and 'plan or delete' implies the two-phase workflow, but the description never states when to use this tool versus delete_clip, delete_device, or delete_arrangement_clip. Usage is implied rather than spelled out, leaving the agent to infer the dryRun-first pattern from the schema.

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

duplicate_arrangement_clipA

Plan or duplicate one exact Arrangement clip at a non-overlapping beat position on the same track. Preserves the source and validates its identity again at the native write boundary.

ParametersJSON Schema
NameRequiredDescriptionDefault
clipIdYesExact source timeline clip ID from list_arrangement_clips.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
startBeatsYesNonnegative destination position in beats.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false. The description adds real value on top: it discloses that the source is preserved, that the placement must not overlap, and that identity is re-validated at the native write boundary, which hints at the expectedStateVersion concurrency guard.

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?

Two tightly written sentences, front-loaded with the core action and constraint, with no filler. Every clause carries information.

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?

For a two-phase mutation tool with no output schema, the description covers the plan/duplicate duality, source preservation, and write-boundary validation. It could be slightly fuller on the dry-run-to-confirm workflow, but the schema already carries token semantics, so the agent has what it needs.

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 description coverage is 100%, so the schema already documents all seven parameters, including the confirmationToken/planHash pair. The description adds only marginal hints ('non-overlapping beat position' for startBeats, 'exact' for clipId), so the baseline 3 applies.

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 states a specific verb (duplicate/plan) and resource (an Arrangement clip) with clear scope constraints: same track and a non-overlapping beat position. This separates it from session-clip siblings like duplicate_clip, though it never names an alternative tool explicitly.

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

Usage Guidelines3/5

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

The phrase 'Plan or duplicate' implies a dry-run-then-commit flow, but the description never states when to choose this tool over move_arrangement_clip, duplicate_clip, or duplicate_clip_loop. Usage is implied rather than spelled out.

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

duplicate_clipB

Plan or duplicate an exact occupied Session clip into an exact empty slot.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
destinationClipIdYesStable 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.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=false, and openWorld=true, so safety context is structured. The description adds that the tool can plan before duplicating, and that the source must be an exact occupied clip and the destination an exact empty slot, which is useful behavioral context beyond the annotations. It does not describe token consumption, return format, or what happens on actual duplicate.

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 a single, front-loaded sentence with no wasted words. It communicates the core operation and its primary constraint immediately. Every part of the sentence earns its place.

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?

For a 7-parameter mutation tool with no output schema, the description is adequate but incomplete. It does not explain the two-step plan/confirm workflow, what gets created on eventual duplication, or what a successful plan returns, leaving the schema to carry most operational detail. The annotations and 100% schema coverage reduce but do not eliminate the gap.

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 description coverage is 100%, so all parameters are already documented in the input schema. The description does not add syntax, format, or meaning beyond what the schema provides for parameters like destinationClipId, expectedStateVersion, dryRun, planHash, or confirmationToken. Baseline 3 is appropriate when the schema fully carries parameter semantics.

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 states a specific verb-resource pair: duplicate an occupied Session clip into an empty slot. It implicitly distinguishes itself from arrangement-clip and loop duplication by specifying Session clips and exact slots, though it does not name sibling alternatives. The purpose is clear without opening the schema.

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?

The phrase 'Plan or duplicate' hints that the tool may be used in a dry-run first, but the description gives no explicit when-to-use, when-not-to-use, or sibling alternative guidance. It does not explain when to choose this over duplicate_session_object, duplicate_clip_loop, or duplicate_arrangement_clip.

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

duplicate_clip_loopB

Plan or duplicate the current loop region of one exact clip.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already disclose non-read-only, non-idempotent, non-destructive, open-world behavior, so the burden is lower. The description contributes the useful signal that the tool operates in either a planning or an executing mode, but it says nothing about what "duplicate the loop region" actually does to the clip (extends region, creates a copy, changes length), which is the key behavioral question for this operation.

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?

A single front-loaded sentence with the action and scope stated first and no filler. It is efficient, though the brevity borders on under-specification rather than disciplined conciseness.

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

Completeness2/5

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

With no output schema and an empty description of return values, the description should convey more about a mutating tool: what changes in state, whether the loop region is copied within the clip or to a new clip, and how the plan/confirm flow concludes. The undefined term "loop region" leaves an agent guessing about the actual effect.

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 description coverage is 100% across all six parameters, including dryRun, confirmationToken, and planHash, so the schema already carries the parameter meaning. The description adds nothing parameter-specific, which is the expected baseline 3 when the schema is this complete.

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 names a specific verb pair ("Plan or duplicate") and a precise resource ("the current loop region of one exact clip"), so the agent knows the scope is a single clip. It does not explicitly distinguish itself from near siblings like duplicate_clip or duplicate_arrangement_clip, which is the only thing keeping it from a 5.

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?

There is no statement of when to use this tool versus duplicate_clip, duplicate_arrangement_clip, or duplicate_session_object, all of which appear as siblings. The "Plan or duplicate" phrasing hints at a two-phase flow but the description never tells the agent when planning is required or when to proceed to execution.

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

duplicate_session_objectB

Plan or duplicate an exact track, Session scene, or clip, optionally naming a duplicated track.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOptional name for a duplicated track.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdNoStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
targetIdYesStable source ID.
targetTypeYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the mutation profile is covered. The description adds the plan-then-execute framing, but omits that a duplication mutates live set state and requires a matching dry-run token, details that the schema carries instead.

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?

A single front-loaded sentence with no filler; the target types appear before the optional naming behavior. Slightly dense, but nothing is wasted.

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?

For a mutating tool with no output schema and 8 parameters, the description omits the critical operational fact that dryRun defaults to a plan and execution requires a valid confirmationToken plus planHash. The schema covers these, so it is adequate but not self-sufficient.

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 description coverage is 88% across 8 parameters, so the schema already documents the parameters; the description adds only the optional track name, which the schema also states. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

States a concrete verb ('Plan or duplicate') and the resources it operates on ('track, Session scene, or clip'), which is specific enough for an agent to know what it does. It does not, however, distinguish itself from the sibling tools duplicate_clip, duplicate_clip_loop, or duplicate_arrangement_clip, leaving overlap for clip targets.

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

Usage Guidelines3/5

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

'Plan or duplicate' implies the two-phase workflow, and the mention of optionally naming a track hints at scope, but the description never says when to pick this over duplicate_clip or duplicate_arrangement_clip. Usage is only implied, not stated.

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

edit_drum_pattern_clipA

Plan or apply guarded replacement of selected drum lanes and bars in an existing MIDI clip. Preserves unrelated notes and verifies the complete native note set.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsYes
gridYes
lanesYesDrum lanes to replace inside the selected bars.
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
startBarYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=false. The description adds real behavioral context beyond that: it preserves unrelated notes and verifies the complete native note set, and 'guarded replacement' signals the confirmation gating. It does not spell out the expectedStateVersion/token/staleness consequences, so it stops short of a 5.

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?

Two tightly-written sentences with the primary action and scope front-loaded and the preservation/verification guarantee second. No filler.

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?

For a 10-parameter, 7-required mutation tool with no output schema, the description covers purpose and note-preservation but omits the guarded apply mechanics (expectedStateVersion, planHash, confirmationToken) and the return shape. The schema carries most of this, but the description leaves the multi-step workflow under-explained.

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 70% and the description adds no parameter-level meaning at all (no mention of grid, bars limit, lanes, or the confirmation flow). With moderate coverage and a complex nested lanes parameter, this is adequate but not compensating for the 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?

States a specific verb (replace/edit) and resource (selected drum lanes and bars in an existing MIDI clip), which cleanly separates it from create_drum_pattern_clip. However, it doesn't distinguish itself from the closely-named sibling plan_drum_pattern_edit, so the agent must guess which to use.

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

Usage Guidelines3/5

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

'Plan or apply' implies the two-phase dry-run/workflow context, and 'in an existing MIDI clip' distinguishes it from clip-creation tools. But no explicit when-to-use, when-not-to-use, or named alternatives (e.g. plan_drum_pattern_edit, apply_drum_variation) are given.

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

enqueue_nks_generation_jobsA

Plan or enqueue only explicitly selected eligible discovered presets, in batches of at most 100, using a single-use confirmation. Serum 2 and Omnisphere are limited to their deterministic factory pilots until every pilot record is validated. Does not generate or mark any preset saved.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
presetIdsYesExact preset IDs to enqueue; product-wide enqueue is not supported.
productSlugYesExact product slug.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.

TDQS

A3.6/5.0
Behavior4/5

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

Adds real context beyond the annotations: batch cap of 100, single-use confirmation token, product-specific gating (Serum 2 and Omnisphere restricted to deterministic factory pilots until validated), and the explicit exclusion 'does not generate or mark any preset saved'. This clarifies side-effect boundaries well for a non-readOnly, non-idempotent 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?

Three dense but front-loaded sentences; the primary action and scope lead, followed by product limits and the negative scope statement. No filler sentences, though the density borders on terse for a multi-step pipeline tool.

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?

No output schema exists, and while the description covers side effects and constraints, it does not explain how this tool relates to the claim/heartbeat/fail/complete/get_nks_generation_status siblings in the job lifecycle. Adequate for invocation but incomplete for workflow placement.

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 description coverage is 100%, so the schema already documents dryRun, planHash, presetIds, productSlug, and confirmationToken. The description reinforces the batch cap and single-use confirmation but adds little syntax or format detail beyond the schema; baseline 3 applies.

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?

States a specific verb (plan/enqueue) and resource (NKS generation jobs) scoped to 'explicitly selected eligible discovered presets'. It is distinguishable from pipeline siblings like claim/heartbeat/complete_nks_generation_job, though the 'plan or enqueue' duality overlaps with the dryRun flag and is not fully reconciled in prose.

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

Usage Guidelines3/5

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

Conveys scope constraints (only explicitly selected eligible presets, batches of at most 100, single-use confirmation) but gives no explicit when-to-use versus alternatives among the NKS job siblings. Usage is implied rather than routed.

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

fail_nks_generation_jobA
Destructive

Record a worker failure and return the leased NKS job to pending, or quarantine it after the retry limit. Does not change preset lifecycle.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonYesNon-empty failure reason.
presetIdYesStable NKS preset catalog ID.
workerIdYesLease owner identity.

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the annotations, the description discloses the state transition: the leased job returns to pending or is quarantined after the retry limit. It also clarifies a side-effect boundary by saying preset lifecycle is unaffected. It does not specify permissions or exact retry behavior, but the annotations already cover the safety profile.

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?

Two sentences, both front-loaded and purposeful. The first states the action and state outcomes; the second clarifies an important scope boundary without unnecessary detail.

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?

For a destructive, non-idempotent mutation tool with full parameter documentation and no output schema, the description gives enough outcome and scope information to invoke it correctly. It could be slightly stronger by mentioning error conditions or what a return value would contain, but nothing critical is missing.

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 description coverage is 100%, so the three parameters are fully documented in the schema. The description adds no parameter-level meaning, which is acceptable given the high coverage and yields the baseline score.

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: 'Record a worker failure and return the leased NKS job to pending, or quarantine it after the retry limit.' It also explicitly bounds the scope with 'Does not change preset lifecycle,' helping distinguish it from sibling NKS job tools and preset lifecycle operations.

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 phrase 'Record a worker failure' clearly signals the usage context, and the retry-limit outcome describes what happens afterward. However, it does not explicitly name when to choose this over siblings like complete_nks_generation_job or heartbeat_nks_generation_job, so a small routing gap remains.

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

get_audio_clip_stateA
Read-onlyIdempotent

Read gain, pitch, warp, marker, and native fade-switch availability for one exact Session or Arrangement audio clip, including timeline identity for Arrangement clips. Unsupported fade controls report supported=false, not a simulated value.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/destructive, so the bar is lower. The description adds genuine behavioral context beyond them: unsupported fade controls return supported=false rather than a simulated value, and Arrangement clips additionally include timeline identity. It does not describe error or auth behavior, but the return-shape caveat is a meaningful addition.

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?

Two sentences with no padding. The scope and resource list are front-loaded, and the supported=false caveat is a compact, high-value second sentence.

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?

With no output schema, the description carries the return-value burden and largely does so by enumerating the readable fields and flagging the supported=false convention. A read-only tool with two fully documented params needs little more; only exhaustive return structure is left unstated.

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 description coverage is 100%, so both trackId and clipId are already documented, including the clipId format hint about arrangement-clip IDs. The description adds no parameter-level syntax beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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?

States a specific verb (Read) plus the exact resources returned (gain, pitch, warp, marker, fade-switch availability) for one audio clip, scoped to Session or Arrangement. The read verb inherently contrasts with the sibling set_audio_clip_state, so the agent can distinguish it without opening the schema.

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

Usage Guidelines3/5

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

The scope ('one exact Session or Arrangement audio clip') implies when the tool applies, but no alternative is named and no when-not guidance is given (e.g., directing to analyze_audio_clip or set_audio_clip_state for the write counterpart). Usage must be inferred.

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

get_audio_source_beat_timesA
Read-onlyIdempotent

Read native warped clip-beat positions for source-audio seconds. Uses Live's sample-to-beat converter, not interpolation from sparse warp markers; does not edit the clip.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
sourceSecondsYesSource times to convert, in order.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description still adds genuine value by disclosing the conversion mechanism (native sample-to-beat converter vs. interpolation from sparse warp markers) and reaffirming that the clip is not modified. It stops short of describing return ordering or failure behavior.

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?

Two tightly written sentences, front-loaded with what is read, followed by the method distinction. Every clause earns its place with no redundancy.

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?

For a read-only conversion tool with full schema coverage and annotations, this is nearly complete. The main gap is that with no output schema, the description does not state the shape/ordering of returned beat positions, which an agent might reasonably want.

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 description coverage is 100%, with clipId, trackId, and sourceSeconds all documented including the 256-item cap. The description's 'for source-audio seconds' reinforces the unit for sourceSeconds but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

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?

States a specific verb (Read) and resource (native warped clip-beat positions for source-audio seconds), so the conversion direction is unambiguous. It further distinguishes its methodology ('sample-to-beat converter, not interpolation from sparse warp markers'), though it never names the sibling warp-marker tools it is contrasting with.

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

Usage Guidelines3/5

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

The method contrast implies when this tool is preferable to warp-marker-based approaches, and 'does not edit the clip' signals a read-only use case. However, there is no explicit when-to-use/when-not statement or named alternative, leaving the agent to infer routing among the many audio-clip siblings.

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

get_automation_capabilitiesB
Read-onlyIdempotent

Report exact supported and unsupported automation and per-note expression surfaces.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that it reports both supported AND unsupported surfaces (useful negative information), but says nothing about what is queried or how results are scoped.

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?

A single front-loaded sentence with no filler. It is efficient, though the phrase 'per-note expression surfaces' is terse enough to be slightly opaque.

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?

With no output schema and an abstract term like 'surfaces', the description never indicates what the returned capability data looks like or what domains are covered, so an agent cannot anticipate the response. This is a gap, though the tool is low-risk and no-arg.

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?

The tool takes zero parameters and the schema is an empty object with additionalProperties=false, so there is no parameter semantics to convey. The baseline of 4 applies since the empty schema is unambiguous.

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?

States a concrete verb ('Report') and a specific resource ('automation and per-note expression surfaces'), clearly distinguishing it as a capability-introspection tool from the many mutating siblings. It is clear but leaves the notion of a 'surface' somewhat abstract, and it does not name a sibling it is meant to precede.

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?

There is no explicit when-to-use or when-not-to-use guidance and no alternatives are named. The reader can only infer that this is a discovery call to run before planning automation, with nothing stating that intent or any prerequisite ordering.

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

get_beat_repeat_performance_contextA
Read-onlyIdempotent

Read one native snapshot of a loaded Beat Repeat's Repeat, Grid, Interval, Block Triplets, Mix Type, all exposed parameters and their display values, track routing, monitoring, and transport. Grid and Interval expose labels at their native integer positions; duplicate labels are not assumed equivalent, and quantized behavior is not inferred from this mapping. Read-only; no audible outcome is inferred.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/non-destructive, but the description adds meaningful behavioral context not in annotations: that duplicate labels are not assumed equivalent and quantized behavior is not inferred from the Grid/Interval label mapping, plus 'no audible outcome is inferred'. It stops short of describing the return shape in detail.

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?

Front-loaded with the core action and enumerates the exposed surface efficiently in one dense sentence. It is somewhat run-on but every clause carries information, with no padding.

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?

With no output schema, the description compensates by enumerating what is returned (parameters, display values, routing, monitoring, transport). It is nearly complete for a read tool, though it doesn't clarify the response shape or nesting of the exposed data.

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 description coverage is 100%, so both trackId and deviceId are already fully documented with origin hints. The description adds no extra parameter semantics, making the baseline 3 correct.

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?

States a specific verb (read) and a precise resource (one native snapshot of a loaded Beat Repeat's parameters, routing, monitoring, transport). It is clearly differentiable from generic siblings like list_device_parameters or get_device_hierarchy. It doesn't explicitly name a sibling to contrast against, which keeps it at 4 rather than 5.

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

Usage Guidelines3/5

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

'Read one native snapshot' implies a single-shot inspection use, but the description never states when to prefer this over list_device_parameters, get_device_hierarchy, or capture_device_parameter_snapshot. Usage is implied by the resource name rather than guided.

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

get_browser_item_metadataA
Read-onlyIdempotent

Read private MCP-managed tags, favorite state, and revision for one exact observed Live browser item or local audio sample. A Live user-folder sample shares the local Splice record only when its URI unambiguously matches a configured local Splice file; reserved URI delimiters and existing separate Live metadata preserve exact Live identity. For a local sample, use root local_splice and path [absolute directory, relative audio path]. Does not read native collections.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesNon-empty path to one item.
rootYesLive browser root or local_splice.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare the full safety profile (readOnly, idempotent, non-destructive), so the bar is lower; the description still adds real context beyond them, notably the scope exclusion about native collections and identity-resolution semantics for Live-vs-Splice records.

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?

Front-loaded with the read purpose, then the identity caveat, then parameter usage. Dense and slightly jargon-heavy ('reserved URI delimiters') but no filler sentences.

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?

For a read-only two-parameter tool with no output schema, the definition covers what is read, the scoping boundary, and the special local-sample addressing. Adequate overall, though it lacks guidance on sibling selection.

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 meaningfully explains the local_splice case: root=local_splice with path=[absolute directory, relative audio path], which enriches the terse schema note.

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?

States a specific verb ('Read') and a precise, scoped resource: private MCP-managed tags, favorite state, and revision for one exact browser item. The qualifiers 'private MCP-managed' and 'one exact observed' cleanly distinguish it from search_browser_item_metadata and set_browser_item_metadata.

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

Usage Guidelines3/5

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

Provides one explicit exclusion ('Does not read native collections') and special-case routing for local samples via root local_splice, but never names the sibling to use instead for searching or bulk listing. Usage context is implied rather than spelled out.

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

get_browser_itemsA
Read-onlyIdempotent

Browse one exact level of Live's factory, plug-in, Pack, Max for Live, project, or user-content browser. Supply offset and limit together to page large roots. Optionally join private MCP tags and favorites for exact child identities, not native Live collections.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoPath below the root.
rootYesLive browser root.
limitNo
offsetNo
includeMetadataNoJoin private MCP tags and favorites for children with exact URIs.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds meaningful behavior beyond that: it is a single-level browse (not recursive), paging requires offset+limit together, and includeMetadata joins private MCP tags/favorites rather than native Live collections. It omits auth/rate-limit context but that is minor here.

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?

Three tightly packed sentences with zero filler; the scope statement is front-loaded, followed by paging and metadata behavior. Every sentence carries actionable information.

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?

With no output schema, the description should ideally describe the shape of returned items, which it only implies ('one exact level'). It otherwise covers root values, paging, and the metadata join well, and annotations carry the safety profile, so it is nearly complete for a read-only browse tool.

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?

With 60% schema description coverage, the description compensates: it enumerates valid root values (factory, plug-in, Pack, Max for Live, project, user-content) and explains that offset and limit must be supplied together for paging. The includeMetadata nuance ('not native Live collections') also adds precision beyond the schema's wording.

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?

States a clear verb (Browse) and resource (Live's factory, plug-in, Pack, Max for Live, project, or user-content browser), and 'one exact level' implies non-recursive listing, which implicitly distinguishes it from search_browser_items. It does not explicitly name the sibling it is not, so it falls short of a 5.

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

Usage Guidelines3/5

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

Gives one concrete usage rule ('Supply offset and limit together to page large roots'), which is helpful. However, it never states when to choose this tool over search_browser_items, get_factory_browser_items, or load_browser_item, so an agent still has to infer routing among many similar browser tools.

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

get_clip_groove_contextA
Read-onlyIdempotent

Read one native callback snapshot of exact clip/track names, MIDI note IDs and expression metadata or audio state, clip timing, complete Groove Pool and global musical context. Supports before/after validation of UI-only extraction and baking; does not execute them.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly=true, idempotent=true, destructive=false and openWorld=true, so the safety profile is covered. The description adds genuinely new behavior: it is a single-callback snapshot and it deliberately does not execute the extraction/baking operations it validates. It does not disclose pagination, cost or size limits, so it is not fully transparent.

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?

Two sentences, front-loaded with the scope of the returned snapshot and followed by the usage/behavior caveat. It is dense but every clause carries content. 'Native callback snapshot' is somewhat opaque jargon that mildly obscures the first sentence.

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?

There is no output schema, so the description properly enumerates what is returned (names, note IDs, expression/audio state, timing, groove pool, global context). Combined with the validation use case and the non-execution caveat, an agent has enough to call it correctly; only the exact response shape is left unstated.

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 description coverage is 100%, with clipId and trackId both documented in the schema, so the baseline is 3. The description adds no additional parameter meaning beyond what the structured fields already provide.

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?

States a specific verb (read) plus a clearly scoped resource snapshot: clip/track names, MIDI note IDs, expression metadata or audio state, clip timing, groove pool and global musical context. This scope is differentiated from narrow siblings like get_clip_timing and get_song_musical_context. It stops short of naming an alternative sibling explicitly, so it is clear but not fully distinguishing.

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

Usage Guidelines3/5

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

'Supports before/after validation of UI-only extraction and baking' gives a concrete use case, and 'does not execute them' clarifies a boundary. However, no when-not condition is stated and no alternative (e.g. inspect_clip_groove_postconditions or get_clip_timing) is named, so the agent must infer the routing.

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

get_clip_parameter_envelopeB
Read-onlyIdempotent

Sample one Session clip parameter envelope at exact beat positions.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
deviceIdYesStable device ID returned by list_devices.
parameterIdYesStable parameter ID returned by list_device_parameters.
sampleTimesNoBeat positions to sample.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is fully covered and the bar is lower. The description adds only that sampling is done 'at exact beat positions' on 'one Session clip', which is mild behavioral context, and says nothing about batching, limits, or the shape of returned samples.

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?

A single declarative sentence with zero filler, front-loading the verb, the scoped resource, and the sampling granularity. Nothing is redundant or padded.

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?

With no output schema and no annotations describing returns, the description should say what comes back (e.g. sampled values paired with each requested beat), but it does not. It is adequate for a read-only sampling call but leaves the return contract to inference.

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 description coverage is 100%, so all five parameters (including the IDs sourced from list_tracks/list_clips/list_devices/list_device_parameters and the sampleTimes beat positions) are already documented in the schema. The description's 'at exact beat positions' merely echoes the sampleTimes semantics, adding no new syntax or format detail.

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?

States a specific verb and resource ('Sample ... clip parameter envelope') and scopes it to 'one Session clip', which usefully distinguishes it from Arrangement-clip handling hinted at in the clipId schema and from the write counterpart set_clip_parameter_envelope. It never names a sibling explicitly, so it stops short of a 5.

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?

The phrase 'at exact beat positions' implies the caller must supply sampling positions, but there is no explicit when-to-use, no mention of needing list_device_parameters first, and no routing to set_clip_parameter_envelope or get_automation_capabilities as the alternative. An agent gets no guidance about when this tool is the right choice.

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

get_clip_timingA
Read-onlyIdempotent

Read clip loop, signature, launch quantization, Session launch Legato, native mute availability, groove assignment, and editor grid including triplets for one exact Session or Arrangement clip; Arrangement responses include timeline identity.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds one genuinely useful behavioral fact beyond that: Arrangement responses include timeline identity, and it enumerates the returned fields in the absence of an output schema. It says nothing about error conditions, permissions, or edge cases, so a mid score is appropriate.

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 content is packed into a single front-loaded sentence led by the verb and resource, with the Session/Arrangement caveat at the end. Every clause carries information, though the long field enumeration makes it run-on and slightly dense for quick scanning.

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?

With no output schema, the description usefully carries the return-value burden by listing the properties read back, and it notes the Arrangement-only timeline identity. Combined with the 100% schema coverage for both parameters, an agent has nearly everything needed, with only edge cases and error behavior left unaddressed.

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 description coverage is 100%, with clipId and trackId both documented in the schema (including the track-N:clip-M vs track-N:arrangement-clip-M distinction). The description reinforces that the call targets one exact clip but adds no new syntax or format detail, so the baseline 3 for schema-driven parameters is correct.

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 uses a clear verb ('Read') plus a named resource and enumerates the exact properties returned (loop, signature, launch quantization, Legato, mute availability, groove assignment, editor grid). It also scopes the target to 'one exact Session or Arrangement clip.' It is very specific, but it never names or distinguishes itself from close siblings like get_clip_groove_context or get_clip_parameter_envelope, so it stops short of 5.

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

Usage Guidelines3/5

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

The scope phrase 'for one exact Session or Arrangement clip' implies when the tool is applicable, and the read framing implies pairing with set_clip_timing to change these values. However, there is no explicit when-to-use, when-not-to-use, or named alternative among the many sibling read tools, so guidance remains implied rather than stated.

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

get_device_hierarchyA
Read-onlyIdempotent

Read recursive rack chains, native chain mixer state, populated Drum Rack pads, and observed rack macro/variation state. When Live exposes macro_mappings, include each mapping's displayed target path, parameter name, and min/max range; paths are descriptive, not stable target IDs. Variation contents remain unavailable.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare the read-only, idempotent, non-destructive profile, so the description correctly focuses on limitations beyond that. It discloses that macro mapping paths are descriptive rather than stable target IDs and that variation contents remain unavailable — genuinely useful caveats. Return shape is only partially described, holding it below a 5.

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?

Two sentences that are front-loaded with the read scope, followed by the macro_mappings detail. Every clause carries information; minor density in the second sentence keeps it from a 5.

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?

No output schema exists, so the description carries the return-value burden and does enumerate what comes back: chains, mixer state, drum pads, macro/variation state, plus the mapping detail and variation caveat. Adequate for a two-param inspection tool, though exact response structure is not defined.

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 description coverage is 100%, with both trackId and deviceId fully documented in the schema (including where each ID originates). The description adds nothing about parameter format or constraints, so the baseline 3 applies.

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?

States a specific verb (Read) and a concrete set of resources: recursive rack chains, chain mixer state, populated Drum Rack pads, and macro/variation state. An agent can tell it inspects deep device hierarchy rather than listing devices. It does not explicitly differentiate itself from the many sibling inspect_/list_ tools, keeping it from a 5.

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

Usage Guidelines3/5

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

Usage is only implied: the tool reads hierarchy state for a given track/device. There is no statement of when to prefer it over siblings like inspect_producer_chain or list_device_parameters, and no prerequisites or exclusions. Minimum viable but leaves routing to inference.

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

get_device_sidechain_routingA
Read-onlyIdempotent

Read exact native external-sidechain source type and channel choices for one loaded device. Reports unsupported explicitly; does not confuse device-sidechain routing with track input routing.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: it states unsupported cases are reported explicitly rather than silently, which tells the agent how failures appear.

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?

Two tight sentences with the core scope front-loaded and the disambiguation clause second. Every clause carries information; nothing is repeated from the schema or annotations.

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?

For a read-only two-parameter tool with a fully documented schema and annotations covering safety, the description supplies scope, the disambiguation from track routing, and unsupported-case behavior. Return-shape detail is not required since no output schema is exposed, leaving only minor gaps.

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 description coverage is 100%, and both trackId and deviceId have meaningful descriptions (origin of track-N/return-N/master, and list_devices origin). The description adds no parameter-level detail beyond the schema, so the baseline of 3 for full-coverage schemas applies.

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?

States a specific verb (Read) and precise resource (native external-sidechain source type and channel choices for one loaded device). It explicitly distinguishes itself from track input routing, which is the adjacent sibling concept, so an agent can tell it apart from get_track_routing/set_track_routing and set_device_sidechain_routing.

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?

Scopes usage clearly to one loaded device and warns against confusing this with track input routing, implicitly routing the agent to the routing tools for that case. However, it does not explicitly state when to prefer it over set_device_sidechain_routing (read vs write) or any prerequisites such as the device needing to be present.

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

get_factory_browser_itemsA
Read-onlyIdempotent

Browse one exact level of a Live factory browser root; optional offset and limit return a bounded child page. Optionally join private MCP tags and favorites for exact child identities, not native Live collections.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoPath below the root.
rootYesFactory browser root.
limitNo
offsetNo
includeMetadataNoJoin private MCP tags and favorites for children with exact URIs.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, so safety is covered. The description adds real behavioral context beyond that: results are scoped to a single level, offset/limit yield a bounded page, and the metadata join is optional. It omits paging defaults and how the page boundary is chosen, keeping it short of a 5.

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?

Two dense clauses, front-loaded with the core action before the paging and join qualifiers. No filler sentences, though 'exact child identities, not native Live collections' is compressed enough to need a second read.

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?

For a 5-parameter read tool with no output schema and 60% schema coverage, the description covers the level semantics and paging behavior but leaves defaults (limit, offset), root/path value expectations, and the shape of returned items unstated. Adequate but with clear gaps given the absent output schema.

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 60%, so the schema does part of the work; the description adds meaning for limit/offset (bounded child page) and includeMetadata (join private MCP tags and favorites). It says little about path depth or what 'root' accepts (native root names vs. paths), leaving part of the parameter surface to the schema.

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 names a specific verb and resource ('Browse one exact level of a Live factory browser root') and adds scoping ('one exact level'), which tells an agent this is a non-recursive, single-level listing. It never names the adjacent siblings it must be distinguished from (get_browser_items, list_browser_roots, search_browser_items), so routing still takes inference.

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

Usage Guidelines3/5

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

Usage is implied by the scoping phrase 'one exact level' and the optional paging/metadata clauses, but there is no explicit when-to-use versus when-not, nor any named alternative for recursive or search-style browsing. The 'not native Live collections' caveat hints at a boundary without stating the alternative tool.

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

get_factory_coverageA
Read-onlyIdempotent

Compare observed top-level Live factory browser devices with name-matched knowledge profiles. Reports missing profiles, not verified deep integration or all presets/Packs/plugins.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds valuable scope semantics beyond annotations: matching is name-based only and the result does not attest deep integration or cover all presets/Packs/plugins. That tells the agent how to interpret the output rather than over-claim.

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?

Two tight sentences with the primary action front-loaded and the scope caveat second. No filler, though the dense phrasing slightly reduces readability.

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?

With no parameters and no output schema, the description carries the interpretive burden, and it does so by stating what is compared and what the report does and does not assert. Adequate for a read-only diagnostic tool, though it could say more about the comparison basis.

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?

The tool takes zero parameters, so there is nothing for the description to document; baseline 4 applies. No parameter-level misinterpretation is possible.

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?

States a specific action on a specific resource: compare observed factory browser devices against name-matched knowledge profiles. The scope qualifier ('top-level') distinguishes it from the broader factory listings. It is somewhat jargon-heavy ('name-matched knowledge profiles') but an agent can still tell it apart from siblings like list_factory_device_profiles or get_factory_device_context.

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

Usage Guidelines3/5

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

The exclusion ('Reports missing profiles, not verified deep integration or all presets/Packs/plugins') implies the tool's intended boundary, but it never explicitly says when to reach for this versus list_factory_device_profiles or get_factory_device_context. Usage is implied rather than stated.

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

get_factory_device_contextB
Read-onlyIdempotent

Combine a loaded device's native parameters with matched factory knowledge and parameter-group coverage. For Auto Shift, report the current song key, Scale Aware and manual Root/Scale readbacks, and selected scale source; this does not prove audible pitch correction. Report exact configured plug-in controls or generic Max for Live exposed and currently enabled parameter IDs, including duplicate-name warnings. Hidden plug-in state, Max patch internals, and Max modulation targets are not exposed by this parameter surface.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower, yet the description still adds real behavioral context: exactly what is reported for Auto Shift, the caveat that readbacks do not prove audible pitch correction, duplicate-name warnings, and an explicit list of what is not exposed (hidden plug-in state, Max patch internals, Max modulation targets). That is meaningful disclosure beyond the structured fields.

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 four sentences and reasonably front-loaded: purpose first, then device-specific reporting, then limits. Every sentence carries content, though the middle sentences are dense and device-specific enough to be hard to scan.

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?

With no output schema, the description carries the return-value burden and only partially does so: it details Auto Shift output and the exclusion surface, but leaves the general return shape for other device types unspecified, and gives no parameter guidance. It is adequate for a read-only inspection tool but leaves gaps an agent would want filled.

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 description coverage is 100% and both parameters (trackId, deviceId) are documented in-schema, so the baseline of 3 applies. The description adds no additional meaning about the parameters, their formats, or their interactions.

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

Purpose3/5

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

The verb+resource is present (combine a loaded device's native parameters with matched factory knowledge and parameter-group coverage), but 'factory knowledge' and 'parameter-group coverage' are abstract and left undefined. It never names or contrasts with plausible siblings such as list_device_parameters, get_plugin_integration_context, or get_factory_coverage, so an agent cannot easily tell it apart from them.

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?

There is no explicit when-to-use or when-not-to-use guidance, and no alternative tool is named. The statements about what is and is not exposed describe output scope rather than the conditions under which this tool should be chosen over list_device_parameters or get_plugin_integration_context.

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

get_history_stateA
Read-onlyIdempotent

Read current Ableton undo and redo availability.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered by structured data. The description's only additive content is clarifying that the 'state' is undo/redo availability, which is genuinely useful disambiguation but adds no depth about response shape or history semantics.

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?

A single front-loaded sentence with no filler, hedging, or redundancy. Every word (read, current, Ableton, undo, redo, availability) carries information.

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?

For a zero-parameter, no-output-schema query tool, the description tells the agent what is being read and for what purpose. It stops short of hinting at the return shape (e.g., booleans/counts of available undo and redo steps), which with no output schema is the one remaining gap.

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?

The tool takes zero parameters, so there is nothing for the description to compensate for; the baseline for a no-parameter tool applies. No parameter guidance is needed or expected.

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?

States a specific verb ('Read') and resource ('current Ableton undo and redo availability'), and disambiguates 'history state' from the sibling action tools undo/redo. It does not name those siblings explicitly, but the scope is unambiguous enough that an agent can distinguish this read-only query from the mutating undo/redo pair.

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

Usage Guidelines3/5

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

The description implies the usage (check availability before invoking undo/redo) but never states when to call this versus undo, redo, or get_live_state, and offers no exclusions or prerequisites. The intent is inferable from the wording alone, which is the definition of implied-only guidance.

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

get_live_scale_referenceB
Read-onlyIdempotent

Resolve one exact Ableton Live 12 scale and root to semitone intervals, pitch classes, note names, degrees, and scale family. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootNoteYesC=0 through B=11.
scaleNameYesExact Live scale name.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already cover the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the trailing 'Read-only' is largely redundant. The description does add value by enumerating the resolved outputs (semitone intervals, pitch classes, note names, degrees, scale family), but says nothing about behavior on an invalid scale name or missing Live connection.

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?

A single tight sentence that front-loads the verb and resource and then lists the return content. No filler or repetition.

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?

With no output schema present, the enumeration of returned musical data is genuinely useful, and the input contract is simple. It stops short of noting error behavior for unrecognized scale names, which is the only meaningful gap for a deterministic lookup tool.

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 description coverage is 100%: rootNote (C=0..B=11) and scaleName are fully documented in the schema. The description reinforces that the scale must be an exact Live name but adds no additional format or constraint detail, so it sits at the baseline.

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?

States a specific verb ('Resolve') plus resource ('one exact Ableton Live 12 scale and root') and enumerates the derived outputs. The word 'one exact' implicitly contrasts with the sibling list_live_scales, but the sibling is not named explicitly.

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?

There is no when-to-use/when-not guidance and no mention of alternatives such as list_live_scales (to discover valid scale names) or analyze_midi_clip_scale. The agent must infer that this is the lookup-after-you-know-the-name tool.

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

get_live_stateB
Read-onlyIdempotent

Read Ableton bridge identity, capabilities, set file path, tempo, playback, and state version.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds the list of returned fields, which is some value, but says nothing about freshness, whether the state is a live query or cached snapshot, or error behavior.

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?

A single front-loaded sentence with the verb first and no filler. It is appropriately sized, though the comma-separated field list is dense enough that it could be organized slightly better.

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?

No output schema exists, so the description must carry the return-value burden, and it does list the returned fields (identity, capabilities, file path, tempo, playback, version). This reasonably compensates for the missing output schema, though the structure and types of each field remain unstated.

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?

The tool takes zero parameters, so the baseline of 4 applies. There are no argument semantics to clarify, and the description correctly does not invent any.

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?

States a specific verb ('Read') and enumerates the resource contents: bridge identity, capabilities, set file path, tempo, playback, and state version. It is clear what the tool returns, but it does not differentiate itself from overlapping siblings like get_transport_context or get_history_state.

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?

There is no when-to-use guidance, no statement of context in which this snapshot is preferable to the many other state-reading siblings, and no exclusions. The agent must infer that this is a general-purpose state probe.

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

get_looper_performance_contextA
Read-onlyIdempotent

Read one native snapshot of a loaded Looper's State, Quantization, Monitor, Song Control, Tempo Control, all exposed parameters, global clip-launch quantization, track input/output routing, monitoring, and transport. Read-only; source readiness and audible outcome are not inferred.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare the read-only/idempotent safety profile, so the bar is lower. The description still adds real value by specifying it returns a single atomic 'native snapshot' and by explicitly warning that source readiness and audible outcome are NOT inferred, which prevents an agent from assuming the read tells it whether sound is actually happening.

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?

Two sentences, zero filler, with the core action front-loaded before the scope caveat. The long enumeration is dense but every listed facet is on-topic for what the snapshot includes.

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?

With no output schema, the description carries the burden of describing the return and does so by enumerating the snapshot contents. Combined with fully documented inputs, an agent can invoke it correctly; only the lack of alternative-tool routing holds it back.

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 description coverage is 100%: both trackId and deviceId are documented with their source tools (list_tracks, get_set_mixer, list_devices). The description adds no parameter-level detail beyond that, so the baseline 3 applies.

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?

States a specific verb ('Read') and resource ('one native snapshot of a loaded Looper') and enumerates the captured facets (State, Quantization, Monitor, Tempo Control, routing, transport). It is clearly distinguishable from the write counterpart set_looper_state, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

Usage is implied by 'a loaded Looper' (the device must exist and be loaded) but the description never states when to reach for this versus alternatives like list_device_parameters, get_track_routing, or get_live_state, nor any exclusions.

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

get_midi_clip_notesB
Read-onlyIdempotent

Read standard MIDI notes from one exact Session or Arrangement MIDI clip; Arrangement responses include timeline identity.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds one genuine behavioral detail the annotations do not: Arrangement responses include timeline identity, while Session responses apparently do not. No permission requirements or response shape beyond that.

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?

A single sentence with the core verb+resource front-loaded and the conditional Arrangement detail trailing after a semicolon. No filler, nothing redundant.

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?

With no output schema, the description must carry the return-value burden. It says the response is 'standard MIDI notes' plus timeline identity for Arrangement clips, but never characterizes what a note record contains (pitch, velocity, timing) or how standard differs from extended. Adequate but with clear gaps for a data-read tool.

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 100% and both clipId and trackId are fully documented in the schema, so the baseline is 3. The description adds only that the clip may be a Session or Arrangement clip, which is already implied by the clipId description.

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?

States a specific verb (Read), resource (standard MIDI notes), and scope (one exact Session or Arrangement MIDI clip). The word 'standard' implies a distinction from the extended variant, but it never names get_midi_clip_notes_extended, so sibling differentiation is left to inference.

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 when-to-use or when-not-to-use guidance. Given the sibling get_midi_clip_notes_extended exists in the same namespace, the description should say when the plain 'standard notes' read is preferred over the extended one; it does not. 'one exact clip' weakly implies no bulk listing, but nothing explicit.

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

get_midi_clip_notes_extendedB
Read-onlyIdempotent

Read stable note IDs, probability, release velocity, deviation, and other per-note fields from one exact Session or Arrangement MIDI clip; Arrangement responses include timeline identity.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, covering the safety profile. The description adds one useful behavioral detail — Arrangement responses include timeline identity — plus that note IDs are stable, but says nothing about pagination or return volume. With annotations doing the heavy lifting, this is an adequate 3.

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?

A single front-loaded sentence that packs the verb, resource, field list, and Arrangement caveat without filler. The field enumeration is dense but each item is relevant to tool selection.

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?

For a read-only tool with rich annotations, complete schema, and no output schema, the description is largely sufficient. It could do more to distinguish itself from get_midi_clip_notes / get_midi_clip_notes basic variant, which is the main decision an agent faces here.

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 100% and both trackId and clipId are fully documented, including the track-N:clip-M / arrangement-clip-M formats. The description only reinforces that the clip may be Session or Arrangement, adding marginal value beyond the schema, so the baseline 3 applies.

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?

States a specific verb (Read) and resource (per-note fields from one exact Session or Arrangement MIDI clip), and enumerates distinguishing fields like stable note IDs, probability, release velocity, and deviation. It does not name the near-identical sibling get_midi_clip_notes, so the agent must infer the difference from the field list rather than an explicit contrast.

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

Usage Guidelines3/5

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

The listed extended fields and the phrase 'one exact ... clip' imply when this tool is appropriate, but there is no explicit statement of when to prefer it over get_midi_clip_notes or any when-not guidance. Usage is suggested rather than specified.

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

get_nks_generation_jobA
Read-onlyIdempotent

Read one durable NKS generation job and its ordered event history without creating or changing the queue.

ParametersJSON Schema
NameRequiredDescriptionDefault
presetIdYesStable NKS preset catalog ID.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds real context beyond that: it clarifies it returns 'its ordered event history' and emphasizes it will not mutate the queue, which is useful behavioral detail for a job-inspection operation.

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?

A single front-loaded sentence with no filler. The read scope is stated first and the non-mutating guarantee follows without redundancy.

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?

No output schema exists, and the description compensates by naming what is returned ('the job and its ordered event history'). Annotations cover the safety profile. The main gap is the absence of explicit routing between this and the closely named sibling get_nks_generation_status.

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?

Only one parameter (presetId) with 100% schema description coverage, so the schema fully documents it. The description adds no additional meaning about the parameter (e.g., what happens if the ID is unknown), making this baseline 3.

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?

States a specific verb and resource: 'Read one durable NKS generation job and its ordered event history.' This clearly signals a single-job read operation. It does not explicitly distinguish itself from the sibling get_nks_generation_status, so sibling differentiation is only implicit.

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

Usage Guidelines3/5

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

'without creating or changing the queue' implies a read-only inspection context, but there is no explicit when-to-use guidance and no named alternative such as get_nks_generation_status or claim_nks_generation_job. Usage is implied rather than stated.

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

get_nks_generation_statusA
Read-onlyIdempotent

Read discovered preset and durable job counts for one product. Serum 2 and Omnisphere also report pilot size, validated count, gate state, queueable factory count (including already queued presets), remaining discovered pilot IDs, and unqueued discovered pilot IDs without a durable job. Does not create a queue or contact Live.

ParametersJSON Schema
NameRequiredDescriptionDefault
productSlugYesExact product slug.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/destructive, so the bar is lower. The description still adds real context: which products (Serum 2, Omnisphere) return extended fields, that queueable factory count includes already-queued presets, and that the call never contacts Live despite openWorldHint. This meaningfully extends beyond the 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?

Two sentences, purpose front-loaded, followed by scoping detail. The long enumeration of reported fields is dense but earns its place given the absence of an output schema. Minor verbosity in the field list.

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?

With readOnly annotations and no output schema, the description carries responsibility for describing return shape, which it does by enumerating counts, pilot size, gate state, and pilot IDs. A read-only status tool is adequately covered; only the missing routing to sibling job tools is a modest gap.

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 100% and the single parameter is documented ('Exact product slug.'), so baseline is 3. The description adds nothing about the slug's format or valid values beyond the schema, so no uplift.

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?

States a specific verb ('Read') and resource ('discovered preset and durable job counts for one product'), and enumerates the extra fields some products report. It distinguishes itself from the mutating siblings by noting it does not create a queue, though it never names an alternative tool. Clear but no explicit sibling differentiation by name.

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

Usage Guidelines3/5

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

The closing line ('Does not create a queue or contact Live') implicitly frames this as the safe inspection step before enqueueing, but there is no explicit when-to-use statement or named alternative (e.g., get_nks_generation_job). Usage must be inferred.

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

get_plugin_integration_contextA
Read-onlyIdempotent

Read product-aware integration state for a loaded supported third-party synth: Serum 2, Omnisphere, or VPS Avenger. Reports installed variants, configured controls, NKS lifecycle counts, internal preset-browser boundaries, and the separate Live UI save/User Library browser-load workflow. Loading a saved Live preset does not verify hidden plug-in state. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds real value beyond them: it enumerates the specific state categories reported and warns that loading a saved Live preset does not verify hidden plug-in state, a non-obvious caveat about data trustworthiness.

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?

Three sentences, front-loaded with the tool's identity and scope before the enumerated reports and the caveat. Dense but every clause carries information; only mild compression of the output list could tighten it further.

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?

For a read-only inspection tool with no output schema, the description adequately conveys what state is returned and the one important caveat about preset-load verification. An agent has enough to know when and how to call it, though return-shape specifics are only summarized.

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 description coverage is 100%, and both trackId and deviceId are fully documented in the schema (including how to obtain them). The description adds no parameter syntax or constraint detail, so the baseline 3 applies.

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?

Specific verb (read) and resource (product-aware integration state) with an explicit scope limit to three named third-party synths, which cleanly separates it from siblings like get_factory_device_context and get_preset. The enumerated outputs (installed variants, configured controls, NKS lifecycle counts, preset-browser boundaries, Live UI save workflow) leave no ambiguity about what the tool returns.

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 precondition is stated clearly — use for a loaded supported third-party synth (Serum 2, Omnisphere, VPS Avenger) — which implicitly excludes factory devices handled by siblings. It stops short of explicitly naming the alternative tool to use instead for unsupported or factory devices, so routing is inferable rather than spelled out.

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

get_presetB
Read-onlyIdempotent

Read one exact NKS preset catalog record.

ParametersJSON Schema
NameRequiredDescriptionDefault
presetIdYesStable NKS preset catalog ID.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds only the 'exact record' scoping nuance; it says nothing about not-found behavior, catalog freshness, or how the returned record relates to get_preset_metadata.

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?

One short sentence, front-loaded with verb and resource, with no filler. Nothing to trim.

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?

For a single-parameter read tool with full annotation coverage and no output schema, the basics are covered. However, with siblings like get_preset_metadata and search_presets in the catalog, the description does not clarify the division of labor or the failure mode for an unknown presetId, leaving a real gap.

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 description coverage is 100% and there is a single well-documented presetId parameter, so the schema carries the semantics. The description's 'exact' wording marginally reinforces exact-match lookup but adds no format or sourcing detail beyond the schema.

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?

States a specific verb (Read) and resource (one exact NKS preset catalog record), and the word 'exact' hints at single-record lookup versus a search. It does not explicitly differentiate from close siblings like get_preset_metadata or search_presets, so it stops short of a 5.

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?

The description gives no when-to-use guidance, no conditions, and no alternatives. An agent must infer from the name that this is the lookup-by-ID path rather than the search path, and nothing states what to do if the ID is unknown.

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

get_preset_metadataB
Read-onlyIdempotent

Read user tags, favorite state, and revision for one preset.

ParametersJSON Schema
NameRequiredDescriptionDefault
presetIdYesStable NKS preset catalog ID.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description usefully adds what is actually returned (tags, favorite state, revision), but says nothing about behavior when the presetId is missing or invalid.

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?

A single front-loaded sentence that conveys the subject, action, scope (one preset), and returned fields with zero filler.

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?

With no output schema, the description partially compensates by listing the returned fields, which is the key information an agent needs. It falls short only on error/missing-preset behavior and sibling routing for a low-complexity read tool.

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 100% and there is a single required parameter, so the schema already fully documents presetId. The description adds no format or sourcing detail beyond what the schema provides; baseline 3 applies.

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?

"Read user tags, favorite state, and revision for one preset" names a specific verb and resource and even enumerates the fields returned. It is clearly distinguishable from get_preset (full preset data) and set_preset_metadata (write counterpart), though it does not explicitly call out those siblings.

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 rather than get_preset, get_browser_item_metadata, or the set_preset_metadata counterpart. The use case is only implied by the verb "Read" and requires the agent to infer it from the name.

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

get_producer_chain_blueprintB
Read-onlyIdempotent

Return one ordered factory-device chain or shared-bus topology with exact browser paths, stage roles, execution tools, and explicit limitations.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, closed-world and non-destructive, so the safety profile is covered. The description adds that the result includes exact browser paths, stage roles, execution tools and 'explicit limitations', which is useful content context but no runtime behavior (errors on unknown target, dependency on an open Live set).

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?

A single dense sentence that front-loads the return type and then lists the payload fields. No filler, though the four-item list is slightly packed.

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?

With no output schema, the description does carry the burden of describing the return, and it does so at a high level. It omits what happens for a valid-looking but unavailable target and any dependency on session state, leaving modest gaps for a read-only lookup tool.

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?

There is one required 'target' parameter with 0% schema description coverage, but its 16 enum values (bass, drums, layered-synth-system, reverb-return, etc.) are largely self-explanatory. The description clarifies that the target selects either a device chain or a shared-bus topology, adding only marginal meaning beyond the enum.

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 gives a specific verb (Return) and resource (one ordered factory-device chain or shared-bus topology) and enumerates the payload it contains (browser paths, stage roles, execution tools, limitations). It implicitly contrasts with the sibling list_producer_chain_blueprints by saying 'one', but never names the sibling to make the distinction explicit.

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

Usage Guidelines3/5

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

Usage is only implied by the word 'one' and the singular-target schema; there is no statement of when to prefer this over list_producer_chain_blueprints or inspect_producer_chain. No prerequisites or exclusions are given.

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

get_set_mixerA
Read-onlyIdempotent

Read master and return-bus mixer state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is fully covered without description help. The description adds no behavioral context beyond that (no mention of what the returned mixer state contains or when it might be stale), so it neither helps nor contradicts.

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?

A single seven-word sentence with the verb and scope front-loaded and no filler. Nothing could be trimmed without losing meaning.

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?

With no output schema and no parameters, the description is the only signal about what comes back, and 'mixer state' is left undefined for both the master and return buses. An agent cannot tell whether volume, pan, sends, or routing are included, so the definition is adequate but not complete.

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?

Zero parameters, so the schema carries nothing that needs explaining and the description does not need to document inputs. Baseline for a parameterless tool applies.

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?

States a specific verb ('Read') and a scoped resource ('master and return-bus mixer state'), which distinguishes it from get_track_mixer (per-track) and from the setters set_master_mixer / set_return_mixer. It stops short of explicitly naming those siblings, so it is clear but not fully differentiated.

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

Usage Guidelines3/5

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

No sentence says when to call this versus set_master_mixer, set_return_mixer, or get_track_mixer. Usage is only implied by the read-oriented name and the 'Read' verb; an agent can infer it is the inspection half of a read/write pair, but nothing is stated.

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

get_song_grid_referenceB
Read-onlyIdempotent

Read a signature-aware one-bar step map for straight 16ths, eighth triplets, and sixteenth triplets from current Live tempo and meter. Distinguishes the one bar downbeat, meter beat starts, and 4-denominator eighth offbeats; includes non-binding 4/4 hip-hop, house, and trap placements, perceived half-time versus actual tempo change, and related MCP tool references. No song edits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, and the description's 'No song edits' only restates that safety profile. It does add genuinely new context with the caveat that hip-hop/house/trap placements are 'non-binding' and that perceived half-time is distinguished from actual tempo change, but says nothing about output shape or determinism limits.

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?

Two sentences with the purpose front-loaded and no filler, though the second sentence is a dense run-on of jargon ('4-denominator eighth offbeats') that slightly taxes readability. Size is appropriate for the amount of content covered.

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?

With no output schema, the description carries the burden of explaining returns, and it does list the conceptual components (downbeat, beat starts, offbeats, placements, half-time vs tempo change). It stops short of describing the actual output structure or format, which for a reference-lookup tool matters.

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?

The tool takes zero parameters, so there is no per-parameter semantics to explain; the baseline for a parameterless tool is 4. The description correctly implies the map is derived from current Live tempo and meter rather than from inputs.

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?

States a specific verb ('Read') and resource ('one-bar step map') and enumerates the grid divisions it covers, so an agent knows it returns reference grid data rather than song content. It does not explicitly differentiate itself from siblings like get_song_musical_context or get_clip_timing, leaving some overlap ambiguity.

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?

The description lists contents but never states when to call this tool, when not to, or which sibling to use instead. An agent must infer its role from the returned-content list alone.

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

get_song_musical_contextA
Read-onlyIdempotent

Read key, scale, time signature, quantization, groove, swing, and Arrangement loop context.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety and idempotency profile is fully covered without the description. The description adds only the field scope being read, which is modest additional value but does not describe return format, latency, or any caveat beyond what annotations and the field list convey.

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?

A single front-loaded sentence enumerating exactly what is read, with no filler or redundant restatement of the tool name. It earns its length by listing the concrete fields.

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?

With no output schema, the description usefully enumerates the fields returned (key, scale, time signature, quantize, groove, swing, arrangement loop), functioning as a proxy for the return shape. Combined with complete annotation coverage and zero parameters, this is nearly complete; only finer detail about formatting of values (e.g., what 'Arrangement loop context' includes) is missing.

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?

The tool takes zero parameters, so there are no parameter semantics to explain; the baseline for a zero-param tool is 4. The description correctly implies a parameterless, whole-song read.

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?

States a specific verb ('Read') plus the resource ('song musical context') and enumerates the exact fields returned (key, scale, time signature, quantization, groove, swing, arrangement loop). This clearly distinguishes it from the mutation sibling set_song_musical_context, though it does not explicitly name alternatives for the read-side siblings like get_clip_groove_context or get_song_grid_reference.

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

Usage Guidelines3/5

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

Usage is implied by the read-only nature and the field list (an agent can infer it should call this to inspect the song's global musical settings). However, there is no explicit when-to-use guidance and no exclusions relative to siblings such as get_transport_context, get_song_grid_reference, or get_clip_groove_context.

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

get_track_freeze_stateA
Read-onlyIdempotent

Read one track's native freeze state. On the tested Live 12.4.5, is_frozen is readable but has no setter, so freeze/unfreeze remain UI-only; Live's native error surfaces if a future version exposes the setter.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable track ID returned by list_tracks.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so safety is covered. The description adds real value beyond that: is_frozen is readable but has no setter on Live 12.4.5, and a native error surfaces if a future version exposes one. That is genuine behavioral context.

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?

Two sentences, front-loaded with the core operation, then the version-specific caveat. No filler. Slightly dense but every clause carries information.

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?

For a single-parameter read tool with full schema coverage and annotations carrying the safety profile, the description is sufficient. The only loose end is the tension with the existing set_track_freeze_state sibling, which is not reconciled here.

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 100% and trackId is already documented as the ID returned by list_tracks. The description adds no parameter-level detail, so the baseline 3 applies.

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?

States a specific verb and resource: 'Read one track's native freeze state.' An agent can distinguish it from a mutation tool. It does not name the sibling set_track_freeze_state, so the read/write split is only implicit.

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

Usage Guidelines3/5

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

Usage is implied by the read-only framing and the note that freeze/unfreeze remain UI-only, which tells the agent not to expect to change state. However, it never explicitly says when to call this versus set_track_freeze_state, despite that sibling existing.

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

get_track_midi_routingA
Read-onlyIdempotent

Read one track's native MIDI note routing (input/output notes and scale transposition) from its MIDIMap. Reports unsupported explicitly when Live does not expose it.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable track ID returned by list_tracks.

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the extra credit comes from disclosing the failure mode: 'Reports unsupported explicitly when Live does not expose it.' That tells the agent to expect an unsupported result rather than assume a misconfiguration, which is genuinely useful context not present in the structured fields.

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?

Two tight sentences with zero filler, front-loading the core read operation before the caveat. Every clause carries information.

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?

With no output schema, the description compensates by naming what the read returns (input/output notes, scale transposition) and how unsupported cases surface. It could say slightly more about the returned shape, but it is sufficient for a single-parameter read tool.

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?

Only one parameter, fully described in the schema (100% coverage) as the stable track ID from list_tracks. The description adds no additional parameter guidance, so the baseline 3 applies.

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?

Names a specific verb and resource ('Read one track's native MIDI note routing') and scopes it precisely to input/output notes and scale transposition from the track's MIDIMap. This clearly separates it from the sibling setter set_track_midi_routing and from the generic get_track_routing.

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

Usage Guidelines3/5

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

Usage is implied by the phrasing 'Read one track's ... routing' and the required trackId, but the description never states when to reach for this versus get_track_routing or set_track_midi_routing. No explicit prerequisites or exclusions are given.

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

get_track_mixerB
Read-onlyIdempotent

Read bounded track volume, pan, mute, solo, and named return sends.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable track ID returned by list_tracks.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safe read-only nature is covered. The description adds which mixer fields are read, which is useful context, but does not disclose other behavioral traits like error handling or return format. With annotations present, a score of 3 reflects the moderate added value.

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 a single, front-loaded sentence that lists the key data points without any redundancy. Every word contributes to conveying what is read.

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?

For a simple read-only tool with one well-documented parameter and rich safety annotations, the description is nearly complete. It does not explain what 'bounded' means or describe return values, but no output schema exists and the core purpose is clear.

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?

There is only one parameter (trackId) and the schema description coverage is 100%, with the schema explaining it as a stable track ID from list_tracks. The description adds no additional meaning beyond the schema, so the baseline of 3 applies.

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 states a clear verb ('Read') and resource ('track volume, pan, mute, solo, and named return sends'), making the tool's purpose obvious. It implicitly distinguishes from write siblings like set_track_mixer via 'Read', but does not explicitly name alternatives or clarify the scope relative to get_set_mixer.

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?

The description provides no guidance on when to use this tool versus alternatives, when not to use it, or any prerequisites. It simply states what it reads, leaving usage entirely to inference.

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

get_track_routingA
Read-onlyIdempotent

Read exact input, output, and monitoring choices for one track. Group Tracks expose monitoring as null because Live does not support it.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable track ID returned by list_tracks.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive). The description adds a genuinely useful behavioral detail beyond them: Group Tracks return monitoring as null because Live does not support it for that track type, which pre-empts a misread of the response. It doesn't describe the shape of the input/output routing values, but that is a minor gap given the annotation coverage.

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?

Two short sentences, the action and scope front-loaded, and the second sentence earns its place by flagging the null-monitoring edge case. No filler.

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?

For a single-parameter read tool with full annotation coverage, 100% schema coverage, and no output schema, the description adequately conveys what is returned and one important return-value edge case. It could be slightly richer about the routing fields themselves, but nothing needed to call it correctly is missing.

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 description coverage is 100% and the single trackId parameter is already documented as a stable ID returned by list_tracks. The description adds only 'one track', which does not extend the schema's meaning, so the baseline 3 applies.

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?

States a specific verb ('Read') and the exact resource returned: input, output, and monitoring choices for one track. This implicitly separates it from set_track_routing (write) and get_track_midi_routing (MIDI-specific), but it never names those siblings, so it falls short of an explicit 5.

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

Usage Guidelines3/5

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

Usage is implied by the verb and the required trackId, but there is no explicit when-to-use or when-not-to-use guidance and no reference to the alternative get_track_midi_routing or set_track_routing. Adequate but with clear gaps.

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

get_transport_contextA
Read-onlyIdempotent

Read transport playback, metronome, and count-in state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description earns credit by enumerating the specific state it exposes (playback, metronome, count-in), which is the only source of return-content information since no output schema exists.

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?

A single front-loaded sentence with no filler; every word contributes to identifying the resource and its scope.

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?

For a parameterless read tool with rich annotations, the description adequately identifies the read scope. With no output schema, slightly more detail on the returned state shape would help, but the enumerated domains are sufficient for correct invocation.

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?

The tool takes zero parameters, so per the rubric the baseline is 4. The description correctly adds no parameter detail because there is nothing to document, and schema coverage is 100%.

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?

States a specific verb ('Read') and a concrete resource ('transport playback, metronome, and count-in state'), making it clearly distinct from the write counterpart set_transport_context. It does not explicitly name that sibling, but the read verb plus the enumerated state domains are unambiguous.

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

Usage Guidelines3/5

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

Usage is only implied: the read verb signals this is the inspection side of the transport API, but the description never states when to call it versus set_transport_context or get_transport_recording_context. No prerequisites or exclusions are given.

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

get_transport_recording_contextB
Read-onlyIdempotent

Read playhead, Arrangement and Session recording modes, automation arm, and native Capture MIDI readiness with MIDI track IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive, so the safety profile is covered. The description's listing of returned fields (recording modes, automation arm, capture readiness) does add behavioral scope that annotations don't, but there is no mention of freshness, cost, or how the read interacts with transport state.

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?

A single front-loaded sentence with no filler; every clause names a distinct returned field. It is slightly dense as a comma-separated list, but nothing is wasted.

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?

With no output schema, the description must carry the return-value burden, and it does enumerate the fields an agent gets back. What is missing is the relationship to sibling read tools and any guidance on how to act on the returned readiness flags.

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?

The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to compensate for. No parameter-related gaps exist.

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 ('Read') and enumerates the exact resources returned: playhead, Arrangement/Session recording modes, automation arm, and Capture MIDI readiness with MIDI track IDs. It is clear what the tool does, but it never distinguishes itself from the close siblings get_transport_context or set_transport_recording_context, so an agent must infer the boundary.

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?

The description states contents but gives no when-to-use, when-not-to-use, or alternative routing. An agent cannot tell from the text whether this should be called before set_transport_recording_context or capture_midi_session, nor whether it overlaps with get_transport_context. Usage is only inferable from the name.

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

heartbeat_nks_generation_jobB

Extend an unexpired NKS generation lease owned by this worker.

ParametersJSON Schema
NameRequiredDescriptionDefault
presetIdYesStable NKS preset catalog ID.
workerIdYesLease owner identity.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare openWorldHint=true and idempotentHint=false, and the description adds the meaningful precondition that the lease must be 'unexpired'. It does not disclose what happens when the lease has lapsed, whether renewal is bounded, or what a failed heartbeat returns. With annotations covering the mutation/safety profile, this is an appropriate 3.

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?

A single tight sentence with no waste, and the key precondition ('unexpired') is foregrounded. Size is appropriate for a narrow lease-heartbeat operation.

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?

For a state-mutating lease tool with no output schema, the description omits what the heartbeat returns and how an expired/foreign-owner lease is handled — the two failure modes an agent will most plausibly hit. Annotations and full schema coverage carry the rest, so gaps are real but not severe.

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 100%, so both presetId and workerId are already documented in the schema. The description's phrase 'owned by this worker' reinforces the workerId role but adds no format, constraint, or error semantics beyond the schema. Baseline 3 given the schema does the heavy lifting.

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?

States a specific verb (Extend) and resource (NKS generation lease) with the ownership scope ('owned by this worker'). An agent can distinguish it from claim/complete/fail/enqueue siblings by the 'extend an existing lease' semantics, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

The word 'heartbeat' in the name plus 'Extend an unexpired ... lease' implies periodic renewal while a generation job is in flight, but the description gives no explicit when-to-use, when-not-to-use, or pointer to the sibling lease-lifecycle tools. Usage must be inferred from the surrounding tool family.

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

humanize_midi_notesB

Plan or apply guarded deterministic MIDI timing and velocity humanization with exact clip, grid, and complete native note readback.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedYesDeterministic humanization seed.
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 to humanize.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
gridBeatsYesReference grid step in beats, including fractional triplet values.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
maxVelocityOffsetYesMaximum absolute velocity movement.
expectedStateVersionYesExact stateVersion observed immediately before planning.
maxTimingOffsetBeatsYesMaximum absolute timing movement in beats; must not exceed half gridBeats.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, so the mutation/safety profile is partly covered. The description adds 'guarded deterministic' and 'complete native note readback,' hinting at a confirmation-guard and full-state return, but it does not explain the guard mechanism, reversibility, or rate/limit behavior beyond what the schema shows.

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?

It is a single dense sentence with no filler, and the plan/apply distinction is front-loaded. It is slightly overloaded with qualifiers ('guarded deterministic ... exact ... complete native'), but every clause carries information relevant to the tool.

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?

For an 11-parameter mutation tool with no output schema, the description should be more explicit about the plan-then-apply safety workflow and what the readback returns. Annotations and the schema cover much of this, and 'complete native note readback' gestures at the output, but the definition leaves the workflow and constraints largely to inference.

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 description coverage is 100%, so all 11 parameters are already documented, giving a baseline of 3. The description adds only the loose notions of 'exact clip, grid' and 'readback' and contributes no new meaning (e.g., semantics of seed determinism or the half-gridBeats constraint) beyond the schema text.

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 names a specific verb pair ('Plan or apply') and a specific resource ('MIDI timing and velocity humanization'), plus scoping details like 'guarded deterministic' and clip/grid context. It is clearly about humanization. However, it does not differentiate itself from the near-identical sibling 'plan_midi_humanization,' so an agent cannot tell which to pick from the description alone.

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

Usage Guidelines3/5

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

The phrase 'Plan or apply' implies the dry-run/apply workflow, and the schema's dryRun/confirmationToken parameters reinforce it, but the description never states when to choose humanize_midi_notes over plan_midi_humanization or apply_midi_velocity_curve. Usage is only implied, with no explicit conditions or exclusions.

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

inspect_clip_groove_postconditionsA
Read-onlyIdempotent

Read current native context and inspect extraction, baking, or plain groove-removal postconditions against a supplied pre-action get_clip_groove_context snapshot. Does not execute the UI action, prove provenance, or validate audible equivalence. Extraction expects one appended groove and unchanged source/timing; baking expects removed assignment and unchanged unrelated timing/shared context; removal also requires unchanged source content.

ParametersJSON Schema
NameRequiredDescriptionDefault
beforeYesComplete pre-action native clip groove context snapshot; supplied data is not authenticated history.
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.
trackIdYesStable track ID returned by list_tracks.
operationYes

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent/no-destructive, but the description adds substantial extra context: it does not execute the UI action, does not prove provenance, does not validate audible equivalence, and it defines the expected postcondition set per operation (appended groove, removed assignment, unchanged source/timing/context). This is rich behavioral detail beyond structured fields.

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?

Front-loaded with the purpose and immediate exclusions, then the per-operation expectations. Dense but every clause carries information; slightly long for a single paragraph but not padded.

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?

For a read-only inspection tool whose annotations carry the safety profile, the description is nearly self-sufficient: it states scope, non-guarantees, and per-operation expectations. It does not describe the shape/format of the inspection result, and there is no output schema, leaving a minor gap.

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?

With 75% schema coverage the baseline is around 3, but the description elaborates the semantics of the 'operation' enum values by explaining what extract, bake, and remove each imply as postconditions, which adds meaning beyond the bare enum list. The 'before' snapshot's role is also reinforced.

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?

States a specific verb (inspect/read) and resource (clip groove postconditions) and explicitly scopes it against the sibling get_clip_groove_context snapshot, distinguishing it from the pre-action context tool. An agent can tell it apart from its siblings without opening any schema.

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?

Clearly implies the workflow (supply a pre-action get_clip_groove_context snapshot, then inspect postconditions after an extract/bake/remove operation) and names the not-do's. It does not spell out a crisp 'when to use this vs. X' rule or call out a named alternative beyond the snapshot source, so it stops short of a 5.

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

inspect_producer_busA
Read-onlyIdempotent

Read an existing Group Track, ordered bus FX, child sources and routing against a layered blueprint. Optional pluginId selects an explicitly chosen Serum 2, Omnisphere or VPS Avenger instead of the blueprint's factory instrument; this verifies loaded identity, not preset or sound.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYes
childrenYesOne track for each blueprint child role.
busTrackIdYesStable track ID returned by list_tracks.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds genuinely useful behavior context: it verifies loaded instrument identity rather than preset or sound, and explains what the optional pluginId does versus the blueprint's factory instrument.

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?

Two tightly packed sentences with the core purpose front-loaded and the pluginId caveat second. No filler, though the second sentence is dense enough to require a second read.

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?

Annotations cover the read-only safety profile, but with no output schema the description never says what an inspection returns (a conformance report, mismatch list, status flags). For a verification tool, the result shape is the main thing an agent still has to guess.

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 67%, and the description compensates by explaining the pluginId override semantics (explicit Serum 2/Omnisphere/VPS Avenger instead of the blueprint factory instrument, identity-only verification). It also frames target/busTrackId/children collectively as blueprint-conformance inputs, adding meaning beyond the raw schema descriptions.

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?

States a specific verb and resource: read a Group Track's ordered bus FX, child sources and routing, evaluated against a layered blueprint. This is distinct from siblings like inspect_producer_chain or inspect_producer_return_bus, though it never names them explicitly, so differentiation is inferable rather than spelled out.

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 sentence 'this verifies loaded identity, not preset or sound' gives a clear usage boundary for the optional pluginId path. It implies the tool's role (identity verification against a blueprint) but does not name when to prefer the chain/return-bus inspection siblings instead.

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

inspect_producer_chainA
Read-onlyIdempotent

Read the devices on one exact track and compare their factory profiles and order with a named producer-chain blueprint. No devices are loaded or changed.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYes
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description reinforces this with 'No devices are loaded or changed', which adds the detail that nothing is loaded (not just modified). Beyond that it discloses nothing about the comparison output, what a blueprint match means, or any failure modes.

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?

Two tight sentences; the core action is front-loaded and the no-side-effects guarantee closes it. No filler.

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?

There is no output schema, so the description must carry the return meaning: it does say it compares factory profiles and order, which is helpful. But the 'named producer-chain blueprint' has no corresponding input, leaving an agent unable to determine how the blueprint is specified — a real completeness gap for a 2-required-param tool.

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 50% — trackId is documented in the schema, but the 'target' enum has no per-value description. The description only loosely gestures at these ('one exact track', 'named blueprint') without explaining the target enum values (e.g. layered-bass-system) or how a blueprint name is supplied.

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?

States a specific verb+resource: read devices on one exact track and compare them against a producer-chain blueprint. The phrases 'one exact track' and 'producer-chain blueprint' differentiate it from siblings like inspect_producer_bus, inspect_producer_return_bus, and get_producer_chain_blueprint. Minor ambiguity: the description references a 'named blueprint' but no blueprint parameter exists in the schema, so how the blueprint is selected is unclear.

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

Usage Guidelines3/5

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

Usage is implied by 'one exact track' and the closing 'No devices are loaded or changed', which hints this is the non-mutating inspection counterpart to loading/placing devices. However, no sibling is named as an alternative and no explicit when-to-use/when-not condition is given.

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

inspect_producer_return_busA
Read-onlyIdempotent

Read an existing Return bus, ordered FX, child sources, sends and Sends Only routing against a layered blueprint. Optional pluginId selects an explicitly chosen Serum 2, Omnisphere or VPS Avenger instead of the blueprint's factory instrument; this verifies loaded identity, not preset or sound.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYes
childrenYesOne track for each blueprint child role.
returnTrackIdYesExact Return Track ID.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered by structured data. The description does add real value beyond that: it clarifies that pluginId verifies loaded identity and explicitly NOT preset or sound, which is a meaningful behavioral boundary. It stops short of describing what a mismatch produces or return shape.

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?

Two dense sentences, front-loaded with what is read before the optional-parameter caveat. No filler, though the second sentence is information-packed and slightly hard to parse on first read.

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?

For a read-only inspection tool with no output schema, the description lists the inspection surface (FX order, children, sends, routing), which is helpful. However it never describes what the tool returns or what happens when the blueprint does not match, which is the core question for a verification tool.

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 67%, so the schema handles most parameters. The description nonetheless adds semantics the enum alone cannot convey: that pluginId is optional, overrides the blueprint's factory instrument, and only asserts loaded identity. target and children/role semantics remain schema-only, which keeps it short of a 5.

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?

States a specific verb (Read) and resource (Return bus) and enumerates exactly what is inspected: ordered FX, child sources, sends and Sends Only routing, scoped against a layered blueprint. This distinguishes it functionally from inspect_producer_chain and inspect_producer_bus, though it never explicitly names those siblings.

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

Usage Guidelines3/5

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

The description implies the tool is used to verify an already-existing Return bus against a blueprint, but it offers no explicit when-to-use statement versus the sibling inspect_producer_* tools or prerequisites (e.g. must the bus already exist?). Usage is only inferable from the phrasing.

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

jump_to_arrangement_cue_pointB

Plan or move the playhead to one exact Arrangement cue point.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
cuePointIdYesStable cue-point ID.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, and the description's 'move the playhead' wording is consistent with a non-read-only but non-destructive navigation action. It adds the useful 'plan versus move' distinction but omits the state-version/confirmation-token workflow, so it neither contradicts nor richly extends the 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?

A single, front-loaded sentence with no filler that states the action and target directly. It is appropriately tight, though it is arguably too terse to carry any operational nuance.

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?

For a tool whose schema implies a two-phase plan/confirm workflow with required expectedStateVersion, the description only gestures at the workflow via 'Plan or move'. The fully documented schema and the annotations cover most of the missing detail, so the description is adequate but not complete.

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 description coverage is 100%, so the baseline is 3; the schema already documents cuePointId, dryRun, planHash, confirmationToken, and expectedStateVersion clearly. The description adds no syntax or format detail beyond that, so it does not raise the bar.

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 names a specific verb ('Plan or move') and resource ('the playhead to one exact Arrangement cue point'), so the agent knows this relocates the playhead rather than creating/renaming/deleting cue points like the sibling tools do. It is clear but does not explicitly name or contrast a sibling, so it stops short of a 5.

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?

There is no guidance on when to use this versus alternatives, nor when to use the plan mode versus the actual move. The 'Plan or move' phrasing hints at two modes but the description never explains the condition (dry run vs confirmed move) that selects between them.

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

launch_clipA

Plan or launch one exact Session clip slot. On an empty armed slot, optional recordLengthBeats requests fixed-length recording; launchQuantization is a one-shot override and does not change stored clip settings. The immediate response does not prove recording completed.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
recordLengthBeatsNoFixed recording length in beats for an empty armed slot.
launchQuantizationNoOne-shot native launch quantization choice from get_clip_timing or list_clips.launchQuantizationChoices.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true), so the bar is lower. The description adds genuine behavioral context beyond the annotations: recordLengthBeats only applies to an empty armed slot, launchQuantization is a non-persisted one-shot override, and the immediate response does not prove recording completed.

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?

Three tight sentences, front-loaded with the core action, then the two parameter caveats, then the async-result warning. No filler, though it is dense and could be marginally better organized.

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?

No output schema exists, so the description carries the return-value burden and does so by warning that the immediate response does not prove recording completed. Combined with fully documented schema fields and annotations, this is nearly complete; only the plan/confirmation flow's necessity is left to the schema.

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 baseline is 3, but the description adds real meaning for two parameters: it clarifies recordLengthBeats applies only on an empty armed slot and that launchQuantization is a transient override that does not alter stored clip settings. That is value beyond the schema text.

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?

States a specific verb+resource: 'Plan or launch one exact Session clip slot.' This clearly distinguishes it from siblings like launch_scene (whole scene) and stop_clip. It does not explicitly name those alternatives, but the 'exact Session clip slot' scoping is precise enough to differentiate.

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

Usage Guidelines3/5

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

The plan-or-launch duality is conveyed, and the schema documents dryRun's plan-vs-execute semantics, but the description never says when to use this versus launch_scene, stop_clip, or arm_track, nor when a dry run is mandatory. Usage is implied rather than stated.

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

launch_sceneA

Plan or launch one exact Session scene. Optional forceLegato launches all scene clips immediately in Legato, overriding their clip launch modes.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
sceneIdYesStable scene ID returned by list_scenes.
planHashNoHash returned by the matching dry run.
forceLegatoNoForce immediate Legato launch for every clip in this scene; defaults to false.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare the safety profile (not read-only, not idempotent, non-destructive, open-world). The description adds one real trait — forceLegato overrides clip launch modes — but omits the significant two-phase workflow (dry run returns planHash/confirmationToken required to actually launch) that actually governs behavior.

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?

Two tight sentences with zero filler: purpose first, then the one non-obvious parameter behavior. Every word earns its place and nothing is front-loaded incorrectly.

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?

For a mutation tool with a six-parameter plan/confirm handshake and no output schema, the description is thin: it does not explain that launching requires the planHash and confirmationToken from a matching dry run. The schema fills this gap, so it is minimally viable rather than broken.

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. The description still contributes beyond the schema by explaining that forceLegato forces immediate Legato launch across all scene clips and overrides their individual clip launch modes, a nuance the schema's phrasing does not convey.

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?

States a specific verb (launch) and resource (a Session scene) plus the dual plan/launch mode. It is distinguishable from siblings like launch_clip and stop_all_clips, but it never names or contrasts with them explicitly.

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

Usage Guidelines3/5

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

"Plan or launch" implies two operating modes, but the description never states when to use the dry run versus the real launch, nor how it differs from launch_clip. Usage is only implied, not guided.

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

list_arrangement_clipsA
Read-onlyIdempotent

Read timeline clip IDs, types, and start/end positions in beats for one track.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable track ID returned by list_tracks.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, open-world safety. The description adds the return payload (IDs, clip types, start/end positions in beats), which is meaningful because there is no output schema. It omits any count/pagination or empty-track behavior, keeping it short of a 5.

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?

A single front-loaded sentence with no filler; the returned fields and the track scope are both stated immediately.

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?

For a simple read-only, single-param tool with rich annotations, the definition covers scope and return contents adequately. The only missing element is routing guidance versus sibling clip-listing tools, which is minor for such a narrow tool.

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?

Only one parameter, and the schema documents it at 100% coverage including where the ID comes from (list_tracks). The description's 'for one track' confirms the scope but adds no format or sourcing detail beyond the schema, so baseline 3 applies.

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?

States a specific verb (read/list) and resource (arrangement timeline clips), plus the scope (one track) and the returned fields (IDs, types, start/end beats). This separates it from session-oriented siblings like list_clips, though it does not name the alternative explicitly.

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?

The description gives no when-to-use, when-not-to-use, or alternative guidance. It never mentions list_clips or get_clip_timing as contrast cases, so the agent must infer from the tool name alone whether this or a session-clip listing applies.

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

list_arrangement_cue_pointsA
Read-onlyIdempotent

List Arrangement cue points with stable IDs and beat positions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds useful output context by specifying that cue points include stable IDs and beat positions, but it does not describe ordering, pagination, or whether all cue points are returned.

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?

It is a single, front-loaded sentence with no filler. Every element earns its place: the operation, resource, and key return attributes.

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?

For a no-parameter read tool with full annotation coverage and no output schema, the description gives enough context: what is listed and that the items carry stable IDs and beat positions. It could optionally mention ordering or whether the result is scoped to the arrangement, but nothing critical is missing.

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?

The tool takes zero parameters, so per the rubric the baseline is 4. There are no parameter semantics to clarify, and the description appropriately does not invent any.

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: 'List Arrangement cue points.' It also names the key returned attributes ('stable IDs and beat positions'), distinguishing it from sibling mutation tools like create_arrangement_cue_point, rename_arrangement_cue_point, and delete_arrangement_cue_point.

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

Usage Guidelines3/5

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

The verb 'List' implies usage as a read/enumeration operation, so an agent can infer when to call it versus mutation siblings. However, the description offers no explicit when-to-use guidance, no alternatives, and no conditions or exclusions.

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

list_browser_rootsA
Read-onlyIdempotent

List Live's general browser roots with observed availability and immediate child counts. Read-only; this is not Splice cloud search or a filesystem inventory.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the 'Read-only' clause earns no credit. What does add value is the disclosure of return content ('observed availability and immediate child counts') and the explicit boundary against cloud/filesystem sources, which tells the agent this reflects live host state rather than an exhaustive inventory.

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?

Two short sentences, front-loaded with the action and payload before the scope exclusions. No filler and no repetition of schema or annotation content beyond the minimal safety note.

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?

For a parameterless, annotation-covered list tool with no output schema, the description covers purpose, scope boundaries and the shape of what comes back. The only omission is any note on result size or ordering, which is minor given there is nothing to configure.

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?

The tool takes zero parameters, so the baseline of 4 applies; there is nothing for the description to disambiguate and it correctly avoids inventing filters.

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?

States a specific verb and resource ('List Live's general browser roots') plus the payload it returns (availability, immediate child counts). The closing sentence actively separates it from Splice cloud search and filesystem inventory, so an agent can place it against siblings like list_local_splice_roots and search_browser_roots without opening a schema.

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

Usage Guidelines3/5

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

The exclusions ('not Splice cloud search or a filesystem inventory') implicitly indicate the right domain, but no sibling is named and there is no positive statement of when to call this versus search_browser_roots or get_browser_items. Usage is inferable but not spelled out.

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

list_clipsA
Read-onlyIdempotent

List clip slots and clips on one exact track, including arm/freeze recording readiness and native one-shot launch quantization choices.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable track ID returned by list_tracks.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by naming what the listing includes: arm/freeze recording readiness and native one-shot launch quantization choices. It does not discuss pagination or auth needs, but the annotations lower the burden.

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 a single front-loaded sentence with no filler. It efficiently states the action, scope, and included data.

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?

With no output schema, the description carries some burden for explaining return content, and it does so by naming arm/freeze readiness and launch quantization choices. It remains silent on return shape details like pagination or whether MIDI note data is included, but it is reasonably complete for a simple read-only listing tool whose safety profile is covered by annotations.

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?

The input schema has 100% description coverage for the single trackId parameter, so the baseline is 3. The description reinforces that the track must be exact but adds no syntax, format, or constraint details beyond what the schema already documents.

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 states a specific verb and resource ('List clip slots and clips') and confines scope to 'one exact track', which distinguishes it from broader clip or arrangement listings. However, it does not explicitly name or contrast with the sibling tool list_arrangement_clips, so sibling differentiation is implied rather than stated.

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?

The description offers no explicit when-to-use guidance, prerequisites, or alternatives. It does not tell the agent when to choose list_clips over list_arrangement_clips, get_audio_clip_state, or other clip-related tools.

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

list_device_parametersB
Read-onlyIdempotent

List exact live parameter IDs, values, bounds, labels, and quantized choices.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered structurally. The description adds the word 'live', implying it reads current runtime values rather than stored definitions, which is meaningful context, but it says nothing about scope, addressing behavior, or limits.

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?

A single tight sentence that front-loads the verb and enumerated output fields. Every word earns its place and there is no filler.

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?

With no output schema, the description usefully names the returned data (IDs, values, bounds, labels, quantized choices), and annotations cover the safety semantics. The main gap is the absence of usage/exclusion guidance and any note on addressing scope for the two required IDs.

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 description coverage is 100%, with both trackId and deviceId fully documented (including the source tool that produces the ID), so the schema carries the burden. The description adds no parameter-level detail beyond the schema, which is the baseline-3 case.

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?

Clear verb+resource ('List ... parameter IDs, values, bounds, labels, and quantized choices') that also enumerates the returned field set. It is easily distinguished from the mutating sibling set_device_parameters, but it does not explicitly name or contrast with any sibling, so it stops short of a 5.

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?

There is no statement of when to use this tool, when not to, or which alternative (e.g. capture_device_parameter_snapshot or get_device_hierarchy) applies. Usage is only implied by the verb 'List'; an agent gets no routing guidance in a very large sibling set.

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

list_devicesA
Read-onlyIdempotent

List loaded devices on one exact ordinary, Return, or Main track.

ParametersJSON Schema
NameRequiredDescriptionDefault
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds that it operates on exactly one track and returns currently loaded devices, but says nothing about ordering, whether rack-chain devices are included, or pagination. Adds some value beyond annotations, not rich context.

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?

One short sentence with zero waste, and the scope qualifier is placed right after the action so it is front-loaded for an agent scanning for the right tool.

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?

For a simple read-only single-parameter list tool with full schema coverage and annotations carrying the safety profile, the description covers what is needed to call it correctly. Minor gaps (result ordering, whether nested rack-chain devices appear) keep it from a 5.

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 100% and the single trackId parameter is already documented with its accepted forms (track-N, return-N, master). The description's 'ordinary, Return, or Main track' rephrases that same constraint, adding no new syntax or format detail. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

States a specific verb+resource ('List loaded devices') and the scope ('one exact ordinary, Return, or Main track'), which a reader can distinguish from siblings like list_device_parameters or get_device_hierarchy. It stops short of naming those siblings explicitly, so it lands at 4 rather than 5.

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

Usage Guidelines3/5

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

Usage is implied by the scope constraint ('one exact ... track'), but the description gives no explicit when-to-use versus when-not guidance and does not point at alternatives. Adequate but with clear gaps.

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

list_factory_device_profilesB
Read-onlyIdempotent

List producer-oriented knowledge profiles for foundational Ableton factory devices.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond that: it doesn't say whether the profiles are static reference data, whether the list is exhaustive or filtered, or what a profile actually contains.

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?

A single front-loaded sentence with the verb first and no filler. It is appropriately sized, though the vagueness of "producer-oriented knowledge profiles" means the brevity comes partly at the cost of precision.

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?

With no input schema and no output schema, the description carries the entire burden of telling the agent what comes back, yet it only gestures at "knowledge profiles" without describing their fields or how they would be consumed. The tool is simple enough that this is a minimum-viable but clearly incomplete definition.

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?

The tool takes zero parameters and the schema is empty, so there is no parameter semantics to explain. A baseline of 4 is appropriate; the description neither misleads about inputs nor needs to document any.

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?

States a specific verb ("List") and a scoped resource ("producer-oriented knowledge profiles for foundational Ableton factory devices"), so the agent knows this is a reference-listing tool rather than a lookup for one device. The term "knowledge profiles" is undefined jargon, and the description never contrasts itself with near-neighbours such as get_factory_device_context or get_factory_coverage, so differentiation is left to inference.

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?

There is no guidance on when to call this versus the many sibling read tools (get_factory_device_context, get_factory_coverage, list_producer_chain_blueprints). No prerequisites, no exclusions, no ordering advice — the agent must guess from the name alone.

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

list_live_scalesA
Read-onlyIdempotent

List Ableton Live 12 scale names with semitone intervals and musical families for exact scale selection. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the description's 'Read-only.' line repeats structured data rather than adding value. It does disclose the returned data shape (scale names, semitone intervals, musical families), which is useful, but it omits behavioral details such as ordering, count limits, or source of the scale list.

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 two short sentences and is front-loaded with the core purpose and returned content. The trailing 'Read-only.' is redundant with annotations but does not meaningfully bloat the definition.

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?

For a simple, no-parameter list tool with rich annotations and no output schema, the description gives enough about the returned data (names, semitone intervals, musical families) to call it correctly. It stops short of clarifying its relationship to sibling scale-reference tools or output ordering, but the gap is minor given the tool's simplicity.

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?

The tool takes zero parameters and the input schema is an empty object, so there are no parameter semantics to document. Per the rubric, zero parameters establishes a baseline of 4.

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 states a specific verb and resource: 'List Ableton Live 12 scale names with semitone intervals and musical families.' It clearly conveys what the tool returns and its intended purpose ('for exact scale selection'), but it does not explicitly distinguish itself from the similarly named sibling tool 'get_live_scale_reference.'

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

Usage Guidelines3/5

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

The phrase 'for exact scale selection' implies a usage context but provides no explicit when-to-use guidance, prerequisites, or alternatives. With sibling tools like get_live_scale_reference available, the description leaves the agent to infer which tool to call in a given situation.

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

list_local_splice_rootsA
Read-onlyIdempotent

List existing local Splice folders and cache paths, including detected macOS defaults and explicitly configured roots. Does not search Splice cloud assets, verify licenses, or download files.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: this inspects the local environment (detected macOS defaults) and performs no network/verification side effects, which matters given openWorldHint=true. It does not describe ordering or pagination of the returned roots.

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?

Two tight sentences: what it lists first, what it does not do second. No filler, no restatement of the tool name.

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?

With no output schema, the description carries the return-shape burden and does so adequately by naming the two kinds of roots returned (detected defaults and configured paths). Missing are any hints about result count, ordering, or what to do when no roots are found, but for a zero-param list tool this is close to sufficient.

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?

The tool takes zero parameters, which is the baseline-4 case; there is nothing to disambiguate. Schema coverage is also 100%, so no compensating detail is required.

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?

States a specific verb and resource (list local Splice roots: folders and cache paths) and immediately scopes what is included (macOS defaults plus explicitly configured roots). An agent can tell this apart from browse_local_splice_directory and search_local_splice_samples without opening a schema.

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 second sentence gives explicit exclusions — no cloud asset search, no license verification, no downloads — which clearly bounds the tool's territory. It stops short of naming the sibling tools (browse_local_splice_directory, search_local_splice_samples) that handle the excluded work, so routing is inferred rather than stated.

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

list_producer_chain_blueprintsB
Read-onlyIdempotent

List deterministic producer starting points for ordered track, bus, return, mastering, and layered-instrument chains.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds that the blueprints are deterministic starting points and enumerates the chain types they apply to, which is useful context, but says nothing about result size, ordering, or how the listed entries relate to the singular fetch 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?

A single front-loaded sentence with no filler; every phrase ('deterministic starting points', the enumerated chain types) carries meaning. Nothing is repeated from structured fields.

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?

With no output schema and no parameters, the description should ideally convey what a returned blueprint contains and how it is consumed. It establishes the scope of the list but leaves the shape and follow-up workflow (feeding into get_producer_chain_blueprint) to inference.

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?

The tool takes zero parameters, so the schema imposes no semantic burden and the baseline of 4 applies. There are no argument formats the description needs to explain.

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 gives a specific verb (List) and resource (producer chain blueprints / deterministic starting points) and enumerates the chain categories covered (track, bus, return, mastering, layered-instrument). It is clear what the tool returns, though it does not explicitly distinguish itself from the singular sibling get_producer_chain_blueprint.

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 when-to-use guidance is provided. With siblings like get_producer_chain_blueprint and inspect_producer_chain in the same family, the description never states that this is the discovery/enumeration step that precedes retrieval of a single blueprint.

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

list_saved_snapshotsA
Read-onlyIdempotent

List names of regular local capture files in the private track, device-chain, group-system, or MIDI-feel library. Does not validate capture contents or change Live; load a name to inspect its format and contents.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so 'does not change Live' largely repeats structured data. The genuinely additive disclosure is 'does not validate capture contents' plus the qualifier 'regular' files only, which tells the agent the listed names may include unusable captures - real behavior not captured by 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?

Two tight sentences with no filler; the primary purpose is front-loaded before the caveat and follow-up hint. Minor awkwardness in 'regular local capture files' is the only blemish.

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?

A read-only enumeration tool with one enum parameter and no output schema; the description communicates that names (not contents) are returned and how to proceed. Nothing essential for correct invocation is missing, though the discrepancy with the tool's own 'snapshot' naming could be clarified.

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 description coverage is 0%, so the schema supplies only bare enum values with no meaning. The description compensates by mapping those values to their libraries ('private track, device-chain, group-system, or MIDI-feel library'), giving the 'kind' parameter concrete semantics it would otherwise lack.

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?

States a specific verb (List) and resource (names of regular local capture files) and enumerates the four libraries it covers (private track, device-chain, group-system, MIDI-feel). It is clear what the tool returns, though the name/terminology mismatch ('saved snapshots' vs 'capture files') slightly muddies the identity against snapshot siblings like save_track_state_snapshot.

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

Usage Guidelines3/5

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

The closing clause 'load a name to inspect its format and contents' implies a follow-up workflow, giving the agent a reason to call this before loading. However, it does not explicitly name the load tool or state when this listing should be preferred over other enumeration tools, so usage is only implied.

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

list_scenesA
Read-onlyIdempotent

List stable Session scene identities, names, and per-scene launch quantization.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds only the claim that identities are 'stable' and that launch quantization is included per scene; it says nothing about ordering, empty-Set behavior, or whether quantization reflects the live or stored value.

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?

A single front-loaded sentence with no filler; the returned payload is enumerated compactly. Every word earns its place and nothing is buried.

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?

With no output schema, the description partially compensates by naming the three things returned (identities, names, per-scene launch quantization). For a zero-parameter read-only lister this is close to sufficient, though ordering, pagination, and empty-state behavior remain unstated.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The description correctly avoids inventing parameter semantics that do not exist.

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 states a specific verb ('List') and a precise resource ('stable Session scene identities, names, and per-scene launch quantization'), which is far more informative than a bare 'list scenes'. It does not, however, explicitly position itself against siblings such as create_scene, launch_scene, or set_scene_launch_quantization.

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?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. An agent must infer from the name alone that this is the discovery step before launch_scene or set_scene_launch_quantization.

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

list_tracksB
Read-onlyIdempotent

List stable Ableton track identities, mixer state, and existing group hierarchy.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered elsewhere. The one piece of added value is the disclosed payload (track identities, mixer state, group hierarchy), which matters since no output schema exists, but nothing is said about ordering, scope (returns/returns included?), or cost.

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?

A single sentence, front-loaded with the verb and resource, with the payload detail trailing. Nothing is padded and no sentence fails to earn its place.

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?

A zero-parameter read tool with no output schema needs the description to sketch the return shape, and it does so briefly. However, it omits scope details that matter here, such as whether return/master tracks are included and what 'stable identities' means for downstream calls that take track references.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies.

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?

States a clear verb ('List') and resource ('Ableton track identities'), and enumerates the payload components: mixer state and existing group hierarchy. This separates it from siblings like list_clips, list_scenes, and list_devices, though it does not name any alternative explicitly.

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 when-to-use guidance and no routing to alternatives. With sibling tools such as get_track_mixer, get_set_mixer, and get_device_hierarchy that overlap with 'mixer state' and 'group hierarchy', the description gives the agent no basis for choosing this tool over those.

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

load_browser_itemA

Plan or load one exact Live browser item onto a guarded ordinary, Return, or Main track. Ordinary-track plans sign Session clip occupancy; results report separate device-chain and Session-clip effects. Loading audio can create a clip without adding a device.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the loadable item.
rootYesLive browser root.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare it is a non-readOnly, non-destructive, non-idempotent, open-world mutation. The description goes further by disclosing that ordinary-track plans sign Session clip occupancy, that results separate device-chain and Session-clip effects, and that loading audio can create a clip without adding a device. These are real behavioral traits beyond the annotation surface.

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?

Three dense sentences, each carrying distinct information (scope, plan effects, audio-load caveat) with the track/scope constraint front-loaded. Slightly jargon-heavy but no filler.

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?

No output schema exists, and the description compensates by stating what plan results report (separate device-chain and Session-clip effects). For a guarded mutation with annotations and full schema coverage, the definition gives an agent enough to call it correctly.

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 description coverage is 100%, so dryRun, planHash, confirmationToken, trackId, path, root, and expectedStateVersion are all documented in the schema. The description reinforces the plan/load duality of dryRun but adds no syntax or format detail beyond what the schema already conveys, so the baseline 3 is appropriate.

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?

States a specific verb pair (plan or load) and a precise resource (one exact Live browser item) plus the target scope (guarded ordinary, Return, or Main track). This distinguishes it well from siblings like load_factory_browser_item or search_browser_items, though it does not name the alternative explicitly.

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

Usage Guidelines3/5

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

The 'Plan or load' phrasing implies a two-phase dry-run-then-commit flow and the target-track constraint narrows usage, but there is no explicit statement of when to prefer this over load_factory_browser_item or search_browser_items. Usage is implied rather than spelled out.

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

load_device_chain_snapshotA
Read-onlyIdempotent

Read a named local device-chain snapshot for review and guarded recall onto an already compatible track, Return, or Main device owner. Does not mutate Live.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact saved chain snapshot name.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so 'Does not mutate Live' largely restates what is structured. The added value is the 'already compatible track, Return, or Main device owner' constraint, which tells the agent about the valid target context, but no return format or error behavior is disclosed.

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?

Two sentences, front-loaded with the verb and resource, and no filler. The 'track, Return, or Main device owner' list is slightly clunky but each clause carries information.

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?

For a single-parameter, read-only tool with full annotation coverage and no output schema, the description supplies the key context (what is read, where it can be applied, non-mutation). It could still say more about how this differs from the dedicated recall tool, but nothing critical is missing.

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?

With schema coverage at 100% and a single required parameter ('name') already documented as the 'Exact saved chain snapshot name', the schema carries the burden. The description's 'named local device-chain snapshot' adds only marginal meaning beyond that.

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?

Names a specific verb ('Read') and resource ('named local device-chain snapshot') with an explicit scoping clause ('Does not mutate Live'). It implies differentiation from recall_device_chain_snapshot via 'guarded recall' and 'Does not mutate', but it never names the sibling that actually performs the mutation, so an agent must infer the boundary.

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

Usage Guidelines3/5

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

The phrase 'for review and guarded recall onto an already compatible track, Return, or Main device owner' implies a precondition (a compatible target owner) and a review-before-recall use case. However, it never states when to prefer this over recall_device_chain_snapshot or how to handle an incompatible target, leaving usage largely implied.

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

load_factory_browser_itemA

Plan or load one exact factory browser item onto a guarded ordinary, Return, or Main track. Ordinary-track plans sign Session clip occupancy; results report separate device-chain and Session-clip effects, which may be unconfirmed when Live changes neither topology.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to the loadable item.
rootYesFactory browser root.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, which the description is consistent with. The description adds real context beyond the annotations: the guarded two-phase plan/confirm flow and the honest caveat that results may be unconfirmed when Live changes neither topology.

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?

Two sentences, front-loaded with purpose before the caveat, and no filler. The second sentence is jargon-dense ('sign Session clip occupancy') but every clause carries information.

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?

For a seven-parameter mutation tool with 100% schema coverage and no output schema, the description supplies the missing framing: the guarded plan/confirm workflow and the possibility of unconfirmed effects. It omits prerequisites (expectedStateVersion/planHash pairing) but those live in the schema.

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 description coverage is 100%, so all seven parameters (dryRun, planHash, confirmationToken, expectedStateVersion, trackId, root, path) are already documented in the schema. The description only reinforces the target-track vocabulary for trackId and adds nothing about path/root or the token lifecycle.

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?

States a specific verb pair (plan/load), an exact resource (factory browser item), and the target track classes (ordinary, Return, Main). It is distinguishable from load_browser_item by the 'factory' qualifier, though it never names that sibling or explains the split explicitly.

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

Usage Guidelines3/5

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

'Plan or load' implies the dry-run-first workflow is the intended path, and the ordinary-track note hints at the planning branch. But there is no explicit when-to-use/when-not guidance and no routing versus load_browser_item or load_device_chain_snapshot, so usage must be inferred.

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

load_group_system_snapshotA
Read-onlyIdempotent

Read one saved group-system JSON capture for review or guarded recall onto compatible existing topology. Loading the JSON does not mutate Live or recreate tracks.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact saved group-system snapshot name.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds non-redundant context: loading 'does not mutate Live or recreate tracks', which clarifies it is a pure inspection/guard step and notes the 'compatible existing topology' precondition.

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?

Two tightly written sentences, the core read action front-loaded and the non-mutation guarantee immediately following. No wasted words.

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?

For a single-parameter read-only tool with full schema coverage and no output schema, the description covers purpose, non-mutation, and topology precondition. It could note what the returned capture contains, but nothing essential to correct invocation is missing.

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 description coverage is 100% for the single 'name' parameter ('Exact saved group-system snapshot name'), so the schema carries the burden. The description adds no syntax or naming detail beyond it, making the baseline 3 correct.

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?

States a specific verb (Read) and resource (saved group-system JSON capture) with the scope 'one'. It implies a distinction from recall/save siblings via 'for review or guarded recall', but never names the sibling tools explicitly, so an agent must infer the boundary.

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

Usage Guidelines3/5

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

'For review or guarded recall onto compatible existing topology' hints at the two usage modes, but gives no explicit when-to-use versus recall_group_system_snapshot, plan_group_system_recall, or save_group_system_snapshot. Usage is implied rather than stated.

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

load_midi_feel_templateA
Read-onlyIdempotent

Load a named stored-MIDI feel template from the private local library for review or guarded transfer. Does not change Live or retrieve native Groove Pool patterns.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact saved MIDI feel template name.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds meaningful context beyond them: the template comes from a private local library, the call has no side effects on Live, and it does not pull native Groove Pool patterns. That guards against the common misread that 'load' equals 'apply'.

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?

Two tight sentences with zero filler; the positive statement of what is loaded comes first and the exclusions follow.

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?

For a single-parameter read-only tool with annotations covering safety, the definition is nearly complete. The only gap is that there is no output schema and the description does not say what the loaded template returns, which matters for a 'for review' use case.

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?

Only one parameter exists and schema description coverage is 100% ('Exact saved MIDI feel template name'), so the schema already carries the semantics. The description merely says 'named', adding no format, case-sensitivity, or lookup details beyond the schema.

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 gives a specific verb+resource ('Load a named stored-MIDI feel template') with a clear scope ('from the private local library'), which separates it from save_midi_feel_template and apply_midi_feel_template. The trailing phrase 'for review or guarded transfer' softens an otherwise crisp statement but still conveys intent.

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?

It states the intended context ('for review or guarded transfer') and gives exclusions ('Does not change Live or retrieve native Groove Pool patterns'), which steers an agent away from apply_midi_feel_template and the Groove Pool siblings. It stops short of naming the alternative tool explicitly, so it is clear context rather than full when/when-not routing.

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

load_track_state_snapshotA
Read-onlyIdempotent

Read a previously saved local track-state JSON capture for review and explicit guarded recall onto an already compatible track. Does not mutate Live.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact saved snapshot name.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that the snapshot is a local JSON capture and that recall onto a compatible track is 'guarded', which is modest extra context but largely restates the no-mutation guarantee already in 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?

Two compact sentences with the core action front-loaded and no filler. The phrase 'explicit guarded recall onto an already compatible track' is slightly ambiguous but stays short enough not to hurt.

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?

For a one-parameter, read-only tool with no output schema and full schema coverage, the description gives enough to call it correctly, and annotations carry the safety profile. It could have clarified how the returned capture is used for the separate recall step, but the essentials are present.

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 description coverage is 100%, so the single 'name' parameter ('Exact saved snapshot name') is fully documented in the schema. The description adds no syntax, format, or naming convention beyond what the schema provides, so the baseline of 3 applies.

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?

States a specific verb (read/load) and resource (previously saved local track-state JSON capture), and the phrase 'for review' implies it differs from the sibling recall_track_state_snapshot. It does not name that sibling explicitly, so the differentiation is implicit rather than stated.

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

Usage Guidelines3/5

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

The description implies a review/inspection use case and adds 'Does not mutate Live' as a boundary, but it never says when to prefer this over recall_track_state_snapshot or save_track_state_snapshot. Usage is inferable but not spelled out.

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

map_rack_macro_to_parameterB

Plan or create one native macro mapping to an exact descendant device parameter. Rechecks rack and target-parameter snapshots at the native boundary, then reads back the observed mapping. Live chooses the default mapping range; inspect the result.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
macroIndexYesZero-based visible rack macro index.
parameterIdYesStable parameter ID returned by list_device_parameters.
targetDeviceIdYesStable device ID returned by list_devices.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly=false, destructive=false, idempotent=false, openWorld=true, so the safety profile is covered. The description adds useful context beyond that: snapshot re-checking at the native boundary and reading back the observed mapping. It still omits permission requirements, reversibility, and what gets mutated on commit.

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?

Three compact sentences that front-load the operation and the read-back behavior. Some phrasing ('at the native boundary') is jargon-dense, but no sentence is wasted.

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?

For a nine-parameter, two-phase plan/commit tool with no output schema, the description is only partially complete: it hints at the plan-vs-create flow and read-back but never lays out the required sequencing of dryRun, planHash, and confirmationToken. It says enough to attempt the call but not enough to execute the protocol confidently.

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 description coverage is 100%, so the schema fully documents all nine parameters and the baseline is 3. The description contributes only 'exact descendant device parameter' and 'default mapping range' and does not explain the planHash/confirmationToken/expectedStateVersion interplay beyond what the schema already says.

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 states a specific verb ('map') and resource ('rack macro to an exact descendant device parameter'), plus the plan-or-create duality. It is clear in isolation, but it never names or contrasts with close siblings like set_rack_macro_mapping_edge, so an agent must infer the boundary itself.

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

Usage Guidelines3/5

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

'Plan or create' plus the dryRun flag implies a two-phase workflow, and 'Live chooses the default mapping range; inspect the result' gives a hint about defaults. However, it never states when to prefer this over set_rack_macro_mapping_edge or other macro tools, so usage is only implied.

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

move_arrangement_clipA

Plan or move one exact Arrangement clip to a new beat position, preserving its span with staged copies, rollback, and an isolated undo step. Rejects collisions with other clips; self-overlap is supported.

ParametersJSON Schema
NameRequiredDescriptionDefault
clipIdYesExact timeline clip ID from list_arrangement_clips.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
startBeatsYesNew nonnegative timeline position in beats.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=false and idempotentHint=false, but the description adds substantial behavioral context beyond them: staged copies, rollback, an isolated undo step, collision rejection with other clips, and supported self-overlap. This materially clarifies the safety and mutation semantics of a move operation.

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?

Two dense sentences with no filler; the core action is front-loaded and the behavioral guarantees (rollback, undo, collision rule) follow immediately. Every clause earns its place.

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?

Given seven parameters, no output schema, and annotations that already cover the safety profile, the description supplies the key behavioral facts an agent needs (plan vs move, collision behavior, undo isolation). It stops short of explicitly walking the dry-run/confirmation token sequence, but the schema covers that.

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 description coverage is 100%, so all seven parameters (including dryRun, planHash, and confirmationToken) are already documented with meaningful descriptions. The prose adds no parameter-level detail beyond what the schema provides, so the baseline of 3 applies.

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?

States a specific verb ('move'), a precise resource ('one exact Arrangement clip'), and the target ('new beat position'). This is clearly distinguishable from siblings like duplicate_arrangement_clip, delete_arrangement_clip, and move_device, and the 'one exact' phrasing signals it operates on a single identified clip.

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

Usage Guidelines3/5

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

The 'Plan or move' phrasing implies the dry-run-then-commit workflow, but the description never states explicitly when to choose this over delete_arrangement_clip or duplicate_arrangement_clip, nor does it describe prerequisites or the confirmation flow in prose. Usage is implied rather than guided.

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

move_audio_warp_markerA

Plan or apply movement of an exact audio warp marker to a target beat. Preserves sample position; rejects neighbor crossing and the hidden terminal marker.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
beatTimeYesExact current marker beat time from audio state.
planHashNoHash returned by the matching dry run.
targetBeatTimeYesRequested target beat time.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.8/5.0
Behavior4/5

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

Beyond the annotations it discloses real behavioral constraints: sample position is preserved, neighbor crossing is rejected, and the hidden terminal marker cannot be moved. These are meaningful domain-specific gotchas an agent could not derive from the schema alone. It stops short of describing the dry-run/confirmation-token lifecycle.

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?

Two tight sentences with the core action and the key constraints front-loaded; every clause earns its place with no redundancy.

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?

For a mutation tool with no output schema and fully documented parameters, the description covers the plan/apply duality and rejection rules adequately. It could mention the confirmation-token workflow more explicitly, but the schema carries that.

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 description coverage is 100%, so all eight parameters are already documented in the schema. The description's 'target beat' language loosely maps to beatTime/targetBeatTime but adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.

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 states a specific verb and resource ('movement of an exact audio warp marker to a target beat'), clearly distinguishing it from siblings like add_audio_warp_marker and remove_audio_warp_marker. It does not explicitly name those siblings, but the verb makes the distinction obvious.

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

Usage Guidelines3/5

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

'Plan or apply' signals a two-phase workflow, hinting at the dry-run/apply split, but the description never states when to use this tool over the add/remove siblings or what prerequisites apply. Usage is implied rather than spelled out.

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

move_deviceB

Plan or reorder one exact device within its current ordinary, Return, Main, or rack chain. Live may choose the nearest valid position; read actualPosition and the new device ID from the result.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
targetPositionYesDevice-chain insertion index; zero is first.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-idempotent, open-world mutation. The description usefully adds that Live 'may choose the nearest valid position' (approximate placement) and that actualPosition/new ID must be read from the result, which is real behavioral context. It does not explain the two-phase confirmation/state-version precondition that gates a real move.

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?

Two tightly written sentences with the scoping constraint front-loaded and no filler. The leading 'Plan or reorder' is slightly ambiguous but the sentence remains efficient and well-ordered.

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?

For a 7-parameter, non-idempotent mutation with no output schema, the description usefully directs the agent to read actualPosition and the new device ID from the result. However it under-explains the plan/confirm workflow and the state-version guard, leaving meaningful context to the schema and annotations.

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 100%, so parameters are already documented; baseline is 3. The description adds only light meaning ('current ... chain' maps to trackId, 'nearest valid position' relates to targetPosition) without clarifying index semantics or the planHash/confirmationToken linkage beyond what the schema states.

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?

States a specific verb+resource+scope: 'reorder one exact device within its current ordinary, Return, Main, or rack chain.' The word 'exact' and 'current ... chain' implicitly contrast with move_device_to_chain, but the sibling is never named, so part of the differentiation is left to inference.

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

Usage Guidelines3/5

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

'Plan or reorder' gestures at the dry-run versus apply flow, but the description never states when to plan versus commit nor names move_device_to_chain as the alternative for relocating to a different chain. Usage is implied rather than explicit.

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

move_device_to_chainB

Plan or move an exact device into a rack chain across ordinary, Return, or Main tracks, including nested destinations. Live may choose the nearest valid position; use the returned device ID and actualPosition.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
targetChainIdYesExact chain ID from device hierarchy.
targetTrackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
targetPositionYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare the safe, non-destructive, non-idempotent, open-world profile, lowering the bar. The description adds real behavioral context by noting Live may pick the nearest valid position (non-deterministic placement) and that the returned device ID/actualPosition are the source of truth, but it omits reconstruction/rollback behavior for a hierarchy-mutating move.

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?

Two tight sentences with no filler, and the core action and placement caveat are front-loaded. It earns most of its length, though the placement-return note could be folded more tightly.

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?

For a nine-parameter, non-idempotent mutation with no output schema, the description covers the plan/move flow and hints at returned fields (device ID, actualPosition), but leaves the confirm-token safety flow and failure behavior to the schema. Adequate but not fully self-contained.

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 description coverage is 89%, so nearly every parameter is already documented in the schema. The description adds no format, allowed-value, or relationship detail (e.g., trackId vs targetTrackId semantics) beyond what the schema provides, so baseline 3 is appropriate.

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?

Clear specific verb (plan/move) and resource (an exact device into a rack chain), plus scope detail: ordinary, Return, or Main tracks, including nested destinations. It does not explicitly differentiate itself from the sibling move_device, so it stops short of a 5.

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

Usage Guidelines3/5

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

"Plan or move" implies the dry-run-then-apply workflow, and the schema's dryRun/planHash/confirmationToken params reinforce it, but the description never says when to prefer this over move_device or what precondition (a valid plan) must precede a live move. Usage is implied rather than stated.

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

open_live_setA
Destructive

Plan or request opening one existing absolute .als file in the running macOS Live app. Binds the current Set identity and source file; Live may require a user to resolve an unsaved-changes or file-load dialog. Only reports opened after bridge path readback; never dismisses dialogs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute path to an existing .als Live Set.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.
expectedSetFingerprintYesExact setFingerprint from get_live_state for the currently loaded Set.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false. The description adds real value beyond that: it binds Set identity and source file, warns that a user must resolve unsaved-changes/file-load dialogs, and specifies that it only reports success after a bridge path readback and never dismisses dialogs itself. That is meaningful behavioral disclosure.

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?

Three tight sentences with the core action front-loaded, followed by the identity-binding constraint and the dialog/readback caveats. No filler and every sentence carries information.

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?

For a destructive, non-idempotent mutation with no output schema, the description covers the dialog risk, verification behavior, and non-dismissal guarantee. It leaves the dryRun/confirm workflow details to the fully-described schema, which is acceptable, though it could have surfaced the plan-then-confirm sequence more explicitly.

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 description coverage is 100% and each parameter is documented in the schema, so the baseline is 3. The description adds no extra syntax or semantics for path, expectedStateVersion, expectedSetFingerprint, planHash, or confirmationToken beyond what the schema already 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?

States a specific verb (open) and resource (one existing absolute .als Live Set) with the platform scope (running macOS Live app). An agent can clearly distinguish it from save_live_set and get_live_state without opening the schema.

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

Usage Guidelines3/5

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

The 'Plan or request' phrasing hints at the two-phase dryRun/confirm flow and notes Live may require a user to resolve a dialog, but it never explicitly says when to choose this over save_live_set, undo, or get_live_state, nor when opening is appropriate vs discouraged. Usage is implied rather than stated.

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

panicB

Plan or stop Live playback immediately using the guarded panic operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnly=false, destructive=false, idempotent=false, openWorld=true). The description contributes the notion of a 'guarded' operation, hinting at the dry-run/confirmation workflow, but it does not state that the default call only returns a plan or that the token is single-use — details that happen to live in the schema rather than the description.

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?

A single front-loaded sentence with no filler. It is slightly redundant in restating 'panic operation' after naming the tool, but it earns its place and wastes no reader time.

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?

For a high-stakes, non-idempotent playback-stopping tool with no output schema, the description is thin: it omits the plan-then-confirm call sequence and, more importantly, gives no context on when this should be used over the many other transport/clip-stop siblings.

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 description coverage is 100% and the parameter descriptions are unusually informative (dryRun semantics, planHash, short-lived single-use confirmationToken, expectedStateVersion). The description adds no parameter meaning beyond that, so the baseline of 3 is appropriate.

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?

States a specific verb-region ('plan or stop Live playback immediately') and names the operation ('guarded panic'), so the agent understands it is a playback-stopping tool with a two-phase guard. It never distinguishes itself from sibling playback controls like transport_stop, stop_all_clips, or stop_clip, which is the remaining gap.

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?

There is no explicit when-to-use guidance and no alternatives named. The word 'panic' and 'immediately' imply an urgent, all-encompassing stop, but the agent is left to infer that this differs from transport_stop or stop_all_clips, and no prerequisites or when-not-to-use conditions are given.

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

place_session_clip_in_arrangementA

Plan or copy a Session clip onto its track's Arrangement timeline. Rechecks the exact source and timeline at the native write boundary, rejects overlap, verifies placement, and groups the copy in one Live undo step.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
startBeatsYesNonnegative Arrangement start in beats.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false), but the description adds real behavioral context beyond them: it rechecks source/timeline at the native write boundary, rejects overlap, verifies placement, and groups the copy into a single Live undo step. The overlap-rejection detail also corroborates the non-idempotent hint without contradicting anything.

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?

Two tight sentences, front-loaded with the operation, then the behavioral guarantees. Every clause earns its place and nothing is redundant with the schema.

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?

No output schema exists, yet the description conveys the essential write semantics (rechecks, overlap rejection, single undo group) an agent needs. The dry-run/confirm token mechanics are left to the schema, which documents them fully, so the pair is nearly complete.

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 description coverage is 100%, so all seven parameters are documented in structured form. The description only alludes to 'exact source and timeline' without adding format or constraint detail beyond what clipId, trackId, and startBeats already convey. Baseline 3 is appropriate when the schema does the heavy lifting.

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?

States a specific verb and resource: 'plan or copy a Session clip onto its track's Arrangement timeline.' An agent can distinguish this from siblings like duplicate_arrangement_clip or duplicate_clip. It stops short of naming which sibling it is not, so it lacks explicit differentiation.

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

Usage Guidelines3/5

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

'Plan or copy' implicitly signals the dry-run vs commit workflow, but the description never states when to run a plan versus a write, nor does it name alternatives (e.g., duplicate_arrangement_clip) for related operations. Usage is inferable only by cross-reading the schema's dryRun/confirmationToken fields.

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

plan_drum_patternB
Read-onlyIdempotent

Plan explicit multi-lane drum notes against the current Live meter on a straight-sixteenth, eighth-triplet, or sixteenth-triplet grid. Supports per-lane accents without treating style examples as universal rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsYes
gridYes
lanesYesExplicit drum lanes and their per-bar steps.
startBeatNoAbsolute clip beat offset; defaults to zero.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, and open-world, so the safety profile is covered. The description adds that planning is tied to the current Live meter and that per-lane accents are supported without forcing style rules on the caller, but it does not disclose what the resulting 'plan' is or how it differs behaviorally from its siblings.

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?

Two sentences, front-loaded with the core action and constraint, with no redundant padding. The second sentence is somewhat opaque ('style examples as universal rules') but still briefly worded.

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?

With annotations carrying the safety profile and no output schema, the description needn't explain returns, but it is thin for a four-parameter tool with a nested 'lanes' array and many confusing siblings. It should clarify the plan-vs-apply distinction and the role of 'bars'/'startBeat' to be fully actionable.

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 50%; 'lanes' and 'startBeat' are documented in the schema while 'bars' and 'grid' are not. The description compensates by spelling out the three grid options in prose and hinting at multi-lane structure, but it adds nothing about 'bars' or 'startBeat', so half the parameters still rely on the enum/type alone.

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 states a specific verb (plan), resource (multi-lane drum notes), and scope constraints (current Live meter, straight-sixteenth/eighth-triplet/sixteenth-triplet grid). An agent can understand what this produces. It does not, however, distinguish itself from close siblings such as plan_drum_pattern_edit, plan_drum_variation, or create_drum_pattern_clip.

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?

There is no statement of when to use this tool versus the many drum-related siblings (plan_drum_pattern_edit, plan_drum_variation, apply_drum_variation, create_drum_pattern_clip). The meter and grid mention is descriptive context rather than selection guidance, and no exclusions or alternatives are offered.

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

plan_drum_pattern_editA
Read-onlyIdempotent

Plan replacement of explicitly selected drum lanes and bars in an existing MIDI clip while preserving unrelated notes. Empty activeSteps clears that lane in the range.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsYes
gridYes
lanesYesDrum lanes to replace inside the selected bars.
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.
trackIdYesStable track ID returned by list_tracks.
startBarYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, idempotentHint=true), so the bar is lower. The description adds real behavioral semantics the annotations cannot: unrelated notes are preserved and an empty activeSteps clears that lane within the range. It does not describe what a 'plan' actually returns, but the surrounding gaps are minor.

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?

Two sentences, zero padding, and the core purpose is front-loaded ahead of the activeSteps edge case. Sized well for the tool's complexity.

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?

For a 6-parameter planning tool with no output schema and annotations carrying the safety profile, the description covers purpose and one important edge case but omits how the plan relates to the applying tool and any prerequisites. Adequate but with clear gaps.

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 description coverage is 50%; the schema documents note, role, gate, activeSteps, clipId and trackId, but bars, grid, startBar, velocity and accentVelocity are undocumented. The description compensates only for activeSteps (empty = clear lane), leaving the rest to inference, so a baseline 3 is warranted.

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?

States a specific verb and resource: 'Plan replacement of ... drum lanes and bars in an existing MIDI clip,' and adds scope ('explicitly selected', 'preserving unrelated notes'). It is distinguishable from plan_drum_variation/plan_drum_pattern by the explicit-selection semantics, but it never names the sibling it is not (e.g. edit_drum_pattern_clip, the applying counterpart).

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the focus on 'explicitly selected' lanes/bars suggests when this overrides a generative variation, but there is no explicit 'use this when X, use Y instead' guidance. No prerequisites or mention of the apply/edit sibling that would consume the plan.

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

plan_drum_variationA
Read-onlyIdempotent

Plan deterministic bounded timing and velocity humanization plus an optional explicit final-bar fill. Preserves unrelated notes and rejects collisions.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsYes
fillNo
gridYes
seedYesDeterministic variation seed.
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.
trackIdYesStable track ID returned by list_tracks.
startBarYes
laneNotesYesUnique drum pitches to humanize.
timingAmountYesMaximum timing movement as a fraction of the selected grid step.
velocityAmountYesMaximum velocity movement.
preserveAccentsAboveYesRequired threshold; do not alter velocity at or above it.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld. The description adds real behavioral context beyond that: it preserves unrelated notes and rejects collisions, and flags the operation as deterministic and bounded (mirroring seed/timingAmount/velocityAmount). It stops short of describing the plan output or how it is later applied.

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?

Two tight sentences, front-loaded with the core purpose and followed by the key behavioral guarantees. No wasted words.

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?

For an 11-parameter tool with a nested fill object and no output schema, the description covers intent and guarantees but omits how the resulting plan is consumed, whether it mutates state, and what the plan contains. Adequate but with clear gaps.

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?

Coverage is 64%, so the schema documents most parameters. The description adds meaning for timing/velocity amounts, the deterministic seed, and the optional final-bar fill, but leaves grid, startBar, bars, laneNotes, and preserveAccentsAbove to the schema alone. Baseline 3 for a partially-covered schema is appropriate.

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?

States a specific verb (plan) and resource (drum variation via bounded timing/velocity humanization plus optional final-bar fill). It's clearly a planning operation, but it does not distinguish itself from close siblings like plan_midi_humanization or plan_drum_pattern_edit.

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 when-to-use guidance is given. There is no mention of how this differs from apply_drum_variation (the applying counterpart) or plan_midi_humanization, and no prerequisites or exclusions. Usage is only implied by the tool name.

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

plan_grid_envelope_patternA
Read-onlyIdempotent

Read current Live grid and return exact on/off Session clip envelope steps for a straight or triplet rhythm, including Beat Repeat Repeat. No Live edits. Supply the exact native on/off values; set_clip_parameter_envelope validates the destination clip and parameter before any write. Rejects grid/bar misalignment.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsYes
gridYes
onValueYesNative parameter value during active steps.
offValueYesNative parameter value during inactive steps.
startBeatNoAbsolute Session clip beat offset; default zero.
activeStepsYesUnique 1-based active step numbers within each bar.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond that: it will 'reject grid/bar misalignment' (a validation/failure mode) and confirms 'No Live edits' to reinforce the read-only nature. This is useful disclosure the agent could not get from the annotations alone.

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?

Three sentences, front-loaded with the core action, then the no-edit confirmation and the sibling-tool handoff. Sentences are dense but each carries information; no filler. Slightly reduced readability from jargon keeps it below 5.

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?

With no output schema, the description does explain what is returned (on/off envelope steps including Beat Repeat Repeat), and annotations carry the safety profile. It omits explicit guidance on how the returned steps feed into the write tool and does not cover remaining parameter semantics, but is largely complete for a read/plan tool.

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 description coverage is 67%, so the schema documents several parameters (onValue, offValue, startBeat, activeSteps). The description loosely ties the inputs to concepts ('straight or triplet rhythm' for the grid enum, 'exact native on/off values' for onValue/offValue) but adds little syntax or format detail beyond the schema. Baseline 3 is appropriate.

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?

States a specific verb and product: read the Live grid and return exact on/off Session clip envelope steps for straight/triplet rhythms. It distinguishes itself from the write-side sibling set_clip_parameter_envelope, so an agent can tell it is a planning/read tool. Jargon-heavy phrasing ('Beat Repeat Repeat', 'envelope steps') slightly blurs the exact output, keeping it from a 5.

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

Usage Guidelines3/5

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

Usage is only implied: by referencing set_clip_parameter_envelope as the validating write step and stating 'No Live edits', it signals a plan-before-write workflow. There is no explicit 'use this when...' or exclusion criteria, so the agent must infer the intended call sequence.

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

plan_group_system_recallA
Read-onlyIdempotent

Read a saved group-system capture and check a one-to-one mapping onto existing tracks in matching Live order and group hierarchy. Validates each exposed track state for individual guarded recall; does not mutate Live or perform a multi-track transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact saved group-system snapshot name.
mappingYesOne explicit source-to-target entry for every saved track.
busTrackIdYesStable track ID returned by list_tracks.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered structurally. The description adds real context beyond them: the operation only validates exposed track states and the actual recall is individual and guarded rather than a multi-track transaction, which tells the agent what this call does and does not do to the Live set.

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?

Two tight sentences, front-loaded with the core action before the non-mutation caveat. No filler, though the phrasing is dense and jargon-heavy enough that a slightly lighter opening would aid comprehension.

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?

There is no output schema, and the description does explain the essential character of the result: a per-track validation of exposed state for guarded recall. It does not describe the shape of a failing or partial validation, which is a modest gap for a planning/validation tool, but nothing critical to invoking it correctly is missing.

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 description coverage is 100%, so the baseline is 3. The description goes beyond the schema by constraining the mapping parameter semantically: it must be a one-to-one mapping covering every saved track, aligned to matching Live order and group hierarchy. That adds a validity constraint the schema alone does not express.

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?

States a specific verb and resource: read a saved group-system capture and check a one-to-one mapping onto existing tracks. It also distinguishes itself from the recall path by stating it does not mutate Live or perform a multi-track transaction. Sibling differentiation is achieved by negation rather than by naming the alternative (e.g. recall_group_system_snapshot), which keeps it just short of a 5.

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

Usage Guidelines3/5

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

The description implies usage as a pre-flight validation step (checking a one-to-one mapping, validating each track state for individual guarded recall) and hints at when not to use it (no mutation, no multi-track transaction). However, it never explicitly states when to call this versus recall_group_system_snapshot, nor the prerequisite ordering, so the guidance remains inferential.

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

plan_midi_chord_arpeggiationB
Read-onlyIdempotent

Plan deterministic up, down, up-down, or seeded-random arpeggiation of complete chord onsets.

ParametersJSON Schema
NameRequiredDescriptionDefault
gateYesNote duration as a fraction of stepBeats.
modeYesPitch traversal order for each complete chord onset.
seedYesDeterministic seed used by random mode.
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.
noteIdsYesUnique stable note IDs at complete chord onsets.
trackIdYesStable track ID returned by list_tracks.
stepBeatsYesSpacing between arpeggiated notes in beats.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint true, destructiveHint false, and idempotentHint true, covering the safety profile. The description adds useful context by stating the operation is deterministic and that random mode is seeded, plus the 'complete chord onsets' precondition, but it does not explain the plan output or its relationship to application.

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?

Single front-loaded sentence with no filler or repetition. It is efficient, but very terse for a seven-parameter tool; a brief additional sentence distinguishing planning from applying would earn its place.

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?

With no output schema, the description should clarify what a 'plan' contains and when to use it over the sibling apply tool. Annotations and the fully covered input schema handle safety and parameter details, but the missing usage context and output expectation leave a clear gap.

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 description coverage is 100%, and the mode enum, seed range, gate semantics, and ID formats are fully documented in the schema. The description only restates the mode list and seeded-random behavior, adding little beyond the structured parameter definitions.

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?

States a specific verb, 'Plan,' and a specific resource, 'arpeggiation of complete chord onsets,' and enumerates the supported traversal modes. It does not distinguish this planning tool from the sibling apply_midi_chord_arpeggiation that applies such a plan, so sibling differentiation is absent.

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?

Provides no when-to-use guidance, no prerequisites, and no mention of the sibling apply_midi_chord_arpeggiation alternative. The only implied usage is that it works on complete chord onsets, leaving the agent to infer when to choose planning over applying.

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

plan_midi_chord_doublingB
Read-onlyIdempotent

Plan exact bass, top, or outer octave chord doublings across complete selected onsets.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesAdd the lowest voice down an octave, highest voice up an octave, or both outer voices.
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.
noteIdsYesUnique stable note IDs at complete chord onsets.
trackIdYesStable track ID returned by list_tracks.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that doublings apply 'across complete selected onsets', a real constraint, but says nothing about what the plan output looks like or how it is consumed.

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?

A single front-loaded sentence with no filler. It is efficient, though words like 'exact' and 'complete' carry meaning that is never unpacked.

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

Completeness2/5

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

For a 4-required-param planning tool with no output schema, the description never explains what the plan contains, how it differs from the apply counterpart, or what 'complete selected onsets' implies operationally. An agent could call it but would not understand the workflow it belongs to.

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 100%, and the mode enum already documents bass_octave_down/top_octave_up/outer_octaves. The description restates the same three variants without adding format, ordering, or ID-resolution detail beyond the schema, so the baseline 3 applies.

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 gives a specific verb (plan) plus resource (octave chord doublings) and enumerates the three variants (bass, top, outer), matching the mode enum. It does not, however, distinguish itself from the sibling apply_midi_chord_doubling, leaving the plan-vs-apply distinction implicit.

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 planning tool versus apply_midi_chord_doubling, nor on prerequisites such as requiring notes at 'complete' chord onsets. The agent must infer that 'plan' means a non-mutating precursor step from the name alone.

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

plan_midi_chord_inversionA
Read-onlyIdempotent

Plan deterministic octave rotation of complete chord onsets while preserving all non-pitch note state.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsYesNumber of chord tones to rotate at each selected onset.
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.
noteIdsYesUnique stable note IDs at complete chord onsets.
trackIdYesStable track ID returned by list_tracks.
directionYesRotate the lowest notes upward or highest notes downward by one octave.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, but the description adds meaningful traits: the result is deterministic, it preserves all non-pitch note state, and it operates only on complete chord onsets. It does not describe the return shape or whether the plan must be applied separately, but the core behavioral invariants are stated.

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?

Single front-loaded sentence with zero filler. Every phrase ('deterministic', 'complete chord onsets', 'preserving all non-pitch note state') carries information.

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?

With annotations covering safety and a fully described schema, the description supplies behavioral invariants. But for a planning tool with no output schema, it never explains what the plan contains or how to consume it, and it omits usage context relative to apply_midi_chord_inversion, leaving a gap for an agent deciding next steps.

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 description coverage is 100%, so the baseline is 3. The description reinforces that 'steps' rotates chord tones and 'noteIds' must be complete chord onsets, but adds no syntax or format detail beyond what the schema already provides.

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 states a specific verb ('Plan') and resource ('octave rotation of complete chord onsets'), making the operation clear. However, it does not name or differentiate from the sibling apply_midi_chord_inversion, so an agent must infer the plan/apply split from the tool name alone.

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?

There is no when-to-use guidance, no exclusions, and no named alternatives. The agent is not told to use this before apply_midi_chord_inversion or that it only produces a plan, so routing between the two is left entirely to inference.

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

plan_midi_chord_voice_leadingA
Read-onlyIdempotent

Plan deterministic octave-only voice leading across complete chord onsets, anchored to the first chord.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesLead every voice by octave or keep each chord's current bass fixed.
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.
noteIdsYesUnique stable note IDs across complete ordered chord onsets.
trackIdYesStable track ID returned by list_tracks.
maxPitchYes
minPitchYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint, so safety is covered. The description adds genuine behavioral traits beyond that: 'deterministic' signals repeatable output, 'octave-only' constrains what the transform may do, and 'anchored to the first chord' explains the alignment rule. What it does not disclose is what a returned 'plan' contains or how it is later applied.

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?

A single dense sentence, front-loaded with the verb and scope, with zero filler. Every clause ('deterministic', 'octave-only', 'complete chord onsets', 'anchored to the first chord') carries distinct information.

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?

For a 6-required-parameter planning tool with no output schema, the definition is thin: it does not describe what the plan result represents, whether/how it must be applied afterward, or the two undocumented pitch bounds. Annotations cover the mutation-safety side, but the agent is left to guess at the planning workflow.

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 67%, with the mode enum fully self-documented but minPitch/maxPitch carrying no description anywhere. The prose adds no parameter meaning at all, so it neither compensates for the gap nor adds value over the structured fields — baseline territory.

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?

States a specific verb ('Plan') and a precise resource qualifier ('octave-only voice leading across complete chord onsets, anchored to the first chord'). The 'plan' verb implicitly separates it from the sibling apply_midi_chord_voice_leading, but the alternative is never named explicitly, so full sibling differentiation is left to inference.

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?

The description never states when to use this versus the obvious alternative apply_midi_chord_voice_leading, nor any prerequisite (e.g. that a clip with existing chords must already exist). Context is only vaguely implied by the word 'Plan'; no exclusions or routing guidance are given.

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

plan_midi_diatonic_chord_qualityB
Read-onlyIdempotent

Plan complete selected onsets as scale-native, secondary-dominant, parallel-minor borrowed, suspended, added-tone, or altered-dominant voicings. Supports per-onset functions, recipes, inversions, voicing modes, and explicit scale-degree slash basses.

ParametersJSON 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.
noteIdsYesUnique stable note IDs at complete chord onsets.
trackIdYesStable track ID returned by list_tracks.
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.
harmonicFunctionsNoOptional harmonic function for each ordered onset; secondary-dominant root degrees name tonicized targets.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered and the 'plan' verb is consistent. The description adds useful feature context (per-onset functions, slash basses) but says nothing about side effects, authorization, or what the produced plan does downstream.

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?

Two dense sentences, front-loaded with the core purpose followed by supported features. No filler, though the second sentence is a parameter list that partially duplicates the schema.

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?

For an 11-parameter planning tool with no output schema, the description never explains what the plan actually yields or how it is consumed. It covers the feature space adequately but leaves the return/consumer model and usage conditions unaddressed.

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 description coverage is 91%, so the schema already documents parameters in detail. The description only echoes parameter families (functions, recipes, inversions, voicing modes, slash basses) without adding format, defaults, or interaction rules beyond the schema. Baseline 3 applies.

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?

States a specific verb ('Plan') and resource ('chord quality') and enumerates the voicing categories it produces (scale-native, secondary-dominant, borrowed, suspended, added-tone, altered-dominant). This distinguishes it from siblings like plan_midi_chord_inversion or plan_midi_chord_voice_leading, though it stops short of naming those directly.

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 indication of when to use this tool versus its many plan_midi_* siblings, and no exclusions or prerequisites. The description lists capabilities but gives no selection guidance.

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

plan_midi_diatonic_harmonyB
Read-onlyIdempotent

Plan literal harmony voices above or below exact in-scale MIDI notes using Live's current key and scale.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
noteIdsYesUnique stable in-scale source note IDs.
trackIdYesStable track ID returned by list_tracks.
degreeOffsetsYesUnique signed non-zero scale-degree offsets for added harmony voices.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnly=true, idempotent=true, destructive=false, and openWorld=true, so the safety profile is covered. The description adds one genuine behavioral fact: output depends on the song's current key and scale and requires source notes already in-scale. It does not clarify what a 'plan' object contains or how many voices per note are produced.

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?

A single sentence with zero filler, front-loaded on the action and scoped by the key/scale constraint. Nothing repeats the name and nothing is wasted.

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?

With no output schema, the description is not required to document return values, but for a four-parameter musical transformation tool it leaves gaps: what 'plan' emits, whether offsets are shared across all noteIds or paired per note, and any postcondition to verify. It is adequate but not complete.

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 description coverage is 100%, so all four parameters are already documented, making 3 the baseline. The description's phrase 'above or below' loosely reinforces that degreeOffsets are signed, but adds no syntax, range, or interaction detail beyond the schema (which already documents signed non-zero offsets, limits, and uniqueness).

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?

States a specific verb ('Plan') and resource ('harmony voices above or below exact in-scale MIDI notes') with the operating constraint (Live's current key and scale). It is clearly distinguishable from transposition/voicing siblings by naming harmony voices rather than pitch moves. It stops short of explicitly contrasting itself with plan_midi_chord_voice_leading, plan_midi_chord_doubling, or the apply_midi_diatonic_harmony counterpart.

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 when-to-use, when-not-to-use, or alternative-tool guidance is given. An agent cannot tell from the text whether this should be chosen over plan_midi_chord_voice_leading or when the plan tool precedes apply_midi_diatonic_harmony. The only usable cue is the 'Live's current key and scale' precondition.

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

plan_midi_diatonic_transpositionB
Read-onlyIdempotent

Plan scale-degree transposition of exact in-scale MIDI note IDs using Live's current key and scale.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
noteIdsYesUnique stable in-scale note IDs to transpose.
trackIdYesStable track ID returned by list_tracks.
scaleStepsYesSigned non-zero movement in degrees of Live's current scale.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful dependency — the result is tied to Live's current key and scale — but does not disclose what happens to out-of-scale notes or what the returned plan contains.

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?

A single front-loaded sentence with no filler; the scope constraint ('in-scale', 'Live's current key and scale') comes before the object. Slightly dense but efficient.

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?

For a planner tool with no output schema, the description should indicate what the plan is and how it is consumed (the apply_* counterpart). It conveys the input semantics adequately but leaves the plan artifact and its apply path unstated, which is a meaningful gap for a two-step plan/apply workflow.

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 description coverage is 100%, so all four parameters are already documented, including scaleSteps as 'signed non-zero movement in degrees of Live's current scale'. The description's phrase 'scale-degree transposition ... using Live's current key and scale' reinforces that semantic but adds nothing the schema lacks. Baseline 3 applies.

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?

States a specific verb ('Plan'), a specific resource ('scale-degree transposition of exact in-scale MIDI note IDs'), and the governing context ('Live's current key and scale'). This differentiates it from chromatic plan_midi_transposition, though it never names that sibling or apply_midi_diatonic_transposition explicitly.

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

Usage Guidelines3/5

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

Usage is only implied through the plan/apply naming convention — the agent can infer it computes a change rather than writing one, and that apply_midi_diatonic_transposition is the executor. There is no explicit when-to-use, when-not-to-use, or alternative-selection guidance (e.g. vs. plan_midi_transposition for chromatic moves).

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

plan_midi_drop_voicingB
Read-onlyIdempotent

Plan deterministic drop-2, drop-3, or drop-2-and-4 voicings for complete chord onsets.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesTraditional upper-voice octave drop applied independently at each onset.
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.
noteIdsYesUnique stable note IDs at complete chord onsets.
trackIdYesStable track ID returned by list_tracks.

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds 'deterministic', which is a genuine behavioral trait, but it does not explain what a plan yields, whether it is persisted, or what happens to notes that are not at complete chord onsets.

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?

A single front-loaded sentence with no filler. It is efficient, though the terseness contributes to the under-specification noted elsewhere rather than being an excess.

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

Completeness2/5

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

For a music-theory planning tool with four required parameters and no output schema, the description omits what the plan contains, what 'complete chord onsets' implies for eligibility, and how the result is consumed (presumably by apply_midi_drop_voicing). These gaps matter for correct invocation.

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 description coverage is 100% with all four parameters and the mode enum documented in the schema itself. The description adds no syntax or format detail beyond what is already structured, so the baseline 3 applies.

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?

States a specific verb ('Plan') and resource (drop-2/3/2-4 voicings) with the exact supported modes enumerated. However, it does not distinguish itself from the sibling apply_midi_drop_voicing, so an agent must infer that 'plan' means compute-without-applying.

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?

There is no when-to-use guidance, no mention of the apply_midi_drop_voicing alternative, and no prerequisites (e.g. that notes must form complete chord onsets). The agent gets no routing help for this tool versus the several sibling voicing tools.

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

plan_midi_gate_patternB
Read-onlyIdempotent

Plan explicit repeating gate ratios across complete ordered MIDI onsets on a straight or triplet beat grid.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
noteIdsYesUnique stable note IDs at complete selected onsets.
trackIdYesStable track ID returned by list_tracks.
gridBeatsYesReference grid step in beats, including fractional triplet values.
gateRatiosYesExplicit repeating gate ratios by ordered onset.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the agent knows this is a safe, non-mutating operation. The description adds that the pattern is 'explicit repeating' over 'complete ordered onsets', which hints at the planning semantic, but says nothing about what the plan produces or how it is consumed. Adequate but thin against an already-covered safety profile.

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?

One tight sentence with no filler and the core concept front-loaded. It errs toward under-specification rather than verbosity, which is the acceptable direction.

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?

With no output schema, the description should clarify what the plan returns and whether it mutates or previews, but it does not. For a tool whose whole value is the planned artifact, the definition leaves the agent guessing how the result is used, even though annotations cover safety.

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 description coverage is 100%, so all five parameters (gridBeats, gateRatios, noteIds, clipId, trackId) are documented in the schema itself. The description adds only the broad notion of 'straight or triplet beat grid' and 'repeating ratios', which overlaps with the schema's gridBeats/gateRatios descriptions. Baseline 3 applies.

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?

Names a specific verb ('plan') and resource ('gate pattern' via repeating gate ratios over MIDI onsets), and the related sibling apply_midi_gate_pattern implies this one computes rather than mutates. It is defensible but jargon-heavy ('repeating gate ratios across complete ordered MIDI onsets'), which blurs what a 'gate pattern' actually is.

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 when-to-use, when-not, or alternative routing is given. The obvious alternative (apply_midi_gate_pattern) and the relationship between planning and applying are never stated, so the agent must infer it from sibling naming alone.

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

plan_midi_humanizationA
Read-onlyIdempotent

Plan deterministic bounded timing and velocity humanization for exact MIDI note IDs. Preserves expression metadata and rejects new same-pitch collisions.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedYesDeterministic humanization seed.
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.
noteIdsYesUnique stable note IDs to humanize.
trackIdYesStable track ID returned by list_tracks.
gridBeatsYesReference grid step in beats, including fractional triplet values.
maxVelocityOffsetYesMaximum absolute velocity movement.
maxTimingOffsetBeatsYesMaximum absolute timing movement in beats; must not exceed half gridBeats.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond them: the result is deterministic (seeded), offsets are bounded, expression metadata is preserved, and new same-pitch collisions are rejected. It stops short of describing what the returned plan looks like or how it is later applied.

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?

Two tight sentences with no filler; the core action and scope are front-loaded and the behavioral guarantees follow. Every clause carries information.

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?

For a 7-required-param planning tool with no output schema, the description conveys the essential behavior (deterministic, bounded, non-destructive, collision-safe). It does not explain the plan's return shape or the workflow for applying it, which is the main residual gap.

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 description coverage is 100%, so all seven parameters are already documented in the schema (including the 'must not exceed half gridBeats' constraint). The description's words 'deterministic' and 'bounded' hint at seed and max-offset semantics but add no detail beyond the schema, so the baseline 3 applies.

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?

States a specific verb (plan) plus the resource and scope: 'deterministic bounded timing and velocity humanization for exact MIDI note IDs.' That distinguishes it from clip-wide siblings like humanize_midi_notes, but it never names an alternative explicitly, so the differentiation is inferential rather than spelled out.

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

Usage Guidelines3/5

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

The description implies usage (plan humanization for a chosen set of note IDs) but gives no when-to-use/when-not guidance and does not mention the apply-style siblings (humanize_midi_notes, apply_midi_velocity_curve) that a caller would need to pair with a plan.

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

plan_midi_probability_patternB
Read-onlyIdempotent

Plan explicit repeating playback probabilities across complete ordered MIDI onsets.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
noteIdsYesUnique stable note IDs at complete selected onsets.
trackIdYesStable track ID returned by list_tracks.
probabilitiesYesExplicit repeating probabilities from 0 to 1.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the notion of 'repeating' probabilities over 'complete ordered onsets', implying the noteIds must be a complete onset set, but does not clarify whether a plan is a dry-run preview or how it relates to the apply step.

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?

A single front-loaded sentence with no wasted clauses, which is appropriate for the tool's scope. It is arguably terse rather than padded, so no conciseness penalty.

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?

With no output schema, the description could say what a 'plan' produces (a preview spec vs. applied state) and how it feeds apply_midi_probability_pattern. Four fully documented required params and rich annotations keep it adequate, but the plan semantics remain under-explained.

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 description coverage is 100%, so all four parameters are already documented in the schema. The phrase 'complete ordered onsets' hints at the ordering/alignment contract between noteIds and probabilities, but adds little beyond what the schema fields describe; baseline 3 applies.

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?

Names a specific verb (Plan) and resource (playback probabilities across MIDI onsets), so the agent knows it produces a probability pattern for MIDI notes. However, it does not distinguish itself from the apply_midi_probability_pattern sibling or other plan_midi_* tools, leaving the plan-vs-apply boundary to inference.

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?

There is no when-to-use guidance, no mention of prerequisites (e.g. needing a selected clip/notes first), and no reference to alternatives such as apply_midi_probability_pattern. The agent must infer when planning is preferred over applying.

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

plan_midi_ratchet_patternB
Read-onlyIdempotent

Plan explicit straight or triplet MIDI repeats across complete ordered onsets.

ParametersJSON Schema
NameRequiredDescriptionDefault
gateYesEach repeated note's duration as a fraction of its subdivision.
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.
noteIdsYesUnique stable note IDs at complete selected onsets.
trackIdYesStable track ID returned by list_tracks.
spanBeatsYesTotal beat span occupied by every selected onset's repeats.
repeatCountsYesRepeating ratchet count by ordered onset; 3 creates an exact triplet inside spanBeats.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe/planning nature is covered. The description adds only the constraint of "complete ordered onsets" and the straight/triplet mode, without explaining what a produced plan contains or how it is consumed. Adds marginal context beyond the 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?

A single front-loaded sentence with no wasted words. The core scope (straight or triplet repeats on ordered onsets) is stated immediately, though it could be slightly richer without becoming bloated.

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?

For a read-only planning tool with full 100% schema coverage and no output schema, the description is minimally adequate. It omits any note on how the plan relates to the companion apply tool or what the agent should do with the plan output, which is a meaningful gap for a plan/apply workflow.

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 description coverage is 100%, so the baseline is 3. The description reinforces concepts that map to parameters (ordered onsets -> noteIds/repeatCounts, straight/triplet -> repeatCounts), but adds no syntax or format detail beyond what the schema already documents.

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?

States a specific verb ("Plan") and resource ("MIDI repeats"), and adds scope detail: straight or triplet repeats across complete ordered onsets. It implicitly separates itself from the sibling apply_midi_ratchet_pattern via the planning framing, but never names that alternative, so it doesn't fully differentiate.

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 when-to-use, when-not-to-use, or prerequisites are stated. An agent cannot tell from the description when to reach for this planner versus apply_midi_ratchet_pattern or the other plan_midi_* siblings. Usage is left entirely to inference from the name.

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

plan_midi_scale_chord_remappingB
Read-onlyIdempotent

Plan complete chord onsets onto explicit degrees of Live's current scale while preserving chord intervals and expression.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesAnchor each chord near its source register or each later chord near the previous remapped bass.
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.
noteIdsYesUnique stable note IDs at complete chord onsets.
trackIdYesStable track ID returned by list_tracks.
targetDegreesYesOne target Live scale degree for each ordered chord onset.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds some value by stating chord intervals and expression are preserved, but says nothing about what the plan contains or how it is consumed.

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?

A single front-loaded sentence with no waste. It is well sized for the tool, though it is a bit dense and could more clearly anchor the read-only planning nature.

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?

For a planning tool with no output schema, the description should hint at what the returned plan is, since an agent cannot inspect a schema for it. The parameter side is complete but the return/consumption story is missing.

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 100% and the schema documents each parameter (mode enum, targetDegrees semantics) well. The description adds no parameter meaning beyond that, so the baseline 3 is appropriate.

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?

States a specific verb (Plan) and resource (chord onsets onto Live scale degrees), with the preserving-intervals qualifier distinguishing it from a plain remap. However it never signals the plan/apply split against its obvious sibling apply_midi_scale_chord_remapping, so the agent must infer the difference.

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?

There is no explicit when-to-use or when-not-to-use guidance. Given the sibling list contains a direct apply counterpart and many other plan_* tools, the description should say this produces a plan rather than mutating the clip, but it does not.

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

plan_midi_strum_patternA
Read-onlyIdempotent

Plan deterministic up, down, or alternating chord attacks while preserving every selected note end.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
noteIdsYesUnique stable note IDs at complete chord onsets.
trackIdYesStable track ID returned by list_tracks.
directionYesPitch order for each chord; alternating starts upward and reverses on each following onset.
spreadBeatsYesTotal beat distance from the first to last attack in each chord.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavioral guarantees beyond that: the result is deterministic, and note ends are preserved for every selected note. It stops short of explaining what the plan output is or how it is later applied.

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?

A single front-loaded sentence with the key behavioral guarantee (preserving note ends) placed at the end for emphasis. No filler or redundancy.

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?

For a five-parameter planning tool with full schema coverage and read-only annotations, the description is minimally adequate. With no output schema, it leaves unclear what a 'plan' actually is or returns, and it omits the plan/apply relationship with its sibling, which is the main thing an agent needs to sequence these calls.

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 100% and each of the five parameters carries its own description, including the direction enum semantics and spreadBeats range. The description adds nothing to parameter meaning beyond restating up/down/alternating, so the schema does the heavy lifting and the baseline 3 applies.

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?

Names a specific verb (Plan) and resource (MIDI strum pattern) and adds concrete scope: up/down/alternating chord attacks with note-end preservation. However, it never distinguishes itself from the very close siblings plan_midi_gate_pattern, plan_midi_ratchet_pattern, or especially apply_midi_strum_pattern, so an agent must infer the plan-vs-apply distinction from naming alone.

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?

There is no statement of when to use this tool versus alternatives, no prerequisites, and no mention of the companion apply_midi_strum_pattern that presumably consumes the plan. Usage is only implied by the verb 'Plan'.

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

plan_midi_transpositionB
Read-onlyIdempotent

Plan exact chromatic transposition of stable MIDI note IDs while preserving all non-pitch note state.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
noteIdsYesUnique stable note IDs to transpose.
trackIdYesStable track ID returned by list_tracks.
semitonesYesSigned non-zero chromatic transposition in semitones.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds one meaningful behavioral fact beyond that: it preserves all non-pitch note state (velocity, timing, etc.). It does not disclose what a 'plan' output contains or how it differs behaviorally from an apply step.

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?

A single tight sentence with the core action and its guarantee front-loaded. No waste, though it is arguably too terse to carry the missing usage and output context.

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?

For a planning tool with no output schema, the description does not explain what the returned plan is or how it is consumed (e.g., followed by apply_midi_transposition), nor does it route between chromatic and diatonic planning. The state-preservation guarantee is present, but the planning workflow context is incomplete.

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 100%, so all four parameters (trackId, clipId, noteIds, semitones) are documented in the schema itself, including the non-zero constraint on semitones. The description reinforces the 'stable IDs' and chromatic-scope concepts but adds no syntax or format detail beyond the schema. Baseline 3 applies.

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?

States a specific verb (Plan) and resource (chromatic transposition of stable MIDI note IDs), and the qualifier 'exact chromatic' distinguishes it from the diatonic siblings (plan_midi_diatonic_transposition). However, it does not explicitly clarify the planning-vs-applying distinction against apply_midi_transposition, which an agent must infer.

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 explicit when-to-use, when-not, or alternative guidance. With siblings like plan_midi_diatonic_transposition and apply_midi_transposition, an agent gets no direction on chromatic vs diatonic selection or on whether this is a precursor step to applying. Usage is only implied by the naming convention.

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

plan_midi_velocity_curveB
Read-onlyIdempotent

Plan exact crescendo, decrescendo, fixed, or repeating accent velocities across complete ordered MIDI onsets.

ParametersJSON Schema
NameRequiredDescriptionDefault
curveYesExact crescendo, decrescendo, fixed, or repeating accent target.
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.
noteIdsYesUnique stable note IDs at complete selected onsets.
trackIdYesStable track ID returned by list_tracks.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the agent knows this is a non-mutating, safe operation. The description reinforces 'Plan' but does not explain what the planning output is or how the result should be used next.

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?

A single front-loaded sentence that names the action, the curve types, and the onset scope with no wasted words.

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?

The definition is adequate for a planning tool with rich schema and read-only annotations, but it lacks usage routing and does not clarify the relationship to apply_midi_velocity_curve or what the planned result contains.

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 description coverage is 100%, so the detailed curve variants and ID fields are already documented in the schema. The description adds slight meaning by emphasizing 'complete ordered MIDI onsets' and 'exact' targets, but does not add syntax or format details beyond the structured fields.

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?

States a specific verb ('Plan') and resource ('MIDI velocity curve') and enumerates supported curve types. It does not explicitly distinguish itself from the sibling apply_midi_velocity_curve, so sibling differentiation is left to the name.

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 when-to-use context, prerequisites, or alternatives are given. The agent must infer that this is a planning tool versus the apply_midi_velocity_curve sibling without textual guidance.

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

plan_scale_basslineA
Read-onlyIdempotent

Plan a deterministic scale-aware bassline from progression degrees in the current Live key. Places roots, root-octave motion, or roots with each chord's diatonic fifth on explicit straight or triplet grid steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
gateYesNote duration as a fraction of stepBeats.
degreesYesOrdered one-based scale degrees.
maxPitchYes
minPitchYes
velocityYes
stepBeatsYesGrid subdivision in beats; must divide chordBeats exactly.
chordBeatsYesDuration of each progression degree in beats.
startBeatsYesBassline start in beats.
activeStepsYesUnique zero-based grid steps played within every chord.
pitchPatternYes

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, covering the safety and repeatability profile. The description adds 'deterministic' and enumerates the three pitch behaviors, which is useful context, but it does not disclose what the returned plan looks like.

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?

Two tightly written sentences with the core purpose front-loaded and no filler. Every clause carries information about what is generated and how.

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?

For a 10-required-parameter planning tool with no output schema, the description conveys the conceptual model but omits what the plan output contains and how it feeds the clip-creation sibling. It is adequate but leaves meaningful gaps for an agent orchestrating this in a chain.

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 60%, and the description usefully expands on the enums: 'root', 'root-octave motion', and 'roots with each chord's diatonic fifth' map directly to pitchPattern values, and 'straight or triplet grid steps' contextualizes stepBeats/activeSteps. This meaningfully extends the schema rather than restating it.

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?

States a specific verb (Plan) and resource (scale-aware bassline) with clear scope: derived from progression degrees in the current Live key, deterministic. It reads distinctly against plan_scale_melody and plan_scale_chord_progression, but never clarifies its relationship to the sibling create_scale_bassline_clip (plan vs. actually create the clip).

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

Usage Guidelines3/5

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

Usage is implied through the 'current Live key' and 'progression degrees' prerequisites, but there is no explicit when-to-use, when-not, or pointer to the downstream create_scale_bassline_clip step. An agent must infer that this produces a plan rather than a clip.

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

plan_scale_chord_progressionB
Read-onlyIdempotent

Plan exact MIDI notes for a scale-degree chord progression in the current Live key and scale. Supports functional harmony, block chords, grid-locked pulses, ascending or descending arpeggios, bounded register, and deterministic voice leading.

ParametersJSON Schema
NameRequiredDescriptionDefault
degreesYesOrdered one-based scale degrees.
maxPitchYes
minPitchYes
velocityYes
chordBeatsYesDuration and spacing of each chord in beats.
startBeatsYesFirst chord start in beats.
bassDegreesNoOptional Live scale degree for an added bass voice below each ordered chord; null leaves that chord unchanged.
articulationNo
chordRecipesNoOptional exact recipe for each ordered degree.
voiceLeadingYes
notesPerChordYes
harmonicFunctionsNoOptional harmonic function for each ordered degree; secondary-dominant degrees name tonicized targets.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful behavioral context by tying the tool to the current Live key/scale and calling the output 'deterministic' (consistent with idempotentHint), but it never clarifies what is actually returned (a plan object vs. an applied clip) or how the result is consumed downstream.

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?

Two sentences, front-loaded with the core purpose followed by a capability list. Dense with no filler, though the second sentence reads as a comma-separated feature dump rather than prioritized guidance.

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?

For a complex 12-parameter tool with 8 required params, nested objects, and no output schema, the description is incomplete: it never explains the return value or how the 'planned' notes get applied (unlike the sibling create_scale_chord_progression_clip). Annotations carry the safety profile, but the plan-vs-apply boundary and output shape remain underspecified.

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 description coverage is 50%, so several params (minPitch, maxPitch, velocity, voiceLeading, notesPerChord) are undocumented in the schema. The description partially compensates by naming 'bounded register' (min/max pitch) and 'deterministic voice leading', and by mapping enum values to concepts (block chords, pulses, up/down arpeggios). It still adds little beyond the schema for the remaining params, so a baseline 3 is appropriate.

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?

States a specific verb (Plan) and resource (exact MIDI notes for a scale-degree chord progression) scoped to the current Live key and scale, so the agent knows what it produces. However, it does not distinguish itself from heavily overlapping siblings like plan_midi_chord_voice_leading, plan_midi_chord_arpeggiation, plan_midi_diatonic_harmony, or create_scale_chord_progression_clip, so an agent cannot route between them from this text alone.

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 when-to-use, when-not-to-use, or alternative-tool guidance is given. The description only enumerates capabilities (functional harmony, pulses, arpeggios), leaving the agent to infer usage from the surrounding tool list.

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

plan_scale_melodyA
Read-onlyIdempotent

Plan an explicit scale-degree melody in the current Live key and meter on a straight or triplet grid. Omitted steps are rests; motifs can repeat deterministically.

ParametersJSON Schema
NameRequiredDescriptionDefault
gateYesNote duration as a fraction of one selected grid step.
gridYes
eventsYesExplicit scale-degree events; omitted grid steps are rests.
repeatsYes
maxPitchYes
minPitchYes
velocityYesDefault note velocity.
basePitchYesMIDI pitch for scale degree one.
motifBarsYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-structured behavior: omitted grid steps become rests, and motifs repeat deterministically. It stops short of noting the dependency on a loaded scale context or any limits beyond the schema.

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?

Two compact sentences, both load-bearing, with the core action stated first and the rest/repeat semantics following. No filler.

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?

There is no output schema, so the description must carry return-value context, and it does not say what a planned melody looks like or how it is consumed. For a 9-required-parameter tool with low schema coverage, several parameters (minPitch, maxPitch, motifBars) remain unexplained.

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 44% (below 50%), so the description is expected to compensate. It does clarify the semantics of events (rests for omitted steps) and repeats (deterministic motif repetition), which map to those parameters, and ties degree to the key/meter context. However, minPitch, maxPitch, motifBars, repeats and grid are left without descriptive help in either schema or description.

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?

States a specific verb and resource: 'plan an explicit scale-degree melody,' scoped to the current Live key/meter and to straight or triplet grids. This distinguishes it from plan_scale_bassline and plan_scale_chord_progression by resource, but it never explains the plan-vs-create relationship with the sibling create_scale_melody_clip, so the differentiation is implicit rather than explicit.

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?

The description names no alternatives and gives no when-to-use or when-not-to-use condition. 'In the current Live key and meter' implies a prerequisite context but does not state it as guidance, and it never says whether this planning step must precede create_scale_melody_clip. Usage is left entirely to inference.

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

propose_audio_transient_warpA
Read-onlyIdempotent

Analyze bounded source-audio onset candidates and propose review-only marker actions toward a beat grid using native Live source-to-beat conversion. Reports signed offsets and one-hop detector resolution in beats for every candidate; suppresses actions within that resolution or competing with a closer onset at the same slot. Optional musical roles label bars, downbeats, quarter pulses and half-beat upbeats from the clip meter. Optional feelBars aggregates one to eight bars of selected onset timing and strength by grid slot; this is not native Groove Pool extraction or baking. Heuristic, source-only, no edit or audible validation; individually dry-run actions against current state before applying.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
feelBarsNoAggregate selected onset offsets and strengths over a repeating one-to-eight-bar clip-meter cycle; grid must divide a bar.
gridBeatsYesPositive beat-grid spacing, e.g. 0.5 for eighth notes.
channelIndexNoZero-based source channel; defaults to zero.
startSecondsNoSource window start.
durationSecondsNoSource window duration; defaults to 10 seconds.
includeMusicalRolesNoLabel each nearest grid slot by clip-meter bar and pulse role; requires a grid that divides one bar.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, but the description goes well beyond: it discloses that output reports signed offsets and one-hop detector resolution, that actions within resolution or competing with closer onsets are suppressed, and that it is heuristic, source-only, and does no audible validation. This is exactly the behavioral context an agent needs before relying on results.

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?

Purpose is front-loaded in the first clause and each subsequent sentence adds a distinct trait (reporting, suppression, roles, feelBars, caveats). The dense semicolon-heavy prose is information-rich but slightly heavy, with minor redundancy in restating the dry-run caveat.

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?

For an 8-parameter tool with no output schema, the description supplies the missing return-value context (signed offsets, one-hop resolution) and the suppression rules, plus caveats about heuristics and lack of validation. Nothing essential for calling it correctly appears to be absent.

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 schema carries most param docs, but the description adds real semantics beyond it: feelBars aggregates 1-8 bars 'not native Groove Pool extraction or baking', and musical roles label 'bars, downbeats, quarter pulses and half-beat upbeats from the clip meter'. This meaningfully extends what the schema min/max boundaries convey.

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 names a specific verb pair (analyze + propose) and resource (bounded source-audio onset candidates to beat-grid marker actions via native source-to-beat conversion). This clearly distinguishes it from siblings like add_audio_warp_marker, move_audio_warp_marker, and quantize_audio_clip, which mutate rather than propose.

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?

It makes the review-only nature explicit ("review-only marker actions", "individually dry-run actions against current state before applying"), which implies when to use it versus direct-write siblings. However, it never names an alternative tool or states a when-not condition, so the routing is inferable rather than spelled out.

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

quantize_audio_clipA

Plan or request Live native quantization for one warped audio clip at a selected grid, amount, and observed global swing. Dry runs warn that Live may insert many warp markers and shift existing source start/end anchors; duplicate the clip first if the original edit must be preserved. Returns native anchors and a measured before/after marker-change summary; an existing marker is not guaranteed to snap to the grid. Use move_audio_warp_marker for an exact anchor move. Requires unchanged audio state and swing. Does not quantize MIDI note ends.

ParametersJSON Schema
NameRequiredDescriptionDefault
gridYes
amountYesQuantization amount, zero to one.
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only declare readOnly/openWorld/idempotent/destructive flags; the description goes well beyond them by disclosing that dry runs warn about mass warp-marker insertion and shifted source start/end anchors, that markers are not guaranteed to snap to the grid, and that state/swing must be unchanged. This is exactly the side-effect and non-determinism context an agent needs before committing a mutation.

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?

Four tight sentences, front-loaded with the core action before the warnings, alternatives, and exclusions. No filler; each sentence carries operational information.

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?

With no output schema, the description still explains the return ('native anchors and a measured before/after marker-change summary'), and it covers side effects, prerequisites, the commit workflow, and sibling alternatives. Nothing an agent needs to call it correctly is missing.

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 88%, so the baseline is 3, and the schema already documents grid enum, amount range, dryRun, planHash, confirmationToken, and expectedStateVersion. The description adds workflow meaning ('observed global swing', state must be unchanged, dry-run-then-commit relationship) that the schema alone doesn't convey, meriting a modest bump.

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?

States a specific verb+resource ('quantize ... one warped audio clip') and scopes it with the dimensions that matter (grid, amount, observed global swing). It explicitly carves itself away from move_audio_warp_marker and clarifies it 'Does not quantize MIDI note ends,' so an agent can distinguish it from the many sibling MIDI-planning and warp-marker tools.

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?

Gives explicit when-to-use routing ('Use move_audio_warp_marker for an exact anchor move'), preconditions ('Requires unchanged audio state and swing'), and the dry-run/commit workflow with a warning to duplicate the clip first. Both the alternative and the exclusions are named.

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

randomize_rack_macrosA

Plan or invoke Live's native randomization of eligible mapped rack macros. Binds exact rack and parameter state, then reports observed values. No seed or predictable outcome is available.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover safety profile (readOnly=false, destructive=false, idempotent=false, openWorld=true). The description adds genuinely non-redundant behavior: randomization is native and non-deterministic with no seed, it binds exact rack and parameter state, and it reports observed values rather than a guaranteed result. It could still note that existing macro values are overwritten by the invocation.

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?

Three short sentences, front-loaded with the action, then the state-binding behavior, then the non-determinism caveat. No filler and every sentence carries distinct information.

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?

For a non-deterministic mutation tool with a dry-run/confirmation-token workflow and no output schema, the description covers purpose, precondition, and the nature of the result. It is close to complete; only the side effect on pre-existing macro values is unstated.

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 description coverage is 100%, so parameter documentation is already complete (dryRun, planHash, confirmationToken, expectedStateVersion all explained). The description adds only the conceptual plan-vs-invoke split, which the schema's dryRun description already carries, so baseline 3 applies.

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?

States a specific verb pair (plan/invoke) and resource (Live's native randomization of eligible mapped rack macros), plus the scope constraint 'eligible mapped'. An agent can distinguish this from sibling variation tools such as store_rack_macro_variation or recall_rack_macro_variation without opening a schema.

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?

'Plan or invoke' plus the dryRun semantics make the two intended modes clear, and 'no seed or predictable outcome is available' warns the agent that retries won't reproduce results. It stops short of 5 because it never names an alternative tool or an explicit when-not-to-use condition.

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

recall_device_chain_snapshotA

Plan or recall Return or master mixer, available master output channel, exposed device parameters, rack-chain mixer, Drum Rack note routing and populated pad mute/solo onto exactly compatible topology in one guarded Live undo step. Legacy v1-v5 captures remain supported. Does not create, delete, or load devices or restore hidden plugin state.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
planHashNoHash returned by the matching dry run.
snapshotYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true, so the description adds real value: it discloses the operation is committed 'in one guarded Live undo step' and bounded ('does not create, delete, or load devices or restore hidden plugin state'). 'Exactly compatible topology' also signals that a mismatch aborts, though the failure behavior is not spelled out.

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 core purpose is front-loaded, but the opening sentence is a single run-on that crams seven distinct restorable items into one clause, making it hard to parse. The two following sentences earn their place; the inventory sentence could be tightened.

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?

For a six-parameter mutation with no output schema, the description covers scope, safety/undo semantics, compatibility constraints, and explicit non-actions. What is missing is what happens on incompatibility and whether prior state is preserved; still, nothing critical to invoking it correctly is absent.

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 description coverage is 83% and the oneOf already documents the v1-v6 snapshot payloads and every parameter; the description only reinforces backward compatibility ('legacy v1-v5 captures remain supported'). It adds no syntax or meaning for dryRun, planHash, confirmationToken, expectedStateVersion, or trackId beyond the schema, so the high-coverage baseline of 3 applies.

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?

States a specific verb pair (plan or recall) and resource (device chain snapshot) and enumerates exactly what gets restored: return/master mixer, output channel, device parameters, rack-chain mixer, note routing, pad mute/solo. It also distinguishes itself from loaders by saying it does not create, delete, or load devices. It does not explicitly name its closest siblings (load_device_chain_snapshot, recall_track_state_snapshot), so it falls short of a 5.

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

Usage Guidelines3/5

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

Usage is implied through the plan/confirm two-phase flow rather than stated: no sentence tells the agent when to choose this over load_device_chain_snapshot or capture/save variants. The 'guarded' framing hints that a dry run should precede the mutation, but the agent must infer the workflow from the schema's dryRun/confirmationToken fields.

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

recall_device_parameter_snapshotA

Guarded recall of parameter JSON onto a matching native device class and exact ordered parameter layout. Supports ordinary, Return, and Main tracks; rejects incompatible bounds/choices and disabled changed controls. Does not restore hidden state.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
snapshotYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

With annotations only declaring the safety/idempotency profile, the description adds genuine behavioral detail beyond them: it rejects incompatible bounds/choices and disabled changed controls, and explicitly states it 'Does not restore hidden state.' It omits the two-phase dry-run/confirmation-token workflow, though that is carried by the schema.

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?

Three tight sentences, front-loaded with the core action and followed by the supported/rejected scope. Every sentence carries informational weight, with no filler or redundancy.

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?

There is no output schema, but the description pairs well with a rich input schema that documents the dry-run/confirm flow and state-version guard. It covers the mutation's scope and its key limitation (no hidden-state restore), leaving only minor workflow details to the schema.

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 description coverage is 86%, so the schema already documents the seven parameters (dryRun, trackId, deviceId, planHash, snapshot, confirmationToken, expectedStateVersion). The description adds conceptual framing ('native device class', 'exact ordered parameter layout') but no syntax or format detail beyond the schema, so the baseline 3 applies.

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 states a specific verb and resource: 'recall of parameter JSON onto a matching native device class and exact ordered parameter layout.' An agent can tell this applies saved parameter snapshots back onto a device, but it never names the inverse (capture_device_parameter_snapshot) or alternative (set_device_parameters) siblings to disambiguate.

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

Usage Guidelines3/5

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

It implies usage context by stating it 'Supports ordinary, Return, and Main tracks' and that it rejects incompatible bounds/choices and disabled changed controls, which signals when the recall will succeed or fail. However, no explicit when-to-use vs. an alternative like set_device_parameters or the chain-snapshot recalls is given.

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

recall_group_system_snapshotA

Plan or apply a saved group-system capture onto one-to-one mapped compatible existing Group Track and descendants. One guarded native callback and Live undo step restore exposed track mixer, routing, device and rack state; on failure the bridge attempts rollback across every changed track. Does not recreate tracks/devices/clips or hidden plugin state.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact saved group-system snapshot name.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
mappingYesOne explicit source-to-target entry for every saved track.
planHashNoHash returned by the matching dry run.
busTrackIdYesStable track ID returned by list_tracks.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.9/5.0
Behavior5/5

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

Goes well beyond the annotations: it names the scope of restoration (mixer, routing, device and rack state), the safety mechanism (one guarded native callback plus a Live undo step), the failure path (rollback attempted across every changed track), and explicit exclusions (no track/device/clip recreation, no hidden plugin state). This is exactly the kind of consequence disclosure a mutating tool needs.

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?

Three dense sentences with the action and target front-loaded and the exclusions last, so the most important information arrives first. Slightly technical/packed phrasing but nothing is wasted or repetitive.

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?

With no output schema, the description carries the burden of explaining outcome and failure behavior, and it does: it states what is restored, that rollback is attempted on failure, and what is deliberately not touched. The main omission is any mention of the dry-run/confirm two-step flow, which the schema covers but the description would ideally reinforce.

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 description coverage is 100%, so the schema already documents all 7 parameters including dryRun/confirmationToken flow, planHash, and mapping entries. The description only reinforces the 'one-to-one mapped' requirement for mapping and adds no syntax or format detail the schema lacks, so the baseline 3 applies.

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?

States a specific verb pair (plan or apply) and resource (saved group-system capture) onto a precisely bounded target (one-to-one mapped compatible existing Group Track and descendants). It also rules out a class of behavior ('Does not recreate tracks/devices/clips'), which helps separate it from creation tools. However, it never names its closest siblings (plan_group_system_recall, load_group_system_snapshot, recall_track_state_snapshot), so the agent must infer which recall variant to pick.

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

Usage Guidelines3/5

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

Preconditions are implied rather than stated: the target must already exist, be a compatible Group Track, and be fully one-to-one mapped. There is no explicit 'use this instead of X when Y' routing against plan_group_system_recall or load_group_system_snapshot, which is the main gap for a snapshot-recall family with several near-identical names.

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

recall_rack_macro_variationA

Plan or recall one existing rack macro variation by zero-based index. Binds exact rack and current parameter state; Live exposes observed values after recall, not the saved variation contents beforehand.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
variationIndexYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds genuinely useful context beyond that: the call binds the exact rack and current parameter state, and Live only exposes observed values after recall — the saved contents cannot be previewed beforehand. That is a real operational caveat an agent needs.

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?

Two front-loaded sentences with no filler. The second sentence is dense but every clause carries real information about state binding and the lack of pre-recall visibility.

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?

For a mutation tool with no output schema, the description covers the safety profile via annotations, the plan/apply flow via the schema, and the key caveat that saved variation contents are not visible until after recall. Only explicit routing to sibling variation tools is missing.

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 86%, so the baseline is 3, but the description adds the 'zero-based index' interpretation for variationIndex and clarifies the planning/recall flow that the dryRun/confirmationToken/planHash parameters implement.

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 states a specific verb ('plan or recall') and resource ('rack macro variation'), plus the index convention (zero-based). It implicitly distinguishes itself from the store/delete sibling tools, though it never names them outright.

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

Usage Guidelines3/5

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

The plan-vs-recall split is implied by 'Plan or recall' and elaborated in the schema's dryRun parameter, but the description gives no explicit when-to-use guidance or pointer to alternatives such as store_rack_macro_variation or delete_rack_macro_variation for other variation operations.

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

recall_track_state_snapshotA

Plan or recall captured track-state JSON onto exactly compatible topology and group membership (when captured). Restores track and rack-chain mixer, sends, routing, Drum Rack note routing, populated pad mute/solo and exposed nested parameters in one guarded native undo step; older snapshots without group context remain supported. Does not load devices, clips, samples, hidden state, automation or mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
snapshotYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations establish the safety profile (not read-only, non-destructive, not idempotent, open-world), and the description adds meaningful context beyond them: the operation is committed as 'one guarded native undo step', requires exactly compatible topology, and explicitly does NOT load devices, clips, samples, hidden state, automation, or mappings. This clear boundary of what is and isn't touched is exactly the kind of disclosure that helps an agent decide.

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?

Two dense sentences that lead with the core action and follow with scope and exclusions. Every clause carries information (compatibility requirement, undo semantics, supported legacy snapshots, exclusion list), though the enumeration is heavy and could be tightened slightly.

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?

For a complex restore tool with a dry-run/confirm workflow and rich snapshot schemas, the description covers behavior, undo semantics, compatibility requirements, and what is deliberately not restored; the remaining workflow details (planHash/token chaining) live in the schema. No output schema exists, but the mutation semantics are adequately framed.

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 high (83%), so dryRun, confirmationToken, planHash, and expectedStateVersion are already well documented in the schema. The description reinforces the plan-vs-recall distinction but adds no syntax or edge-case detail beyond the structured definitions, so the baseline of 3 is appropriate.

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?

States a specific verb (plan or recall) and resource (captured track-state JSON) and enumerates exactly what is restored: track/rack-chain mixer, sends, routing, Drum Rack note routing, pad mute/solo, and nested parameters. It does not explicitly differentiate itself from close siblings like load_track_state_snapshot or recall_group_system_snapshot, so it falls short of 5.

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

Usage Guidelines3/5

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

The phrase 'onto exactly compatible topology' and the note that older snapshots without group context remain supported imply constraints on when it can be used, and 'Plan or recall' signals the dry-run/commit flow. However, it never contrasts itself against load_track_state_snapshot or the other recall_* siblings, so the agent must infer which recall tool to pick.

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

redoB

Plan or apply one guarded Ableton redo operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations declare readOnly=false, idempotent=false, destructive=false and openWorld=true; the description's 'guarded' adds a useful hint that a confirmation gate exists. However it does not disclose what state is restored, that redo depends on a prior undo, or failure conditions, so it is only modestly additive.

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?

A single tight sentence with the key concept ('guarded plan/apply') front-loaded and no filler. It is efficient, though arguably under-specified rather than maximally informative.

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?

For a 4-parameter mutation tool with no output schema, the description does not explain the full plan-then-confirm-apply orchestration or expectedStateVersion's role, relying wholly on the schema. It is adequate but leaves the workflow sequence for the agent to reconstruct.

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 description coverage is 100%, with dryRun, planHash, confirmationToken and expectedStateVersion all documented inline. The description adds no parameter meaning beyond the schema, so the baseline 3 applies.

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?

States a specific verb pair (plan/apply) and resource (Ableton redo), which is clear enough to distinguish from the sibling undo tool. It doesn't explicitly name undo as the alternative, so it stops short of full sibling differentiation.

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

Usage Guidelines3/5

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

The phrase 'Plan or apply' implies a two-phase workflow, and 'guarded' hints at gating, but the description never states when to choose redo over undo or when the plan vs apply phases are triggered. That context is left to infer from the schema.

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

remove_audio_warp_markerA
Destructive

Plan or apply deletion of an exact visible audio warp marker. Rejects the hidden terminal marker and stale clip state.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
beatTimeYesExact marker beat time from audio state.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuine behavioral constraints beyond that: it rejects the hidden terminal marker and refuses stale clip state, telling the agent that failures are expected when the marker is not visible or state is outdated.

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?

Two tight sentences with zero filler; the core action and mode are front-loaded and the two rejection conditions follow compactly.

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?

For a destructive mutation tool whose annotations carry the safety signals and whose schema carries the 7 parameters, the description supplies the missing failure-mode context. It omits mention of the plan/confirm token lifecycle, but the schema covers those fields, so nothing critical is missing.

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 description coverage is 100%, so clipId, trackId, beatTime, dryRun, planHash, confirmationToken, and expectedStateVersion are all documented in the schema; baseline is 3. 'Exact visible' and 'stale clip state' loosely echo beatTime and expectedStateVersion but add no syntax or format detail beyond the schema.

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?

States a specific verb+resource (remove audio warp marker) and immediately clarifies the two modes (plan or apply), which distinguishes it cleanly from siblings like move_audio_warp_marker and add_audio_warp_marker. An agent can select it without opening the schema.

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

Usage Guidelines3/5

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

The phrase 'Plan or apply' implies the dry-run-then-confirm workflow and the two rejection rules hint at preconditions, but there is no explicit when-to-use statement and no named alternative for cases where a marker should be moved or a clip quantized. Usage is therefore implied rather than directed.

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

rename_arrangement_cue_pointC

Plan or rename one exact Arrangement cue point.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNew cue-point name.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
cuePointIdYesStable cue-point ID.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true). The description adds no behavioral context beyond them: it does not explain that dryRun defaults to planning, that applying requires a short-lived single-use confirmationToken plus planHash, that expectedStateVersion guards against stale writes, or that renaming is non-idempotent.

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?

A single front-loaded sentence with no filler. It is efficient, though arguably too terse given the two-phase workflow it names but does not explain.

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

Completeness2/5

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

For a 6-parameter mutation tool implementing a plan/confirm token workflow with no output schema, the description omits critical context: the dry-run-first contract, token lifetime, and state-version requirement. These are only discoverable by reading individual schema fields.

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 description coverage is 100%, so all six parameters, including dryRun, planHash, confirmationToken and expectedStateVersion, are already documented in the schema. The description adds no extra parameter meaning; baseline 3 applies.

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?

States a specific verb ('rename') and resource ('Arrangement cue point'), which distinguishes it from siblings like create_arrangement_cue_point and delete_arrangement_cue_point. However, the dual 'Plan or rename' phrasing is unusual and does not cleanly signal which mode is the default.

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 versus rename_session_object or other rename tools, and no explanation of when to enter plan mode versus apply mode. The agent must infer the two-phase workflow entirely from the schema.

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

rename_rack_chainB

Plan or rename an exact rack chain with a guarded hierarchy snapshot. For return chains, name is a raw label; Live adds the return letter prefix. Use observed name for display, not verbatim restoration.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNew layer name; raw unprefixed label for returns.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
chainIdYesExact chain ID.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, so the safety profile is covered structurally. The description adds the notion of a 'guarded hierarchy snapshot' and implies the plan/confirm pattern, but does not explain what the guard protects against, what happens on a stateVersion mismatch, or the single-use token lifecycle (that detail lives in the schema).

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?

Three tight sentences with the core action front-loaded and no filler. The closing 'Use observed name for display, not verbatim restoration' is terse to the point of being slightly opaque, but it is not wasted space.

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?

With no output schema and eight parameters, the definition leans heavily on the schema for the dry-run/confirmation workflow and expectedStateVersion contract. The description covers the naming quirk but leaves the guarded-snapshot concept and failure modes unexplained, adequate but not complete for a mutation tool of this complexity.

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 description coverage is 100%, so all eight parameters, including name, dryRun, planHash and confirmationToken, are already documented. The description's return-chain naming clarification overlaps the schema's own 'raw unprefixed label for returns' note rather than adding new semantics, so baseline 3 applies.

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?

States a specific verb pair (plan or rename) and a specific resource (rack chain), which distinguishes it from the sibling create_rack_chain. The 'plan or rename' phrasing does capture the two-mode behavior, but the description never names alternatives or restates scope as sharply as it could.

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

Usage Guidelines3/5

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

Usage is only implied through the naming guidance for return chains; there is no explicit when-to-use statement, no mention of the relationship to create_rack_chain, and no stated preconditions. The return-chain naming note is context about how to use a parameter rather than guidance on when to select this tool.

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

rename_rack_macroA

Plan or rename one exact rack macro when Live exposes an unambiguous macro parameter layout and name readback. Rechecks the full rack snapshot and confirms the observed name after the native write.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNew macro name.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
macroIndexYesZero-based visible rack macro index.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-idempotent, open-world behavior. Beyond that, the description adds genuine value: it discloses that the tool rechecks the full rack snapshot and confirms the observed name after writing, which characterizes the verification behavior an agent should expect from a mutating 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?

Two tightly written sentences with the core action front-loaded and no filler. Slightly dense phrase 'unambiguous macro parameter layout' but every clause carries information.

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?

For an eight-parameter mutation tool with no output schema, the description covers the plan/execute nature and post-write verification while annotations carry the safety profile and the schema fully documents inputs. Adequate, though it could say more about the confirmation-token handshake between plan and write.

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 description coverage is 100%, so all eight parameters (including dryRun, planHash, confirmationToken) are already documented in the schema and the description needs only to add meaning. It does not add syntax detail beyond what the schema provides; baseline 3 applies.

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?

States a specific verb and resource: 'Plan or rename one exact rack macro', making clear this both previews and performs a rename. It is distinguishable from siblings like rename_rack_chain or map_rack_macro_to_parameter, though it doesn't name them for contrast.

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

Usage Guidelines3/5

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

Provides a precondition ('when Live exposes an unambiguous macro parameter layout and name readback') that hints at when renaming is safe, but offers no explicit when-not guidance or alternatives. The plan-vs-write workflow is implied rather than spelled out.

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

rename_session_objectB

Plan or rename an exact track, Return Track, scene, or Session clip. Return names are raw labels; Live prefixes the displayed bus letter.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNew name; for Return Tracks omit the automatic bus-letter prefix.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdNoStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
targetIdYesStable target ID.
targetTypeYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-idempotent, non-destructive, open-world mutation. The description adds the useful naming nuance that Return Track names are raw labels and Live prepends the bus letter, but it omits the most important behavioral trait: the plan-then-confirm (confirmationToken/planHash) gating, which it merely alludes to with the word 'Plan'.

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?

Two short sentences, front-loaded with the action and target set, and the second sentence carries non-obvious naming information. Nothing is padded, though 'exact' is a slightly opaque qualifier.

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?

With 8 parameters and no output schema, the description leaves the return shape and the meaning of the planned response (planHash/confirmationToken consumption) unexplained, and never mentions the state-version concurrency guard. For a multi-target mutation tool it is adequate but not fully self-contained.

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 description coverage is 88%, so the schema already documents name, dryRun, confirmationToken, planHash and expectedStateVersion; baseline is 3. The description reinforces the Return Track naming rule (omit the bus-letter prefix) but adds no format or constraint detail beyond what the property descriptions already state.

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?

Names a specific verb pair (plan or rename) and an explicit set of resources (track, Return Track, scene, Session clip), which lets an agent separate it from rename_arrangement_cue_point, rename_rack_chain and rename_rack_macro. However, it does not clarify how the 'plan' half relates to the 'rename' half, so the action is slightly ambiguous.

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?

There is no when-to-use guidance at all: nothing says whether to run a dry run first, when the close-out call is required, or which sibling to prefer for other renaming targets. The two-phase plan/confirm workflow must be inferred entirely from the schema.

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

route_tracks_to_busB

Plan or route existing tracks to one exact existing group bus using Live's available routing choices.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
trackIdsYesSource track IDs.
busTrackIdYesStable track ID returned by list_tracks.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description only needed to add mutation-specific context. It adds nothing about state-version freshness requirements, the dry-run/confirm handshake, whether existing routing is replaced, or error behavior beyond the vague 'Live's available routing choices'.

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?

A single front-loaded sentence that names the action and the destination without waste. Efficient, though it is short enough that it underspecifies rather than overexplains.

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?

For a non-idempotent, state-version-gated mutation with no output schema, the description omits the plan→confirm lifecycle and the concurrency guard, both of which live only in the schema parameter descriptions. Adequate but with clear gaps for an agent orchestrating the two-step flow.

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 description coverage is 100%, so all six parameters are already documented, including the dryRun/confirmationToken contract. The description adds only the minor nuance that the destination must be a single existing group bus; baseline 3 is appropriate.

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?

States a specific verb pair (plan or route), the resource (existing tracks), and the destination (one exact existing group bus), which implicitly separates it from the sibling route_tracks_to_return_bus. Clear purpose, though it doesn't explicitly name the return-bus alternative.

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

Usage Guidelines3/5

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

The words 'Plan or route' hint at a two-phase workflow and the schema's dryRun/confirmationToken descriptions carry the rest, but the description itself gives no explicit when-to-use, when-not-to-use, or prerequisite guidance.

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

route_tracks_to_return_busA

Plan or route existing tracks to one exact Return bus using matching sends and Sends Only outputs. Prevalidates all sources; Live applies one undo step but runtime failures can interrupt it.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
trackIdsYesSource track IDs.
sendValueYesNormalized send level (0 to 1).
returnTrackIdYesStable return-track ID.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations declare mutation (readOnlyHint=false, idempotentHint=false) and non-destructiveness, but the description adds real value beyond them: it discloses that all sources are prevalidated, that Live collapses to exactly one undo step, and that runtime failures can leave the operation interrupted/partial. The partial-failure warning is exactly the behavioral context annotations cannot convey.

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?

Two dense sentences with the capability statement first and the risk/undo caveat second; nothing wasted. The second sentence is slightly compressed ('Live applies one undo step but runtime failures can interrupt it') but still earns its place.

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?

For a 7-param mutating tool with no output schema, the description covers the plan/live duality, prevalidation, undo granularity, and failure mode. The only gap is the explicit dry-run-to-confirmationToken workflow, which the schema already documents, so completeness is close to adequate.

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 description coverage is 100% (all 7 params documented, including dryRun/planHash/confirmationToken flow), so the schema does the heavy lifting. The description's 'matching sends and Sends Only outputs' loosely gestures at sendValue/returnTrackId but adds no syntax or format detail beyond the schema; baseline 3 applies.

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?

States a specific verb and resource ('route existing tracks to one exact Return bus') and scopes it with 'matching sends and Sends Only outputs', which implicitly distinguishes it from the sibling route_tracks_to_bus (a generic bus target). An agent can identify the operation, though the differentiation from the generic sibling is left to inference rather than named.

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

Usage Guidelines3/5

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

Usage context is implied: the plan-vs-Live framing plus prevalidation suggests use after listing tracks and confirming state. However, it never states when this tool should be chosen over route_tracks_to_bus or other routing tools, and no prerequisites (e.g., needing a matching dry run first) are spelled out in the description.

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

save_device_chain_snapshotA

Capture a device chain including Return or master mixer, available master output channel, exposed rack-chain controls and populated Drum Rack pad mute/solo into the private named local chain library. Never overwrites. Does not save hidden plugin state, samples, automation, or mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNew local chain snapshot name; letters, numbers, dot, underscore and hyphen only.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only cover the generic safety profile (mutating, non-idempotent, non-destructive), while the description adds real behavioral scoping: 'Never overwrites' and the explicit exclusion list ('Does not save hidden plugin state, samples, automation, or mappings') tells the agent what will and will not be captured. It stops short of describing failure modes or what happens when the name already exists.

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?

Two sentences, front-loaded with what is captured, followed by the never-overwrites guarantee and the exclusion list. The first sentence is dense but every clause conveys scope-relevant information. Little waste, though the sentence could be slightly tightened.

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?

For a save tool with no output schema, the description covers what is captured, where it goes, and what is deliberately omitted, and the annotations cover the safety profile. The main remaining gap is error/overwrite behavior when a name already exists ('Never overwrites' implies it, but the resulting behavior is unstated).

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 description coverage is 100% and the schema itself documents the name charset restriction and the trackId ID format, so the description is not required to carry parameter detail. The description adds only the indirect hint that 'name' populates a named library entry; baseline 3 applies.

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?

States a specific verb (Capture/save) and resource (device chain snapshot) plus the destination (private named local chain library), which is meaningful detail. It does not explicitly distinguish itself from the near-identical sibling capture_device_chain_snapshot, so the boundary between in-memory capture and persistent named save is left to inference.

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

Usage Guidelines3/5

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

The phrase 'private named local chain library' implies this is the persistent, reusable-snapshot path, but the description never names an alternative or states when to prefer it over capture_device_chain_snapshot or capture_device_parameter_snapshot. Usage is inferred rather than stated.

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

save_group_system_snapshotA

Capture an existing Group Track and descendants into a private named local JSON file. Never overwrites; preserves exposed mixer, routing, device and rack state but not clips, samples, hidden plug-in state, automation or mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNew local group-system snapshot name; letters, numbers, dot, underscore and hyphen only.
busTrackIdYesStable track ID returned by list_tracks.

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond annotations by disclosing that it never overwrites, that it writes to a private local JSON file, and exactly which state is preserved (exposed mixer, routing, device, rack) versus omitted (clips, samples, hidden plug-in state, automation, mappings). These details are consistent with the provided annotations and provide valuable operational context.

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?

Two dense sentences with the purpose front-loaded and the behavioral caveats following immediately. Every clause carries useful information and there is no filler.

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?

For a two-parameter save operation with no output schema, the description covers purpose, storage location, overwrite policy, and the exact scope of state preserved and excluded. Nothing essential for correct invocation is missing.

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. The description adds meaningful constraint by specifying that busTrackId must identify an existing Group Track and that the capture includes its descendants, which is not stated in the schema.

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?

States a specific verb (Capture), resource (existing Group Track and descendants), and output artifact (private named local JSON file). It clearly distinguishes itself from load/recall tools, but does not explicitly differentiate itself from the sibling capture_group_system_snapshot, which uses a similar 'capture' verb.

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

Usage Guidelines3/5

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

The description implies the usage scenario: saving a Group Track and descendants to a local JSON file. However, it does not explicitly say when to use this tool versus alternatives such as capture_group_system_snapshot, load_group_system_snapshot, or plan_group_system_recall.

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

save_live_setA
Destructive

Plan or request Save for the currently named Set in the running macOS Live app. Binds Set identity and on-disk file version; does not invoke Save As for untitled Sets. Reports saved only after a changed file or clean-state readback.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.
expectedSetFingerprintYesExact setFingerprint from get_live_state for the currently loaded Set.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so safety is covered. The description adds genuinely non-redundant behavior: it binds Set identity and on-disk file version, and reports success only after a changed-file or clean-state readback, which tells the agent how success is verified and that the operation is version-guarded.

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?

Three compact, front-loaded sentences with no filler; the purpose leads and the constraints follow. Density is high, which suits a version-guarded mutation, but the phrasing is somewhat compressed and could be marginally more scannable.

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?

For a destructive, non-idempotent mutation with no output schema, the description supplies the missing essentials: what is bound, the Save-As exclusion, and the verification semantics behind the success report. Combined with annotations covering the safety profile, an agent has enough to call it correctly; only explicit prerequisites/permissions context is absent.

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 schema documents dryRun, planHash, confirmationToken, expectedStateVersion, and expectedSetFingerprint. The description still adds conceptual meaning by explaining that the call binds Set identity (fingerprint) and on-disk file version (state version), clarifying why the two required params exist as an optimistic-concurrency guard.

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?

States a specific verb (Save) and resource (the currently named Set) plus the environment (running macOS Live app), and scopes it away from Save As for untitled Sets. It is clearly differentiated from related siblings like open_live_set and get_live_state, though it does not name any sibling explicitly.

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 contrasts the two modes ('plan or request') and states a when-not condition ('does not invoke Save As for untitled Sets'), which routes the agent correctly. It stops short of naming prerequisite tools (e.g., get_live_state) or an explicit ordered workflow, so it falls short of a 5.

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

save_midi_feel_templateA

Analyze one exact MIDI clip and save its stored-note timing and velocity template in the private named local library. Never overwrites. Rejects clips assigned a native groove; does not capture Groove Pool playback effects.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsNo
gridYes
nameYesNew local template name; letters, numbers, dot, underscore and hyphen only.
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.
trackIdYesStable track ID returned by list_tracks.

TDQS

A4/5.0
Behavior5/5

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

Annotations declare a non-read-only, non-idempotent write with no destruction, but the description adds genuinely new behavioral facts: it 'Never overwrites' existing library entries (a safe-write guarantee not derivable from destructiveHint=false), rejects clips that have a native groove, and does not capture Groove Pool playback effects. These preconditions and scope limits are exactly the kind of beyond-annotation detail an agent needs.

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?

Three tight sentences, front-loaded with the primary action before the constraint and scope clauses. Nothing is padded, though the 'stored-note' and Groove Pool wording could be slightly tightened.

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?

For a save operation with no output schema, the description covers the core behavior, non-overwrite guarantee, rejection precondition, and capture scope, so an agent can call it correctly. The remaining gap is that no parameter-level meaning is supplied, particularly for the required grid and bars inputs that shape the saved template.

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

Parameters2/5

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

The description says nothing about any of the 5 parameters - no meaning for grid, bars, name, trackId, or clipId. With schema description coverage at 60% and the required grid/bars params carrying only enum and min/max constraints, the description fails to compensate for the undocumented half, leaving parameter semantics thin.

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 (analyze and save) and resource (a MIDI clip's stored-note timing and velocity template), and names the destination (private named local library). It distinguishes itself from siblings like analyze_midi_feel (analysis only), load_midi_feel_template, and apply_midi_feel_template, which an agent can tell apart without opening other schemas.

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

Usage Guidelines3/5

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

The description implies usage via constraints ('Rejects clips assigned a native groove'), which tells the agent when the tool will fail, but it never says when to choose this over load_midi_feel_template or apply_midi_feel_template. No explicit when/when-not routing is provided, so usage is only implied.

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

save_track_state_snapshotA

Capture one exact track state and save its JSON to the private named local snapshot library. Never overwrites; excludes clips, hidden plugin state, samples, automation and mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNew local snapshot name; letters, numbers, dot, underscore and hyphen only.
trackIdYesStable track ID returned by list_tracks.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (not read-only, not destructive, not idempotent), so the bar is lower; the description adds substantive context on top by stating it never overwrites and enumerating what is excluded (clips, hidden plugin state, samples, automation, mappings). That scope disclosure materially helps an agent predict what the snapshot will and won't contain.

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?

Two sentences, zero filler: the first states the action and destination, the second states the overwrite guarantee and exclusions. The critical constraint is front-loaded.

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?

For a 2-parameter tool with no output schema and full schema coverage, the description supplies the important behavioral facts (no overwrite, exclusion list, local private library). It does not address prerequisites such as whether the trackId must exist or how the saved snapshot is later retrieved, but those are minor.

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 description coverage is 100%, so both parameters (name, trackId) are fully documented in the schema, including the name character restrictions and the reference to list_tracks. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.

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?

States a specific verb+resource (capture one exact track state, save its JSON to a named local snapshot library). It is clear what the tool produces, but it does not distinguish itself from the sibling capture_track_state_snapshot, which by name sounds like it does the same capture step.

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?

There is no when-to-use guidance relative to alternatives. With siblings like capture_track_state_snapshot, save_device_chain_snapshot, and load/recall_track_state_snapshot, an agent cannot tell from the description when to pick save versus capture or versus the device-chain equivalents.

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

search_browser_item_metadataA
Read-onlyIdempotent

Search saved private tags and favorites for Live browser items or local_splice samples. Results are not reverified against Live or the local filesystem and do not represent native collections.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootNoOptional browser root or local_splice filter.
tagsNoRequire all tags.
limitNo
favoriteNoOptional private favorite filter.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare the safe read-only, idempotent, open-world profile, but the description adds a genuinely important behavioral caveat beyond them: results are 'not reverified against Live or the local filesystem and do not represent native collections,' warning the agent about staleness and provenance. This is real added value for a search 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?

Two tight sentences: the first front-loads what is searched, the second carries the essential provenance caveat. No filler or redundancy.

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?

For a 4-optional-param read-only search with no output schema, the description covers scope and freshness adequately but omits return shape (what metadata fields come back) and how 'limit' bounds results. These gaps are modest given annotations carry the safety profile, but the agent lacks hints about the response.

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 75%, so most parameters (root, tags, favorite) are already documented in the schema. The description adds context by clarifying that tags/favorites are 'private' and that root filters 'Live browser items or local_splice samples,' but it gives no syntax or matching semantics (e.g., substring vs exact, tag conjunction).

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?

States a specific verb ('Search') and a clearly delimited resource ('saved private tags and favorites for Live browser items or local_splice samples'). This scope distinguishes it from get_browser_item_metadata (single-item fetch) and search_browser_items (which queries the browser itself), though it does not name those siblings explicitly.

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?

The description scopes what is searched but never says when to choose this tool over search_browser_items, search_local_splice_samples, or get_browser_item_metadata. No exclusions, no prerequisite conditions, no alternative routing are provided.

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

search_browser_itemsA
Read-onlyIdempotent

Search a bounded subtree of Live's browser and return exact paths usable by load_browser_item. Optionally join private MCP tags and favorites by exact root, path, and URI; not native Live collections.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoOptional subtree path.
rootYesLive browser root.
limitNo
queryYesCase-insensitive item-name query.
maxDepthNo
includeMetadataNoJoin private MCP tags and favorites for results with an exact URI.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description adds real scope context: bounded subtree traversal, optional metadata join semantics keyed on exact root/path/URI, and the explicit exclusion of native Live collections.

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?

Two sentences, front-loaded with the core purpose before the optional join behavior. Terse and free of filler; could still be slightly more economical in the second clause.

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?

No output schema, but the description conveys what the tool returns (exact loadable paths) and the optional metadata attachment, which is enough for an agent to call it correctly alongside load_browser_item. Missing depth/pagination expectations are minor.

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 67%, and the description largely restates what the schema already documents for includeMetadata (private MCP tags/favorites keyed on exact URI). It adds little syntax or boundary detail for limit, maxDepth, or path matching beyond the schema's own descriptions.

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?

States a specific verb (Search) and resource (bounded subtree of Live's browser) and even names the downstream consumer (paths usable by load_browser_item). It does not name its closest siblings (get_browser_items, search_browser_roots), so an agent can't fully distinguish it without opening schemas.

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

Usage Guidelines3/5

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

The link to load_browser_item implies a discover-then-load workflow, and 'not native Live collections' hints at scope. But there is no explicit when-to-use vs when-not guidance or named alternative among the many browser-search siblings.

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

search_browser_rootsA
Read-onlyIdempotent

Search selected or all available Live browser roots in order, with exact root/path identities, unavailable roots, and explicit result or scan-limit truncation. Optional private MCP tags/favorites join by exact root, path, and URI; not a native Live collection or Splice cloud search.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesCase-insensitive item-name query.
rootsNoOptional roots to search in order; omit for all general roots.
maxDepthNo
maxVisitedNoMaximum child items to inspect across selected roots; defaults to 10000.
includeMetadataNoInclude private MCP tags and favorites for results with an exact URI.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld). The description adds genuinely new behavior: unavailable roots are surfaced, results report exact root/path identity, and truncation is explicit for both result limits and scan limits, plus the join rule for private MCP tags/favorites (exact URI required). That is substantive context beyond the 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?

Two dense sentences, with the core action and result shape front-loaded before the disambiguation clause. Some jargon ('exact root/path identities', 'scan-limit truncation') costs a little readability but no sentence is wasted.

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?

No output schema exists, and the description does describe the return composition (identities, unavailable roots, truncation flags) and the conditional tag/favorite join, so an agent knows what to expect. The main residual gap is the absence of routing guidance against sibling browser tools.

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 67%, so the schema documents most parameters itself. The description adds little for limit/maxDepth/maxVisited beyond the truncation note, and its includeMetadata phrasing largely restates the schema's own wording. Marginal value over the structured fields, so baseline 3.

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?

States a specific verb+resource ('Search ... Live browser roots') and enumerates what the result carries (exact root/path identities, unavailable roots, truncation). It also carves out a negative boundary ('not a native Live collection or Splice cloud search'). However, it never names its closest siblings (list_browser_roots, search_browser_items), so the agent must infer which root/item tool applies.

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

Usage Guidelines3/5

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

Implies usage via 'selected or all available Live browser roots in order' and the optional MCP tags/favorites join, which tells the agent this searches roots rather than items. But there is no explicit when-to-use / when-not-to-use statement or named alternative, only the negative Splice/collection caveat.

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

search_local_splice_samplesA
Read-onlyIdempotent

Search existing local Splice audio files by filename/folder, private favorite state and/or private tags. Query is optional when a metadata filter is supplied. Filtering happens before pagination; visited and truncated report an incomplete bounded scan. Private metadata is not a native Splice collection; no cloud search, license verification, download, or sync.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoRequire every supplied tag.
limitNo
queryNoOptional case-insensitive audio filename or relative-path query; required without metadata filters.
offsetNoZero-based match offset for deterministic pagination; defaults to zero.
favoriteNoOptional private favorite state filter.
maxDepthNo
rootPathYesAbsolute local Splice asset directory.
maxVisitedNoMaximum directory entries to inspect; defaults to 50000. A truncated result is incomplete.
includeMetadataNoInclude private MCP tags and favorites for matching local files.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the bar is lower, yet the description still adds real behavior: filtering is applied before pagination, and 'visited'/'truncated' signal an incomplete bounded scan. It also clarifies that private metadata is not a native Splice collection. Return-shape detail is thin, but the bounded-scan semantics are the operationally important part.

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?

Three dense sentences that front-load the search scope before the constraints and exclusions. Each sentence carries information (what it matches, how filters interact, what it explicitly cannot do), with only minor overlap between the query-optional clause and the schema.

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?

For a 9-parameter search tool with annotations but no output schema, the description covers scope, filter interaction, pagination ordering, truncation risk, and exclusions. The main remaining gap is a brief description of what a match result contains, though the truncation/incompleteness warning is the higher-value disclosure.

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?

At 78% schema coverage the schema already documents most parameters, but the description adds cross-parameter meaning the schema lacks: the ordering of filtering relative to offset/limit pagination, and the conditional relationship between query and metadata filters. That is more than a restatement of the individual field descriptions.

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?

States a specific verb and resource ('Search existing local Splice audio files') plus the exact facets it matches on (filename/folder, private favorite state, private tags). The 'local' qualifier and the explicit 'no cloud search' clause cleanly separate it from the sibling directory-browsing tools.

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?

Gives a concrete usage condition ('Query is optional when a metadata filter is supplied') and a clear when-not list (no cloud search, license verification, download, or sync). It does not, however, route the agent toward siblings like browse_local_splice_directory or list_local_splice_roots, so the alternative selection is left implicit.

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

search_presetsA
Read-onlyIdempotent

Search the optional local NKS preset catalog by name, across every product unless productSlug is given. Presets the last inventory did not find on disk are excluded.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoRequire every supplied tag.
limitNo
queryNoName query.
favoriteNoReturn only favorites or non-favorites.
productSlugNoProduct slug.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the description's added value is the disclosure that the catalog is optional and that presets not found on disk by the last inventory are silently excluded — a real result-set behavior an agent must know.

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?

Two dense sentences, front-loaded with the core action and scope before the exclusion caveat. No filler; every clause carries information.

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?

For a five-parameter search tool with no output schema, the description covers scope and the disk-exclusion rule but says nothing about result ordering, limit/pagination behavior, or shape of results. Adequate but with clear gaps.

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 80% (baseline 3), and the description adds meaning beyond the schema by explaining the scope effect of productSlug (restricts from all products to one) and that the query matches on name. tags, limit, and favorite remain schema-only.

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?

States a specific verb (search) and resource (local NKS preset catalog) with scope: by name, across all products unless productSlug is given. This is enough to distinguish it from the sibling get_preset, though it never explicitly names that alternative.

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

Usage Guidelines3/5

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

The description implies when to use it ('across every product unless productSlug is given'), which tells the agent how to narrow scope, but gives no explicit when-to-use-vs-alternatives guidance against siblings like get_preset or search_browser_items.

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

set_audio_clip_stateA

Plan or apply guarded audio-clip gain, pitch offsets, warp, and marker changes. Use beats for warped clips and seconds for unwarped clips; change warping separately from markers.

ParametersJSON Schema
NameRequiredDescriptionDefault
gainNoClip gain.
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.
trackIdYesStable track ID returned by list_tracks.
warpingNoWarp enabled.
planHashNoHash returned by the matching dry run.
warpModeNoWarp mode value or name.
pitchFineNo
pitchCoarseNo
endMarkerBeatsNoWarped end marker in beats.
endMarkerSecondsNoUnwarped end marker in seconds.
startMarkerBeatsNoWarped start marker in beats.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
startMarkerSecondsNoUnwarped start marker in seconds.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare it a non-idempotent, non-destructive mutation, so the safety profile is partly covered. The description adds meaningful behavior beyond that: the two-phase 'plan or apply' guarded workflow and the caveat that warping changes must be made separately from marker changes, which is a genuine operational constraint an agent needs.

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?

Two tightly written sentences with zero filler; the plan/apply and field scope come first, then the unit and sequencing rules. Every clause carries information.

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?

For a 15-parameter mutation tool with no output schema, the description covers the crucial mode split and unit-coupling rules. It leaves the concurrency/guarding contract (expectedStateVersion, confirmationToken, planHash lifecycle) entirely to the schema, which handles it well, but a sentence on the dry-run/confirm flow would make it fully self-contained.

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 87%, so the baseline is 3, but the description adds semantics the schema does not: the unit-selection rule (beats vs seconds tied to warp state) and the constraint about separating warping from marker edits. It does not explain expectedStateVersion/dryRun/planHash, but those are well documented in the schema.

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?

States a specific verb pair (plan or apply), the resource (audio-clip state), and enumerates the affected fields (gain, pitch offsets, warp, markers). It is clearly distinguishable from siblings such as get_audio_clip_state or move_audio_warp_marker, though it never names a sibling explicitly.

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

Usage Guidelines3/5

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

It gives real parameter-selection guidance (beats for warped, seconds for unwarped; change warping separately from markers), which is more than most tools offer. However, it never says when to choose this tool over alternatives like get_audio_clip_state, set_clip_timing, or the individual warp-marker tools, and gives no when-not guidance.

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

set_beat_repeat_enabledA

Plan or request one exact native Beat Repeat Repeat choice, Off or On. Native execution rechecks the complete device, routing, and transport snapshot before writing Repeat and reports its immediately observed value. Does not promise beat-scheduled execution, a captured buffer, or an audible effect.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
enabledYesTarget native Repeat On or Off.
trackIdYesStable track ID returned by list_tracks.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

With annotations supplying safety (readOnly=false, destructive=false, idempotent=false), the description adds real value beyond them: it discloses the pre-write recheck of device/routing/transport state, that the reported value is 'immediately observed,' and what it explicitly does NOT guarantee (beat-scheduled execution, captured buffer, audible effect). This is substantive behavioral context.

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?

Three sentences, front-loaded with the action and closing with the scope limitations, so every sentence earns its place. Minor redundancy in 'one exact native Beat Repeat Repeat choice' slightly hurts readability.

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?

For a non-idempotent mutation with a dry-run/confirm workflow and no output schema, the description supplies enough: what is written, that a state recheck occurs, and that the observed value is reported. The planHash/confirmationToken flow is left to the schema, which covers it fully.

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 description coverage is 100% and the schema fully documents dryRun, planHash, confirmationToken, expectedStateVersion, etc. The description adds only the On/Off semantics already present in the enabled field, so baseline 3 is appropriate.

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?

Names a specific verb (set/plan) and resource (the native Beat Repeat 'Repeat' choice, Off or On), clearly distinguishing it from sibling tools like set_beat_repeat_grid and set_beat_repeat_interval. The doubled word 'Beat Repeat Repeat' is awkward but the intent is discernible.

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

Usage Guidelines3/5

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

'Plan or request' implies the dry-run/confirm flow, but the description never states when to plan vs when to execute, nor names alternatives such as get_beat_repeat_performance_context for reading current state. Usage is inferable but not explicitly guided.

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

set_beat_repeat_gridA

Plan or request one exact native Beat Repeat Grid display division from get_beat_repeat_performance_context.gridChoices. Ambiguous or unavailable display labels fail closed. Native execution rechecks the complete device, routing, and transport snapshot before writing; observed parameter equality is reported, not an audible or beat-scheduled result.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable track ID returned by list_tracks.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
gridDisplayValueYesExact native Grid display value, for example 1/12.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare non-readonly, non-destructive, non-idempotent, open-world. The description adds real behavioral context beyond them: dry-run planning vs native execution, fail-closed on ambiguous labels, full device/routing/transport snapshot re-validation before writing, and the caveat that success means observed parameter equality, not an audible or beat-scheduled result.

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?

Three dense sentences with no filler, and the core action plus value source are front-loaded. The phrasing is jargon-heavy but every clause carries operational meaning.

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?

For a non-idempotent mutation with no output schema and full schema coverage, the description covers the safety-relevant flow: value sourcing, fail-closed behavior, snapshot re-checking, and the scope of the reported result. Return-value details are correctly omitted since no output schema exists, though confirmation of post-write state shape is left unstated.

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 100%, so the schema already documents all seven parameters (dryRun, planHash, confirmationToken, expectedStateVersion, IDs). The description reinforces the plan/confirm token flow and the gridChoices constraint on gridDisplayValue but adds little syntax or format detail beyond the schema.

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?

States a specific verb+resource: setting one exact native Beat Repeat Grid display division, and names the authoritative value source (get_beat_repeat_performance_context.gridChoices). It is distinguishable from most siblings, though the boundary against set_beat_repeat_interval (grid division vs interval) is left implicit.

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

Usage Guidelines3/5

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

Usage is implied through the plan-vs-request framing and the fail-closed rule for ambiguous labels, and it points to gridChoices as the valid-value source. However, it never states when to prefer this over set_beat_repeat_interval or set_beat_repeat_enabled, nor any prerequisites for the native (non-dry-run) path.

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

set_beat_repeat_intervalB

Plan or request one exact native Beat Repeat Interval display from get_beat_repeat_performance_context.intervalChoices. Native integer-position labels are mapped without assuming a quantized parameter or scheduled trigger. Ambiguous or unavailable labels fail closed; execution rechecks the complete device, routing, and transport snapshot and reports immediately observed parameter equality, not an audible result.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable track ID returned by list_tracks.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.
intervalDisplayValueYesExact native Interval display value, for example 1/2.

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, and the description adds real context on top: ambiguous/unavailable labels fail closed, execution rechecks the complete device/routing/transport snapshot, and success is reported as observed parameter equality rather than an audible result. That materially clarifies failure and verification semantics beyond the annotations.

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?

Three dense sentences with no wasted filler, but they are back-loaded with caveats and the leading clause ('Plan or request...') is the least informative part. Front-loading the actual operation would serve the agent better.

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?

For a 7-parameter mutation tool with no output schema, the description covers the important non-schema semantics: where valid values come from, fail-closed behavior, state re-validation, and what the result actually asserts. The dry-run/token handshake is left to the schema, which is acceptable given 100% coverage.

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 description coverage is 100%, so every parameter (dryRun, expectedStateVersion, planHash, confirmationToken, etc.) is already documented in the schema. The description adds only the constraint that the value must come from intervalChoices as an exact native label, which is marginal additional meaning.

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

Purpose3/5

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

The description names a specific resource (the native Beat Repeat Interval display) and points at the authoritative source of valid values (get_beat_repeat_performance_context.intervalChoices), which distinguishes it from set_beat_repeat_enabled and set_beat_repeat_grid. However, the verb phrase 'Plan or request one exact native Beat Repeat Interval display' is muddy, and 'native integer-position labels' is jargon that does not clearly say what the tool changes.

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

Usage Guidelines3/5

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

It directs the agent to obtain the interval value from get_beat_repeat_performance_context.intervalChoices and implies a plan-then-execute flow ('Plan or request'), but never states when to prefer this tool over the sibling set_beat_repeat_grid or set_beat_repeat_enabled, nor any preconditions for execution.

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

set_browser_item_metadataA

Plan or edit private MCP-managed tags and favorite state with observed Live browser identity or local audio-file version, exact revision, and single-use confirmation. A Live user-folder sample shares the local Splice record only when its URI unambiguously matches a configured local Splice file; reserved URI delimiters and existing separate Live metadata preserve exact Live identity. For a local sample, use root local_splice and path [absolute directory, relative audio path]. Does not modify native collections.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesNon-empty path to one item.
rootYesLive browser root or local_splice.
tagsNoComplete replacement tag set, up to 32 entries.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
favoriteNoPrivate favorite state.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedMetadataRevisionYesExact preset metadata revision observed immediately before planning.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare a non-read-only, non-idempotent, open-world, non-destructive mutation, and the description adds genuinely useful context on top: the revision precondition, the single-use confirmation token, the fact that only MCP-private tags/favorites are touched, and that live metadata is preserved when URI matching is ambiguous. That is meaningful behavioral disclosure beyond the annotation flags, though failure/error behavior is unaddressed.

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

Conciseness2/5

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

The core instruction is front-loaded, but the body is a dense run-on of stacked qualifiers ('reserved URI delimiters and existing separate Live metadata preserve exact Live identity') that taxes comprehension without adding callable detail. Size is not excessive, but the structure is poor and several clauses do not earn their place.

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?

For an eight-parameter mutation tool with full schema coverage and annotations covering the safety profile, the description supplies the missing conceptual pieces: concurrency guard via expectedMetadataRevision, the plan/confirm two-step, and the scope limit against native collections. No output schema exists, but the return contract (plan hash + token) is at least hinted at; only error handling is absent.

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 description coverage is 100%, so the schema already carries all eight parameters and the baseline is 3. The description adds only a little on top (the two-element path shape for local_splice, revision timing), without adding format or constraint detail the schema lacks.

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 opening clause names a concrete verb pair (plan or edit) and the resource (private MCP-managed tags and favorite state on a browser item), which is enough to separate it from get_browser_item_metadata and search_browser_item_metadata. It does not, however, call out the sibling it must not be confused with (set_preset_metadata), and the mid-sentence clauses about Live URI matching and reserved delimiters muddy the one-line read.

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

Usage Guidelines3/5

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

The description implies the dry-run-then-confirm workflow and does state a real boundary ('Does not modify native collections'), plus a specific routing rule ('For a local sample, use root local_splice and path [absolute directory, relative audio path]'). It never says when to prefer this tool over set_preset_metadata or get_browser_item_metadata, so the alternative-selection guidance is only implied.

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

set_bulk_track_mixerA

Plan or apply guarded volume, pan, mute, and solo changes to multiple existing ordinary tracks in one confirmed step. Per-track values clamp to each observed native range; sends are unchanged.

ParametersJSON Schema
NameRequiredDescriptionDefault
panNoPan applied to every listed track.
muteNoMute state applied to every listed track.
soloNoSolo state applied to every listed track; a solo write mutes everything else at Live level.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
volumeNoVolume applied to every listed track.
planHashNoHash returned by the matching dry run.
trackIdsYesUnique ordinary track IDs to change.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare non-readOnly, non-idempotent, non-destructive, so the safety bar is partly covered. The description adds genuinely useful behavior beyond that: per-track clamping to native ranges and the fact that sends are left unchanged.

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?

Two tightly written sentences, front-loaded with the action and scoping, no filler.

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?

Covers the dry-run/confirm workflow, clamping semantics, and blast radius (multiple tracks, sends unchanged) despite 9 parameters and no output schema. The plan return shape is left to the schema's dryRun description, which is acceptable.

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% (baseline 3), and the description still adds meaning absent from the schema — that volume/pan values clamp to each track's observed native range and that sends are untouched — which matters for a bulk write.

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?

States a specific verb (plan or apply) and resource (volume, pan, mute, solo on multiple existing ordinary tracks), and the 'multiple' scope cleanly separates it from the single-track sibling set_track_mixer.

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

Usage Guidelines3/5

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

Usage is implied by 'plan or apply ... in one confirmed step' and the dryRun/confirmationToken flow, but no explicit when-to-use vs set_track_mixer or when-not guidance is given.

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

set_clip_parameter_envelopeA

Plan or replace one Session clip parameter envelope with exact step data.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
pointsYesReplacement envelope steps.
trackIdYesStable track ID returned by list_tracks.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
parameterIdYesStable parameter ID returned by list_device_parameters.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and idempotentHint=false, so the mutating nature is covered. The description usefully implies that existing envelope data is overwritten ('replace') and that only exact step data is accepted (no curves/interpolation), but says nothing about the confirmation-token flow or reversibility beyond what the schema already encodes.

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?

A single front-loaded sentence with no wasted words; the operation and its object lead the sentence. Ideal density for a tool whose details live in the schema.

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?

For a 9-parameter mutating tool the description is adequate on 'what' but thin on 'how it behaves': the plan/confirm lifecycle and replacement-vs-merge semantics are only derivable from schema field docs. With no output schema, the description does not need to explain return values, but it could do more on the planning workflow.

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 description coverage is 100%, so the baseline is 3. The description adds no parameter-level detail (beats, clamping, state-version preconditions) beyond what the schema already documents, so it neither compensates nor detracts.

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?

States a specific verb (plan/replace) and resource (Session clip parameter envelope) with scope qualifiers, making it distinguishable from the get_clip_parameter_envelope sibling. Minor friction: it says 'Session clip' while the clipId schema explicitly supports Arrangement clips, so scope is slightly narrower than reality.

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

Usage Guidelines3/5

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

'Plan or replace' implies the two-phase dry-run/apply workflow, which is the key usage context. However, no explicit when-to-use or when-not-to-use guidance is given, and the plan-vs-apply decision (dryRun/confirmationToken) is left to the schema rather than stated as guidance.

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

set_clip_timingA

Plan or apply guarded clip loop, signature, launch quantization, Session launch Legato, native clip mute, groove, and editor-grid changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
loopNo
muteNoMute this clip when supported by Live's native clip API.
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.
trackIdYesStable track ID returned by list_tracks.
grooveIdNoGroove ID returned by get_clip_timing.
planHashNoHash returned by the matching dry run.
editorGridNo
launchLegatoNoEnable Legato launch for a Session clip.
timeSignatureNo
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
launchQuantizationNoLaunch quantization value or name.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is largely covered structurally. The word 'guarded' hints at the plan/confirm protection, but the description does not explain that applying mutates live clip state, that a confirmationToken/planHash is required, or that expectedStateVersion guards against races.

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?

A single front-loaded sentence with the verb first and no filler. The comma list is dense but each item corresponds to a real parameter group, so it earns its length; a slightly clearer grouping of plan-vs-apply would help.

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?

For a 13-parameter nested mutation tool with no output schema, the description covers what can be changed but omits the guarded workflow semantics (dryRun default, token lifetime, planHash pairing with expectedStateVersion) that an agent must understand to invoke it safely. The parameter descriptions partially compensate, leaving a real gap.

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 77%, so the baseline is 3, and the description does more by grouping the parameter set into named semantic capabilities (loop, signature, launch quantization, Legato, mute, groove, editor-grid) that map to the nested objects. It does not, however, explain expectedStateVersion, planHash, or confirmationToken roles.

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?

States a specific dual verb ('Plan or apply') plus the exact resource surface (clip loop, signature, launch quantization, Session Legato, native clip mute, groove, editor-grid), which cleanly separates it from read-only siblings like get_clip_timing. An agent can tell what changes this tool makes without opening the schema.

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

Usage Guidelines3/5

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

'Plan or apply' implies a dry-run-then-commit workflow, which is genuine but implicit guidance. It never names an alternative (e.g. get_clip_timing for reading, or set_clip_parameter_envelope for other clip edits) or states when to prefer this tool, so usage is only inferable.

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

set_device_activeB

Plan or set the active state of one exact loaded device on an ordinary, Return, or Main track.

ParametersJSON Schema
NameRequiredDescriptionDefault
activeYesRequested active state.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds the non-obvious two-phase 'plan or set' behavior, but drops the confirmation-token/state-version concurrency contract to the schema and says nothing about failure modes when the device state has drifted.

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?

A single front-loaded sentence with no filler; the plan-vs-set distinction and track scope come first. It is efficient, though it is arguably too terse to carry the workflow it implies.

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?

For a state-versioned, two-phase mutation tool the description is minimally sufficient: purpose and scope are clear and the schema carries the token/hash mechanics. It omits when-to-use routing and any statement about state-drift or confirmation failure, leaving meaningful gaps against the tool's actual complexity.

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 description coverage is 100%, so all seven parameters (dryRun, planHash, confirmationToken, expectedStateVersion, etc.) are already documented in the schema. The description only reinforces 'one exact loaded device' and adds no format or constraint detail beyond it.

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?

States a specific verb+resource ('set the active state of one exact loaded device') and scopes it to ordinary, Return, or Main tracks. An agent can distinguish it from set_device_parameters or delete_device, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

'Plan or set' hints at the dry-run versus commit choice, which is the key usage decision, but the description never states when to use this tool over set_device_parameters or what prerequiisites (loaded device, fresh stateVersion) apply. Usage is implied rather than spelled out.

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

set_device_parametersA
Destructive

Plan or apply guarded bounded changes to exact loaded-device parameters on an ordinary, Return, or Main track. A string value selects one exact, unambiguous observed choice label on a quantized parameter; a numeric value retains native clamping. Native Looper State writes targeting Record or Overdub are flagged as recorded-content mutations: restoring a previous parameter value does not restore captured audio.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
changesYesParameter changes.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the destructiveHint/openWorldHint annotations it discloses the bounded/guarded nature of the write, the clamping behavior for numeric vs string values, and a non-obvious hazard: Looper State writes to Record/Overdub mutate recorded content, and reverting a parameter does not restore captured audio. That is exactly the kind of context annotations cannot carry.

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?

Three sentences, purpose front-loaded, no filler. The second and third sentences are information-dense but every clause earns its place; slightly heavy nesting keeps it from being maximally crisp.

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?

For a 7-parameter destructive mutation with no output schema, it covers purpose, value semantics, and the key mutation caveat. The concurrency contract (expectedStateVersion) and token/planHash lifecycle are left entirely to the schema, which is acceptable given full schema coverage but leaves the apply step's preconditions implicit.

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 genuinely new meaning: string values must be an exact unambiguous observed choice label on a quantized parameter, and numeric values retain native clamping. It does not expand on expectedStateVersion or the token/planHash lifecycle, which the schema already covers.

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?

States a concrete verb ('plan or apply ... changes') and an exact resource ('loaded-device parameters on an ordinary, Return, or Main track'), scoping it apart from track-mixer, clip-envelope, and routing siblings. An agent can identify this as the device-parameter write path without opening the schema.

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 'plan or apply' framing conveys the two-step guarded workflow (plan first, then apply), giving clear operational context. It does not name an explicit alternative or state when-not-to-use, so it stops short of full sibling routing.

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

set_device_sidechain_routingA

Plan or apply one guarded native device-sidechain source type or channel change. Read refreshed channels after changing source type. Rejects unsupported devices and ambiguous choices; does not enable external sidechain automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
sourceTypeIdNoExact available sidechain source type ID.
sourceChannelIdNoExact available sidechain channel ID.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare this is a non-readonly, non-destructive, non-idempotent, open-world operation. The description adds meaningful behavior beyond that: a guarded plan/apply flow, rejection of unsupported devices and ambiguous choices, a required post-change channel refresh, and the limitation that external sidechain is not auto-enabled.

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?

Three compact sentences with the core action front-loaded and constraints following. No filler, though the phrasing is dense enough that it borders on terse for a mutation tool.

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?

For an 8-parameter mutation tool with no output schema, the description covers the action, the plan/apply guard, post-conditions, and rejection behavior. Remaining gaps (return payload shape, token/planHash lifecycle) are largely covered by the schema property descriptions.

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 description coverage is 100%, so each of the 8 parameters (including dryRun, planHash, confirmationToken, expectedStateVersion) is fully documented in the schema. The description's mention of 'source type or channel' maps to sourceTypeId/sourceChannelId but adds little beyond the schema, so baseline 3 applies.

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?

States a specific verb+resource: setting a native device-sidechain source type or channel change, scoped to 'one guarded' change. This clearly distinguishes it from the read counterpart get_device_sidechain_routing and from generic routing tools like set_track_routing or set_track_midi_routing.

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?

Gives real context: read refreshed channels after changing source type, rejects unsupported devices and ambiguous choices, and notes it does not auto-enable external sidechain. It stops short of explicitly naming get_device_sidechain_routing as the read alternative or spelling out exactly when to use this vs other routing setters.

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

set_drum_pad_stateA

Plan or mute/solo an exact populated Drum Rack pad by MIDI note with a guarded rack snapshot. Does not assign sounds to pads.

ParametersJSON Schema
NameRequiredDescriptionDefault
muteNoMute pad.
noteYes
soloNoSolo pad.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare it is a non-destructive, non-idempotent write, so the bar is lower; the description adds genuinely useful context with 'guarded rack snapshot', signalling the optimistic-concurrency safety model behind expectedStateVersion and the dry-run/confirmationToken flow. It does not spell out what happens on a stale version, but the guard concept is surfaced.

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?

Two tight sentences, front-loaded with the core verb+resource and then the scope exclusion; every clause carries information and nothing is padded.

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?

For a 9-parameter mutating tool with no output schema, the description covers the plan/commit duality and the concurrency guard, and the schema covers parameters at 89%. It could say more about the plan/confirm lifecycle or failure on a mismatched version, but an agent has enough to invoke it correctly.

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 description coverage is 89%, well above the threshold, so the schema already documents note, mute/solo, dryRun, and the token/version fields. The description adds only the 'by MIDI note' scoping and the guard framing, which is baseline-level value when the schema does the heavy lifting.

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?

States a specific verb (mute/solo) and resource (Drum Rack pad), scoped by MIDI note and a guarded snapshot, and explicitly excludes the adjacent operation ('Does not assign sounds to pads'). An agent can distinguish this from siblings like apply_drum_variation or set_device_parameters without opening a schema.

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?

'Plan or mute/solo' frames both the dry-run and the commit path, and the closing negation ('Does not assign sounds to pads') gives a clear when-not boundary. No named alternative is offered for the cases this tool declines, so it stops short of full when/when-not/alternative routing.

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

set_grooveA

Plan or apply guarded Groove Pool base-grid, name and percentage edits. Timing, random, pre-quantization use 0–100; velocity uses -100–100. Affects every clip using this shared groove; does not bake or extract a groove.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoGroove name.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
baseGridNoExact native baseGrid choice name or value from musical context, including triplets.
grooveIdYesExact groove ID from musical context.
planHashNoHash returned by the matching dry run.
randomAmountNoRandom timing percentage.
timingAmountNoTiming percentage.
velocityAmountNoVelocity percentage; negative reverses the groove's velocity influence.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
quantizationAmountNoStraight pre-quantization percentage.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare this is a non-readonly, non-idempotent, non-destructive, open-world mutation. The description adds the key blast-radius fact the agent cannot get from annotations: the edit affects every clip using this shared groove. It omits the guarded confirm flow (dryRun/planHash/confirmationToken) at the description level, which is covered only in the schema.

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?

Three front-loaded sentences: purpose first, then units, then blast radius and scope exclusion. No filler, though the unit-range sentence partially duplicates schema constraints and could be trimmed.

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?

For an 11-parameter guarded mutation with no output schema, the description covers purpose, scope, side-effect breadth, and units. The plan→confirm→apply workflow and expected return values are left to the schema parameters (dryRun, planHash, confirmationToken), which is a reasonable division but leaves the end-to-end flow implicit.

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 description coverage is 100%, so the schema already documents all 11 parameters including units and min/max. The description's range sentence ('Timing, random, pre-quantization use 0–100; velocity uses -100–100') largely restates schema min/max rather than adding interpretation. Baseline 3 is appropriate.

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?

States a specific verb pair ('plan or apply') and a precise resource scope ('Groove Pool base-grid, name and percentage edits'), so the agent knows this is the Groove Pool value editor, not create_groove or an extract/bake operation. The closing clause 'does not bake or extract a groove' cleanly separates it from neighboring groove-producing tools.

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?

'Plan or apply' plus 'Affects every clip using this shared groove' gives clear context for when this tool is the right one, and the bake/extract exclusion tells the agent when it is not. It stops short of naming a sibling to route to (e.g. get_clip_groove_context first, or inspect_clip_groove_postconditions after), so it is not a full when/when-not/alternatives statement.

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

set_group_fold_stateB

Plan or apply the folded state of one exact existing group track.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
foldedYesWhether the group is folded.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already disclose the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds the two-phase plan/apply nature and the 'one exact existing' scoping constraint, but omits confirmationToken single-use/lifetime behavior and expectedStateVersion conflict handling, which the schema covers only in fragments.

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?

A single compact sentence with the action and scope front-loaded and no filler. It is efficient, though terse enough that it leans on the schema for almost everything else.

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?

For a six-parameter tool with a dry-run/confirmation-token workflow and no output schema, the description is thin. It conveys the plan/apply duality but leaves the token and state-version contract entirely to the schema, which is acceptable but not rich.

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 description coverage is 100%, so all six parameters are already documented in the schema; the description adds only the notion that the target must be an exact existing group track. That is the baseline 3 case where the schema does the heavy lifting.

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?

States a specific verb (set) and resource (folded state of a group track), and the 'plan or apply' phrasing signals the two-phase workflow. No sibling tool performs folding, so differentiation is implicit rather than explicit, keeping it short of a 5.

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

Usage Guidelines3/5

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

'Plan or apply' implies the two modes, but the description never states when to choose dry-run planning versus applying, nor what prerequisites (a matching dry run) are needed. Usage is inferable from the schema but not spelled out in the description.

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

set_looper_stateA
Destructive

Plan or request one exact native Looper State choice: Stop, Record, Play, or Overdub. Native execution rechecks the complete Looper, routing, and transport snapshot before writing State; result reports the immediately observed State parameter and whether it matches the target, not an audible or quantized-boundary outcome. Record/Overdub can mutate captured audio and cannot be rolled back by restoring a parameter value. This does not promise beat-scheduled execution; verify native quantization behavior separately.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable track ID returned by list_tracks.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
targetStateYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.9/5.0
Behavior5/5

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

Annotations already declare destructive/not-readOnly/openWorld behavior, but the description adds non-obvious context: native execution rechecks the looper/routing/transport snapshot before writing State, results report observed State matching rather than audible/quantized outcome, and Record/Overdub can irreversibly mutate captured audio. It does not contradict any annotation.

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 front-loads the action and target states, then uses remaining sentences for behavioral caveats that are not present in structured fields. It is dense but not padded, though some sentences are lengthy.

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?

With no output schema, the description helpfully explains result semantics: reported observed State and whether it matches the target, not an audible or quantized outcome. It also flags irreversibility and quantization ambiguity, but omits explicit dry-run/confirmation-token workflow and version-conflict behavior beyond what the schema provides.

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 86%, so parameters such as dryRun, planHash, confirmationToken, trackId, deviceId, and expectedStateVersion are already documented in the schema. The description restates targetState choices and the plan/request workflow but adds little parameter-level meaning beyond the schema.

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?

States a specific verb ('Plan or request') and resource ('native Looper State') and enumerates the four target states, so the tool's scope is identifiable. It does not name sibling alternatives such as get_looper_performance_context, but the Looper-state purpose is clear.

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

Usage Guidelines3/5

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

Usage is implied: use it to plan or request a native Looper State, and the description warns that beat-scheduled execution is not promised and quantization should be verified separately. However, it does not explicitly say when to use this versus alternatives like set_device_parameters or transport_play/stop.

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

set_master_mixerA

Plan or apply master mixer and available hardware output-channel changes. The native write rechecks the signed mixer state, validates bounded values, and groups all writes in one undo step with rollback on failure.

ParametersJSON Schema
NameRequiredDescriptionDefault
panNoMaster pan.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
volumeNoMaster volume.
planHashNoHash returned by the matching dry run.
cueVolumeNoCue volume.
crossfaderNoCrossfader position.
outputChannelIdNoExact available master output channel ID from get_set_mixer.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare non-readonly, non-idempotent, non-destructive and open-world, so the safety profile is covered. The description adds real value beyond that: it discloses state-version rechecking, bounded-value validation, single-undo grouping, and rollback-on-failure atomicity, which an agent could not infer from annotations alone.

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?

Two tight sentences with the purpose front-loaded and the behavioral contract following immediately. No filler or redundancy.

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?

For a non-trivial mutation with a plan/apply handshake, the description covers atomicity, undo, rollback and validation, and the schema fully documents the token/version mechanics. With no output schema required, the definition is nearly complete, though it could note that the plan step returns the hash/token referenced by the schema.

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 100%, so every parameter (pan bounds, dryRun, planHash, confirmationToken, expectedStateVersion, outputChannelId) is already documented in the schema. The description's reference to 'bounded values' adds only marginal detail beyond what the schema provides, so the baseline 3 holds.

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?

States a specific verb pair (plan/apply) and resource (master mixer plus hardware output-channel changes), which clearly separates it from siblings like set_track_mixer and set_return_mixer. It does not explicitly name those siblings, so it stops short of a 5.

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

Usage Guidelines3/5

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

The 'Plan or apply' phrasing and the dryRun/confirmationToken parameters imply a two-step workflow, but the description never states when to choose a dry run versus a live write, nor when to prefer this over get_set_mixer or the track/return mixer tools. Usage is implied rather than spelled out.

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

set_midi_note_propertiesA

Plan or apply guarded per-note timing, velocity, probability, mute, and pitch changes by stable note ID on one exact Session or Arrangement MIDI clip.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
changesYesExact note changes.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true, so the safety profile is covered. The description adds 'guarded' and the single-exact-clip constraint, which is real context beyond the annotations, but it omits what happens on a state-version conflict, whether the plan is side-effect free, and that non-idempotent re-application is blocked only by the token.

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?

A single front-loaded sentence that leads with the plan/apply distinction and the target resource before the modifier clause. Very lean with no filler, though the long clause chain makes it slightly denser than it needs to be.

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 the tool's dual plan/apply nature and clip scoping, and the 100%-covered schema carries parameter detail. With no output schema, the description could still say that a dry run returns a planHash/confirmationToken pair for the apply step, but the field descriptions largely close that gap.

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 description coverage is 100%, so the baseline is 3. The description names the note fields it can change (timing, velocity, probability, mute, pitch) but does not cover releaseVelocity or velocityDeviation, and adds no detail beyond what the schema already documents for dryRun, planHash, confirmationToken, and expectedStateVersion.

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?

States a specific verb pair (plan/apply), a specific resource (per-note timing, velocity, probability, mute, pitch), and a precise scope (one exact Session or Arrangement MIDI clip, addressed by stable note ID). The 'by stable note ID' qualifier meaningfully separates it from bulk siblings like transform_midi_notes or apply_midi_velocity_curve, though those siblings are never named. Clear, but no explicit sibling contrast.

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

Usage Guidelines3/5

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

The 'Plan or apply' phrasing implies a two-phase guarded workflow, and 'guarded' hints that a confirmation step exists, but the when-to-use versus alternatives (transform_midi_notes, humanize_midi_notes, apply_midi_velocity_curve) is never stated. No explicit when-not conditions or prerequisites; the agent must infer routing from the schema's dryRun/confirmationToken fields.

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

set_preset_metadataA

Plan or update user tags and favorite state for one preset with an exact revision guard.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoComplete replacement tag set.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
favoriteNoFavorite state.
planHashNoHash returned by the matching dry run.
presetIdYesStable NKS preset catalog ID.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedMetadataRevisionYesExact preset metadata revision observed immediately before planning.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare non-readonly, open-world, non-idempotent behavior. The description still adds real value by disclosing the optimistic-concurrency requirement ('exact revision guard') and the plan/commit pattern, which are not in the annotations. It stops short of noting that tags are a full replacement or the single-use nature of the token.

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?

A single well-formed sentence with the resource and guard front-loaded and no filler. Every clause earns its place.

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?

For a 7-parameter mutation with no output schema, the description plus the fully-covered schema give enough to invoke it correctly, and the dry-run/commit flow is captured. It is slightly thin on the commit safety story, but nothing critical is missing.

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 100%, so every parameter (including dryRun, planHash, confirmationToken) is already documented in the schema. The description only loosely maps its nouns (tags/favorite/revision) to parameters and adds no format or constraint detail beyond the schema. Baseline 3 applies.

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?

States a specific verb pair (plan/update) and resource (user tags and favorite state for one preset), plus the revision-guard framing. It clearly distinguishes itself from read-oriented siblings like get_preset_metadata, though it doesn't name any sibling explicitly.

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

Usage Guidelines3/5

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

The 'plan or update' phrasing implies a two-phase dry-run-then-commit workflow, but the description never states when to choose this tool over get_preset_metadata or set_browser_item_metadata, nor any prerequisites. Usage is only implied.

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

set_rack_chain_mixerB

Plan or apply exact rack-chain volume, pan, mute, solo, and send levels using native ranges and guarded hierarchy state.

ParametersJSON Schema
NameRequiredDescriptionDefault
panNoNative chain pan value.
muteNoMute chain.
soloNoSolo chain.
sendsNoExact native rack send indices and levels.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
volumeNoNative chain volume value, not decibels.
chainIdYesExact chain ID from device hierarchy.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already disclose mutation (readOnlyHint=false), non-idempotency, and open-world behavior. The description adds the meaningful context that operations are 'guarded' via hierarchy state and use 'native ranges,' but leaves the guard mechanism, reversibility, and permission preconditions unexplained. Modest added value over annotations warrants a 3.

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?

A single front-loaded sentence that names the resources and the guard concept with no filler. It is dense and jargon-heavy ('guarded hierarchy state') but every clause carries weight and nothing is redundant.

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?

For a 12-parameter mutation tool with a plan/apply dance and expected-state versioning, the description is thin on workflow and concurrency semantics, though the schema's parameter descriptions largely compensate. Annotations cover the safety profile and there is no output schema to explain, so the definition is adequate but not complete.

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 description coverage is 100%, so the schema already documents all 12 parameters including the dryRun/planHash/confirmationToken flow. The description's 'native ranges' phrasing reinforces the schema's 'not decibels' hints but adds little beyond it, matching the baseline-3 expectation when the schema does the heavy lifting.

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?

States a specific verb pair (plan/apply) and a precise resource (rack-chain volume, pan, mute, solo, send levels), which cleanly separates it from set_track_mixer, set_return_mixer, and set_master_mixer by scope. It stops short of naming a sibling to route the agent explicitly, but the resource-plus-scope combination is unambiguous.

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

Usage Guidelines3/5

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

'Plan or apply' implies the two usage modes, and 'guarded hierarchy state' hints at a confirm-before-write workflow, but neither is spelled out as a when-to-use rule. There is no explicit guidance on choosing this over set_track_mixer or the bulk-track variant.

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

set_rack_chain_note_routingA

Plan or reassign a Drum Rack chain to a MIDI pad note and optionally change its instrument output note. Occupied destinations layer chains rather than replace sounds.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
chainIdYesExact rack chain ID.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
inputNoteNo
outputNoteNo
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (destructiveHint=false, idempotentHint=false), but the description adds a genuinely non-obvious behavioral trait: occupied destinations layer chains rather than replace sounds. That tells the agent the operation is additive and safe to target an occupied pad, going beyond the structured 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?

Two sentences with no filler; the core assignment action and the layering caveat are both front-loaded. Slightly dense but nothing is wasted or buried.

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?

For a non-read-only mutation with 9 parameters and no output schema, the description covers purpose and the key layering behavior, but omits error/edge conditions and the plan-then-confirm requirement is left to the schema. Adequate but with clear gaps.

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 78% (baseline 3), and the two note parameters, inputNote and outputNote, have no schema descriptions. The description compensates by mapping 'MIDI pad note' to inputNote and 'instrument output note' to outputNote, clarifying the otherwise bare integer params.

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?

States a specific verb (reassign/plan) and resource (Drum Rack chain to a MIDI pad note), plus the optional output-note change. It does not name or differentiate from the nearby sibling set_drum_pad_state, so an agent gets a clear purpose but no routing hint versus alternatives.

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?

The word 'Plan or reassign' alludes to the dry-run/commit split, but no explicit when-to-use condition, prerequisites, or alternative tool is given. An agent cannot tell from the description alone when to choose this over set_drum_pad_state or move_device_to_chain.

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

set_rack_macro_mapping_edgeA

Plan or change one native min or max endpoint of a rack macro with exactly one observed nonquantized mapping. Value is in the target parameter's native range. Rechecks the full rack snapshot and reads back the result; reversed ranges are possible.

ParametersJSON Schema
NameRequiredDescriptionDefault
edgeYes
valueYesNew endpoint value in the mapped parameter's native units.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
macroIndexYesZero-based visible rack macro index.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations cover safety (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds genuine behavioral context beyond them: it 'rechecks the full rack snapshot and reads back the result' and warns that 'reversed ranges are possible.' That is useful operational detail the annotations do not provide.

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?

Three tight clauses with the main action front-loaded and no filler. The constraint about the single nonquantized mapping is dense but relevant, not wasted.

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?

For a 9-parameter, state-versioned planning/mutation tool with no output schema, the description conveys the core action and revalidation behavior but omits how the plan/confirm two-step resolves and what the read-back guarantees. The schema covers most parameter detail, so it is adequate but has gaps.

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 89%, so parameters are largely documented in the schema. The description only adds that the endpoint value is 'in the target parameter's native range,' which mostly restates the 'value' schema description. Baseline 3 is appropriate.

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 states a specific verb+resource ('Plan or change one native min or max endpoint of a rack macro'), which is clearly distinct from siblings like map_rack_macro_to_parameter or adjust_rack_macro_count. It does not explicitly name an alternative sibling to disambiguate, but the endpoint-editing scope is understandable.

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

Usage Guidelines3/5

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

The opening 'Plan or change' implies a dry-run-then-apply workflow, and the schema carries the dryRun/confirmationToken mechanics, but the description offers no explicit when-to-use vs alternatives or prerequisites. Usage is only implied.

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

set_return_mixerA

Plan or apply return-bus volume, pan, mute, or solo changes. The native write rechecks the complete signed Return state and groups changes in one undo step with rollback on failure.

ParametersJSON Schema
NameRequiredDescriptionDefault
panNoReturn pan.
muteNoMute return.
soloNoSolo return.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
volumeNoReturn volume.
planHashNoHash returned by the matching dry run.
returnTrackIdYesStable return-track ID.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare the safety profile (non-read-only, non-idempotent, non-destructive, open-world), yet the description adds genuinely useful behavior: the native write rechecks the complete signed Return state (optimistic concurrency via expectedStateVersion), groups all changes into one undo step, and rolls back on failure. It does not mention auth or rate limits, but the atomicity/rollback disclosure is substantive beyond the annotations.

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?

Two dense sentences with zero filler, and the core action is front-loaded before the behavioral detail. Every clause earns its place.

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?

For a 9-parameter mutation tool with no output schema, the description covers purpose, atomicity, and rollback, and the annotations plus 100%-covered schema carry the safety and parameter burden. The two-phase dry-run/confirm flow is only lightly alluded to in prose but is fully specified in the schema, leaving only minor gaps.

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 description coverage is 100%, so every parameter is already documented in the schema, establishing a baseline of 3. The description restates the mutable fields (volume, pan, mute, solo) but adds no syntax, ranges, or workflow detail beyond what the schema provides for dryRun/planHash/confirmationToken/expectedStateVersion.

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?

States a specific verb pair ('Plan or apply') and a specific resource and field set ('return-bus volume, pan, mute, or solo changes'). The 'return-bus' scoping cleanly separates it from set_track_mixer, set_master_mixer, and set_bulk_track_mixer among the siblings.

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

Usage Guidelines3/5

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

'Plan or apply' implies the dry-run vs write distinction but never states when to choose one over the other or names conditions that select an alternative. No exclusions or prerequisites are given; usage must be inferred from the schema's dryRun/confirmationToken fields.

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

set_scene_launch_quantizationA

Plan or apply a guarded per-scene clip-launch quantization override from list_scenes. The global setting stays in song musical context; only the selected scene changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
sceneIdYesStable scene ID returned by list_scenes.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
launchQuantizationYesLaunch quantization value or name from list_scenes.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations disclose mutation, open-world, non-idempotent, and non-destructive traits. The description adds important context beyond those annotations: the operation is 'guarded' (implying a confirmation/plan flow), only the selected scene changes, and the global setting is untouched. It does not detail permissions or revert behavior, keeping it from a 5.

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?

Two sentences with zero waste, front-loading the plan/apply action and scope before the global-setting contrast. Every phrase earns its place.

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?

Given the rich schema descriptions and the presence of annotations, the description is nearly complete. It could explicitly tie together the two-step dry-run/apply workflow and the expectedStateVersion concurrency guard, but those details are fully covered in the schema, so the omission is minor.

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 description coverage is 100%, so the schema fully documents all six parameters. The description only adds that sceneId and launchQuantization come from list_scenes, which the schema already states per-parameter. No additional syntax or format guidance is provided.

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 (plan or apply), resource (per-scene clip-launch quantization override), and scope (from list_scenes). It explicitly distinguishes from the global setting, so an agent can tell it apart from siblings like set_song_musical_context without opening the schema.

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 gives clear context: use this to override a single scene's launch quantization while leaving the global song musical context unchanged. It implies the per-scene use case but does not name an explicit alternative for global changes, leaving that inference to the agent.

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

set_scene_musical_contextA

Plan or set an exact Session scene tempo and/or time-signature override. Disabled overrides inherit the song context; enabled overrides take effect when the scene is launched.

ParametersJSON Schema
NameRequiredDescriptionDefault
tempoNoScene tempo in BPM when enabled.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
sceneIdYesStable scene ID returned by list_scenes.
planHashNoHash returned by the matching dry run.
numeratorNo
denominatorNo
tempoEnabledNoEnable or disable the scene tempo override.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.
timeSignatureEnabledNoEnable or disable the scene meter override.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare non-read-only, non-destructive, non-idempotent and open-world behavior. The description adds genuine semantic context beyond them: disabled overrides inherit the song context, while enabled overrides only take effect at scene launch, explaining the deferred effect of the write.

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?

Two sentences, zero filler, and the plan-or-set scope is front-loaded ahead of the behavioral clarification. Every clause earns its place.

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?

With no output schema and a 10-parameter mutation tool, the description covers purpose and override semantics adequately, and the token/plan-hash mechanics are handled in the schema. It omits that a real apply requires a confirmation token, but that detail is covered by the parameter descriptions.

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 80%, so the baseline is 3. The description goes slightly beyond by explaining what the enable flags actually do (inherit vs. apply at launch), giving meaning to tempoEnabled and timeSignatureEnabled that the schema descriptions do not.

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 states a specific verb+resource: planning or setting a scene's tempo and/or time-signature override. The 'Session scene' qualifier distinguishes it from the song-level set_song_musical_context, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

'Plan or set' implies the two-phase dry-run/apply workflow, and 'takes effect when the scene is launched' hints at the operational context. However, it never states when to choose this over set_song_musical_context or set_tempo, leaving the routing to inference.

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

set_song_musical_contextB

Plan or apply guarded song key, scale, timing, quantization, groove, swing, or loop changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNo
loopNo
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
grooveNo
planHashNoHash returned by the matching dry run.
quantizationNo
timeSignatureNo
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations establish it is a non-readOnly, non-idempotent, open-world mutation, so the safety profile is partly covered. The description adds the plan/apply distinction, which is real behavioral value, but 'guarded' is used without explanation and the concurrency/confirmation mechanics live only in the schema.

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?

A single front-loaded sentence with no filler, which is efficient. It is arguably too terse for a nine-parameter tool with nested objects and a guarded commit flow, but it is not padded.

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

Completeness2/5

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

For a complex mutation tool with nine parameters, nested objects, low schema description coverage, and no output schema, one sentence is insufficient. The dry-run/confirmation-token workflow and the meaning of 'guarded' are never explained, leaving the agent to reconstruct the safety model from the schema alone.

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 low (44%), so the description must carry more weight. It usefully maps the updatable categories (key, scale, timing, quantization, groove, swing, loop), but leaves the workflow-critical parameters (expectedStateVersion, dryRun, planHash, confirmationToken) unexplained.

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 gives a specific verb pair ('Plan or apply') and resource ('song key, scale, timing, quantization, groove, swing, or loop changes'), enumerating the exact domains it touches. It is clearly distinguishable from the read-only get_song_musical_context, though it does not explicitly differentiate itself from the sibling set_scene_musical_context.

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

Usage Guidelines3/5

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

'Plan or apply' implies two modes and hints at a preview-then-commit workflow, which is useful implied usage context. However, it names no alternatives and gives no condition for choosing this tool over set_scene_musical_context, set_groove, or set_tempo.

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

set_tempoC

Plan or set song tempo within Live's accepted range.

ParametersJSON Schema
NameRequiredDescriptionDefault
tempoYesTempo in BPM.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is covered externally. The description adds only 'within Live's accepted range', which merely restates the schema's min/max bounds rather than disclosing the dry-run/confirmation-token mutation flow, auth needs, or what state changes on commit.

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?

A single front-loaded sentence with no filler. It is efficient, though arguably under-specified for a 5-parameter mutation tool rather than genuinely concise.

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?

This is a mutation tool (readOnlyHint=false) with no output schema and a non-trivial plan/confirm parameter set. Annotations cover the safety profile and the schema documents the workflow, so the description is not dangerously incomplete, but it omits any narrative on the plan-then-commit sequence an agent must follow.

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 description coverage is 100%, so every parameter (tempo, dryRun, planHash, confirmationToken, expectedStateVersion) is already documented in the schema. The description's range reference is redundant with the schema's minimum/maximum, adding no semantic value; baseline 3 applies when the schema does the heavy lifting.

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?

States a specific verb pair and resource: 'Plan or set song tempo', which distinguishes the two operational modes (planning vs. committing). It does not, however, differentiate this tool from close siblings like set_transport_context or set_song_musical_context, which could plausibly also affect tempo-adjacent state.

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?

The description gives no indication of when to use this tool versus alternatives, nor when to plan versus set. The two-phase workflow implied by 'Plan or set' is never elaborated, and there are no prerequisites or exclusion conditions stated.

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

set_track_freeze_stateA
Destructive

Plan or toggle guarded track freeze. On the tested Live 12.4.5 the native is_frozen property has no setter, so execution fails closed with Live's own error; the plan still binds the observed state so newer Live versions can adopt the write without contract changes. Freezing renders the track's live material to audio and mutates audible content until unfrozen.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
frozenYesRequested freeze state.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.1/5.0
Behavior5/5

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

Goes well past the annotations: it discloses that on the tested Live 12.4.5 the native property has no setter so execution fails closed with Live's own error, and that freezing renders live material to audio and mutates audible content until unfrozen. Those two facts (a real execution limitation plus the sonic consequence of the mutation) are precisely the kind of behavioral disclosure annotations cannot carry.

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?

Three sentences, front-loaded with the verb and resource, then the caveat, then the consequence. The middle sentence is long and clause-heavy, but each sentence carries distinct information rather than restating the schema or annotations.

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?

For a 6-parameter, destructive write with no output schema, the description covers the two-phase contract and the current-version limitation that an agent must know before calling. It omits peripheral details such as authorization needs, duration/rate constraints, and what happens to frozen material on failure, which keeps it short of a 5.

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 description coverage is 100%, so dryRun, confirmationToken, planHash, and expectedStateVersion are already documented in the schema. The description adds only indirect meaning (the plan 'binds the observed state', which motivates expectedStateVersion) and no syntax or format detail beyond the schema, so the baseline of 3 applies.

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?

States a specific verb pair (plan or toggle) on a specific resource (track freeze), which cleanly separates it from the read-only sibling get_track_freeze_state. It does not explicitly name that sibling, so an agent must infer the boundary from the destructive, two-phase framing rather than being told.

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?

Explains the plan-then-execute flow (dry run returns a plan, the plan binds observed state so a later write can proceed) and the fail-closed environment caveat, which is exactly the context needed to choose between a plan call and an execution call. It never states when a caller should prefer this over reading freeze state, but the mutation semantics make that self-evident.

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

set_track_midi_routingA

Plan or apply guarded changes to one track's native MIDI input/output note and scale transposition. Affects every clip launched on the track; does not change device-level or rack-chain note routing.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
inNoteNoMIDI note that triggers the track.
inScaleNoTranspose incoming notes according to Live's scale.
outNoteNoMIDI note the track outputs.
trackIdYesStable track ID returned by list_tracks.
outScaleNoTranspose outgoing notes according to Live's scale.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already flag non-readonly, non-idempotent, non-destructive, open-world. The description adds meaningful context beyond them: the 'guarded' two-step plan/apply model and the propagation scope ('Affects every clip launched on the track'). It could say more about the confirmationToken/planHash flow, but it adds real value over the annotations.

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?

Two tight sentences with the primary action front-loaded and the scope constraint second. No redundancy or filler; every clause carries information.

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?

With 100% schema coverage and annotations covering the safety profile, the description's scope and plan/apply notes make it nearly complete; no output schema is needed since it returns a plan/confirmation. Slightly short of 5 for not elaborating on the confirmation-token lifecycle that the two-step flow implies.

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 description coverage is 100%, so every parameter is already documented in the schema. The description groups the parameters conceptually (input/output note, scale transposition) but adds no syntax or format details beyond the schema. Baseline 3 is appropriate.

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?

States a specific verb ('Plan or apply'), resource ('one track's native MIDI input/output note and scale transposition'), and explicitly carves out what it is not ('does not change device-level or rack-chain note routing'). This lets an agent distinguish it from siblings like set_rack_chain_note_routing and set_track_routing without opening a schema.

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 phrase 'Plan or apply guarded changes' plus the dryRun semantics convey the plan-vs-apply workflow, and the scoping sentence tells the agent when this applies (all clips on the track) versus device/rack routing. It does not name a specific alternative tool (e.g. get_track_midi_routing for reads), so it stops short of explicit when-not routing.

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

set_track_mixerB

Plan or apply guarded track volume, pan, mute, solo, and return-send changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
panNoTrack pan.
muteNoMute track.
soloNoSolo track.
sendsNoNamed return-send changes.
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
volumeNoTrack volume.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true. The description adds the guard/plan concept ('Plan or apply ... guarded'), which is behavior beyond annotations. But 'guarded' is left vague – the state-version conflict and token mechanics are only revealed through the schema, not the description.

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?

A single front-loaded sentence with no filler; the plan/apply distinction leads and the affected surfaces follow. It is arguably terse for a 10-parameter mutation, but that is a completeness gap rather than structural waste.

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?

For a 10-parameter, non-idempotent mutation with plan/apply guarding and no output schema, the one-line description leaves the commit workflow and clarification of the send-vs-return-bus scope thin. The schema carries the parameters fully, but the description does not tie the guard workflow together.

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 description coverage is 100% and every parameter (including the nested send object) is documented in the schema. The description only re-lists field categories and adds no syntax, ordering, or constraint detail beyond the schema. Baseline 3 is appropriate.

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?

States a specific verb pair ('plan or apply') plus the resource ('track ... mixer') and enumerates the affected fields (volume, pan, mute, solo, return-send). An agent can distinguish it from the read-only get_track_mixer by the write verb. It does not explicitly disambiguate from set_master_mixer/set_return_mixer, leaving sibling routing to inference.

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

Usage Guidelines3/5

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

'Plan or apply' implies a dry-run-then-commit workflow, which is genuine usage context. However there is no explicit when-to-use, no when-not, and no named alternative despite four mixer siblings (get_track_mixer, set_bulk_track_mixer, set_master_mixer, set_return_mixer). Usage is implied, not stated.

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

set_track_routingB

Plan or apply guarded track routing and monitoring changes by exact choice ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
monitoringNoMonitoring mode value or name.
inputTypeIdNoInput routing type ID.
outputTypeIdNoOutput routing type ID.
inputChannelIdNoInput routing channel ID.
outputChannelIdNoOutput routing channel ID.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructHint=false, so the agent knows this is a non-idempotent mutating operation. The word 'guarded' plus 'plan or apply' signals a confirmation-token protocol, adding some behavioral context, but the schema descriptions of dryRun/planHash/confirmationToken already carry most of that detail.

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?

A single front-loaded sentence with no filler; the plan/apply distinction comes first. Concise, though the dangling 'by exact choice ID' phrase is wasted words rather than an asset.

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?

For a 10-parameter, non-idempotent mutation tool with no output schema, the description is thin; it does not mention the required expectedStateVersion concurrency check or the required trackId, relying entirely on the schema. The two-phase plan/apply protocol is the key thing an agent needs, and it is only hinted at.

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

Parameters2/5

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

Schema description coverage is 100%, so the baseline is 3. The description only references 'exact choice ID', which maps to no parameter and could actively mislead an agent looking for a choiceId field. It adds no useful meaning beyond the schema and slightly detracts.

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

Purpose3/5

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

States a verb pair (plan/apply) and resource (track routing and monitoring changes), which is reasonably specific. However, 'by exact choice ID' does not correspond to any parameter in the schema and muddies rather than clarifies. No sibling differentiation from get_track_routing, set_track_midi_routing, or route_tracks_to_bus, which an agent must distinguish.

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

Usage Guidelines3/5

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

The 'Plan or apply' framing hints at a two-phase dry-run/commit workflow, and the dryRun param description confirms it, so usage is implied. But there is no explicit when-to-use guidance or naming of alternatives (e.g., get_track_routing for reads, set_track_midi_routing for MIDI routing), leaving the choice between siblings to inference.

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

set_transport_contextA

Plan or apply guarded metronome and count-in changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
metronomeNoMetronome enabled.
countInDurationNoCount-in duration value or name.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already establish that this is a non-read-only, non-idempotent, open-world mutation. The description adds 'guarded', which hints at validation safeguards, but it does not explain the expectedStateVersion requirement, confirmationToken workflow, or what the guard protects against beyond what the schema descriptions already say.

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 a single front-loaded sentence with no wasted words. It immediately states the two possible actions and the affected scope.

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?

For a guarded six-parameter mutation tool with no output schema, the description gives the essential scope and plan/apply framing, but it omits the guarded workflow details that would help an agent understand the state-version and confirmation-token sequence. The rich schema and annotations carry much of the missing burden, making this minimally adequate rather than complete.

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 description coverage is 100%, so the schema already documents all six parameters, including dryRun, planHash, confirmationToken, and expectedStateVersion. The description does not add any parameter-level meaning, which is acceptable at the baseline when the schema is this complete.

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 uses a specific verb ('Plan or apply') and a specific resource ('guarded metronome and count-in changes'), making clear this is a scoped mutation tool rather than a generic transport-context reader. It distinguishes itself from siblings like get_transport_context and set_transport_recording_context by naming metronome/count-in as the target scope.

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

Usage Guidelines3/5

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

The phrase 'Plan or apply' implies two usage modes, but the description does not explicitly say when to choose planning versus applying, nor does it name alternatives or exclusions. Usage is inferable but not spelled out.

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

set_transport_recording_contextB

Plan or apply guarded playhead and recording-mode changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
sessionNo
planHashNoHash returned by the matching dry run.
arrangementNo
automationArmNoAutomation arm.
currentSongTimeNoPlayhead position in beats.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds "guarded" and plan/apply context, but does not explain the guard mechanism, state version requirements, or confirmation token behavior beyond what the schema provides.

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?

Single sentence, front-loaded with the core action, no wasted words. It is appropriately sized for a short description, though extremely terse.

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?

For an 8-parameter nested mutation tool with no output schema, the description omits key workflow details. The schema descriptions cover dryRun, confirmationToken, and expectedStateVersion, and annotations cover safety, so this is minimum viable but leaves important context gaps.

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 description coverage is 75%, so the schema already documents most parameters. The description's "playhead and recording-mode changes" broadly maps to currentSongTime and record/overdub/punch fields but adds no syntax, constraints, or per-parameter meaning.

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?

States a specific verb (Plan or apply) and resource (playhead and recording-mode changes), distinguishing it from the read-only get_transport_recording_context sibling. However, it does not differentiate from set_transport_context, another transport mutation sibling.

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

Usage Guidelines3/5

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

"Plan or apply" implies a two-phase workflow but does not state when to use dryRun versus applying changes, prerequisites, or alternatives. Usage is only implied, not explicitly guided.

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

stop_all_clipsA

Plan or stop every playing Session clip in one guarded step using Live's native stop-all action. Playback-only; does not delete or mute clips.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=false and readOnlyHint=false, but the description adds real value by clarifying 'Playback-only; does not delete or mute clips' — telling the agent what is NOT affected (clip content, mute state) and framing it as a 'guarded step.' It stops short of describing reversibility or the token expiry semantics, which the schema covers.

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?

Two tight sentences: the first carries the action and mechanism, the second carries the safety clarification. No waste, and the key action is front-loaded.

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?

No output schema exists, but the plan/apply contract is fully carried by the schema descriptions, and the description covers the safety profile. It could note the confirmation-token prerequisite explicitly, but the schema handles that, leaving the definition essentially complete.

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 100%, so all four parameters (dryRun, planHash, confirmationToken, expectedStateVersion) are already documented, including the dry-run/token contract. The description adds no parameter-level detail beyond 'guarded step,' so the baseline 3 applies.

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?

States a specific verb ('stop') plus resource ('every playing Session clip') and scope ('every' plus 'one guarded step'). The word 'all' combined with 'every playing Session clip' clearly distinguishes it from the sibling stop_clip (single clip), so an agent can separate the two without opening schemas.

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

Usage Guidelines3/5

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

The phrase 'Plan or stop' implies the two-phase dry-run/apply workflow but never explicitly says when to reach for this versus alternatives like stop_clip, launch_scene, or panic. Usage is implied rather than stated, so it lands at minimum-viable.

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

stop_clipB

Plan or stop one exact Session clip slot.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the agent knows this is a non-destructive, non-idempotent mutation. The description adds that the operation has a planning mode ('Plan or stop'), which is meaningful behavioral context, but says nothing about permissions, state-version conflicts, or what actually happens to a playing slot.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though the extreme terseness means the one sentence is doing less work than the tool's complexity warrants.

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

Completeness2/5

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

This is a mutating, non-idempotent tool with a two-phase plan-then-confirm workflow gated by expectedStateVersion and a short-lived token. The description hints at 'Plan or stop' but never explains the required ordering (dry run first, then replay with the returned hash/token) or the optimistic-concurrency requirement, leaving the hardest part of correct invocation unaddressed.

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 description coverage is 100%, so clipId, trackId, dryRun, planHash, confirmationToken and expectedStateVersion are all already documented in the schema. The description only restates the target ('one exact ... slot') and adds no syntax or semantics beyond that, which is the baseline when the schema carries the load.

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 gives a specific verb (stop) and resource (a single Session clip slot), and the phrase 'one exact' implicitly separates it from the sibling stop_all_clips. It stops short of naming that sibling, so the differentiation requires a small inference.

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

Usage Guidelines3/5

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

'Plan or stop one exact Session clip slot' implies the usage domain (single-slot control versus stop_all_clips or launch_clip) but never states when to use this over those alternatives or when the plan path should be chosen. Usage is only implied, not instructed.

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

store_rack_macro_variationA

Plan or store a new native variation of mapped rack macros. Binds exact rack and parameter state and reports Live's observed count; variation contents are not exposed by Live's API.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
trackIdYesStable device-owner ID: track-N from list_tracks, return-N from get_set_mixer, or master.
deviceIdYesStable device ID returned by list_devices.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds genuinely new behavioral context: it binds exact rack and parameter state, and crucially warns that variation contents are not exposed by Live's API, which prevents an agent from attempting to read back what it stored. It omits the confirmation-token/single-use semantics, but those live in the schema.

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?

Two sentences, both front-loaded with the operation and its key limitation, with no filler. The API-limitation caveat is placed where it will be read before invocation.

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?

No output schema exists, and the description usefully notes that the tool reports Live's observed count and cannot expose variation contents, which covers the return-value gap. What remains thin is the plan-then-confirm sequencing, though that is fully documented in the parameter descriptions.

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 description coverage is 100%, so the schema already explains dryRun, expectedStateVersion, planHash, and confirmationToken. The description's 'binds exact rack and parameter state' loosely gestures at expectedStateVersion but adds no syntax, format, or ordering detail beyond the schema. Baseline 3 is correct.

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?

States a specific verb pair (plan or store) plus a precise resource (a new native variation of mapped rack macros), which cleanly separates it from siblings like recall_rack_macro_variation, delete_rack_macro_variation, and map_rack_macro_to_parameter. An agent can identify the operation without opening the schema.

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

Usage Guidelines3/5

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

'Plan or store' implies the two-phase dry-run/commit workflow, but the description never states when to choose this tool over its recall/delete siblings or when the store path is appropriate. Usage is implied rather than stated, leaving the agent to infer conditions from the schema.

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

transform_midi_notesA

Plan or apply guarded quantize, legato, or duplicate transforms to exact MIDI note IDs on one exact Session or Arrangement MIDI clip.

ParametersJSON Schema
NameRequiredDescriptionDefault
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.
noteIdsYesStable note IDs.
trackIdYesStable track ID returned by list_tracks.
planHashNoHash returned by the matching dry run.
operationYes
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true, so safety posture is partly covered. The description adds the 'guarded' framing and the single-clip scope, but doesn't explain the plan/confirm mechanics, version pinning, or what a transform mutates beyond what the schema fields already show.

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?

A single tightly written sentence with no filler, front-loading the verb and the operation set before the scope qualifiers. Nothing to trim.

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?

For an 8-parameter tool with a nested operation object and no output schema, the one-sentence description is thin: it omits the dry-run/confirmation workflow narrative and how the three operation types differ in effect. The rich schema compensates substantially, but the description alone leaves meaningful gaps.

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 description coverage is 88%, so the schema already documents nearly every parameter including the nested operation fields. The description adds no syntax or semantics beyond the schema (e.g., defaults, constraints, interaction rules), so the baseline 3 applies.

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 names a specific verb (transform), resource (MIDI note IDs), the three operations (quantize, legato, duplicate), and the scope (one exact Session or Arrangement clip). It is clear what the tool does, though it does not explicitly differentiate itself from the many sibling apply_midi_* / plan_midi_* tools.

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

Usage Guidelines3/5

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

'Plan or apply guarded' implies the dryRun-then-confirm workflow, giving implicit usage context. However, it never states when to prefer this tool over alternatives such as humanize_midi_notes or the various apply_midi_* transforms, nor does it name any exclusion.

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

transport_playC

Plan or start Ableton transport playback.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare this is a non-idempotent, non-destructive, open-world mutation. The description adds nothing beyond that: it does not disclose the two-phase plan-then-confirm flow, the short-lived single-use token requirement, or the optimistic-concurrency check on expectedStateVersion. For a state-mutating transport tool, that is a significant omission.

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?

A single front-loaded sentence with no filler or repetition. It is efficient, though its brevity comes at the cost of the behavioral detail the tool needs.

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

Completeness2/5

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

Given a preview-confirm mutation with four parameters, no output schema, and only terse annotations, the description should explain the plan/confirm protocol and the state-version guard. It leaves an agent to reconstruct the workflow entirely from the schema, which is not enough for correct invocation.

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 description coverage is 100%, so all four parameters (dryRun, planHash, confirmationToken, expectedStateVersion) are already documented with their roles. The description contributes no additional meaning. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose3/5

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

Names the resource (Ableton transport playback) and verbs (plan/start), so the general intent is legible. However, 'plan or start' conflates two distinct modes without explaining which one applies, and nothing distinguishes it from siblings like transport_stop, set_transport_context, or launch_scene. Adequate but with clear gaps.

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 when-to-use guidance at all: it does not say when to plan versus start, when a dry run is appropriate, or which sibling handles stopping/configuration. The only routing information lives in the schema's dryRun description, not the tool description.

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

transport_stopC

Plan or stop Ableton transport playback.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=true, and the description adds no meaningful behavioral context beyond them. It does not explain the two-phase plan/confirm workflow, what state version conflicts do, or whether stopping playback is reversible. "Plan or stop" weakly hints at a dry-run mode but leaves it unstated.

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?

A single front-loaded sentence with no waste. It is efficient, though the terseness crosses into under-specification for a tool with a non-trivial confirmation workflow.

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

Completeness2/5

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

For a mutating tool with a four-parameter schema built around dry-run/planHash/confirmationToken and an exact state-version precondition, the description omits the entire workflow that an agent must follow to invoke it safely. Annotations partially cover the safety profile, but the sequencing of the plan-then-confirm cycle is nowhere stated.

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 description coverage is 100%, so dryRun, planHash, confirmationToken and expectedStateVersion are all fully documented at the schema level. The description adds no syntax, ordering, or coupling information, so the baseline 3 applies.

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

Purpose3/5

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

The description states a verb-plus-resource ("Plan or stop Ableton transport playback"), so the domain is clear. But it is ambiguous about what the tool actually changes — pause vs. stop, and whether "plan" is a dry-run mode — and it does not distinguish itself from the sibling transport_play or stop_all_clips.

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?

There is no when-to-use or when-not-to-use guidance, no mention of prerequisites such as the expectedStateVersion requirement, and no pointer to alternatives like transport_play or stop_all_clips. The agent is left to infer everything from the name.

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

undoB

Plan or apply one guarded Ableton undo operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
dryRunNoOmit or true to return a plan; false requires a valid confirmationToken.
planHashNoHash returned by the matching dry run.
confirmationTokenNoShort-lived, single-use token returned by the matching dry run.
expectedStateVersionYesExact stateVersion observed immediately before planning.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations declare the operation is not read-only, not idempotent, not destructive, and open-world. The description adds the useful notion of a 'guarded' operation and that only one undo step is affected, which contextualizes the confirmation-token gating. It does not, however, disclose what a guard failure looks like or what state changes occur, so it adds modest value beyond 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?

A single compact sentence with the key qualifiers front-loaded; no wasted words. It is efficient, though borderline terse given the protocol complexity the tool hides.

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?

With no output schema, the description should carry more of the two-phase plan/apply contract, but it leaves the dry-run-then-confirm mechanics entirely to the schema. For a guarded, non-idempotent mutation with a sibling `redo`, this is adequate but noticeably thin.

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 description coverage is 100%, including the dryRun/planHash/confirmationToken flow and the expectedStateVersion semantics, so the schema does the heavy lifting. The description adds no parameter meaning beyond it, making the baseline 3 appropriate.

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?

States a specific verb (undo) and resource (Ableton undo operation) with the scope qualifier 'one guarded' and the dual 'plan or apply' mode. It is clear what the tool does, though it never names or contrasts with its obvious sibling `redo`, so sibling differentiation is left implicit.

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?

The description implies a two-phase plan/apply workflow but gives no explicit criteria for when to use this versus `redo` or other history tools, and no statement of preconditions beyond the schema-level requirement. Usage is inferred entirely from the schema, not the description.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 58 tool updatesv0.2.0
    • Addedadjust_rack_macro_count
    • Changedanalyze_audio_clip1 field changed
      • addedInput schema / properties / includePitchEvents
        Added value: +{
        +  "description": "Group selected-channel monophonic pitch frames into approximate note events for review; no correction.",
        +  "type": "boolean"
        +}
    • Changedanalyze_audio_file1 field changed
      • addedInput schema / properties / includePitchEvents
        Added value: +{
        +  "description": "Group selected-channel monophonic pitch frames into approximate note events for review; no correction.",
        +  "type": "boolean"
        +}
    • Addedanalyze_midi_feel
    • Addedapply_midi_feel_template
    • Addedapply_monophonic_audio_tuning
    • Addedbrowse_local_splice_directory
    • Addedcapture_group_system_snapshot
    • Addedcapture_midi_session
    • Addedclaim_nks_generation_job
    • Addedcomplete_nks_generation_job
    • Addeddelete_rack_macro_variation
    • Addedenqueue_nks_generation_jobs
    • Addedfail_nks_generation_job
    • Changedget_browser_item_metadata2 fields changed
      • changedInput schema / properties / path / items / description
        Previous value: -"Exact browser path segment."New value: +"Exact browser segment, or [absolute directory, relative audio path] for local_splice."
      • changedInput schema / properties / root / description
        Previous value: -"Live browser root."New value: +"Live browser root or local_splice."
    • Changedget_browser_items1 field changed
      • addedInput schema / properties / includeMetadata
        Added value: +{
        +  "description": "Join private MCP tags and favorites for children with exact URIs.",
        +  "type": "boolean"
        +}
    • Changedget_factory_browser_items1 field changed
      • addedInput schema / properties / includeMetadata
        Added value: +{
        +  "description": "Join private MCP tags and favorites for children with exact URIs.",
        +  "type": "boolean"
        +}
    • Addedget_nks_generation_job
    • Addedget_nks_generation_status
    • Changedget_producer_chain_blueprint1 field changed
      • changedInput schema / properties / target / enum
        Previous value: -[
        -  "bass",
        -  "drums",
        -  "vocals",
        -  "guitar",
        -  "keys",
        -  "synth",
        -  "mix-bus",
        -  "mastering",
        -  "reverb-return",
        -  "delay-return",
        -  "layered-bass-system",
        -  "layered-synth-system"
        -]New value: +[
        +  "bass",
        +  "drums",
        +  "vocals",
        +  "guitar",
        +  "keys",
        +  "synth",
        +  "mix-bus",
        +  "mastering",
        +  "reverb-return",
        +  "delay-return",
        +  "layered-bass-system",
        +  "layered-synth-system",
        +  "layered-drums-system",
        +  "layered-keys-system",
        +  "layered-vocals-system",
        +  "layered-guitar-system"
        +]
    • Addedheartbeat_nks_generation_job
    • Changedinspect_clip_groove_postconditions1 field changed
      • changedInput schema / properties / operation / enum
        Previous value: -[
        -  "bake",
        -  "extract"
        -]New value: +[
        +  "bake",
        +  "extract",
        +  "remove"
        +]
    • Changedinspect_producer_bus2 fields changed
      • addedInput schema / properties / children / items / properties / pluginId
        Added value: +{
        +  "enum": [
        +    "serum-2",
        +    "omnisphere",
        +    "vps-avenger"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / target / enum
        Previous value: -[
        -  "layered-bass-system",
        -  "layered-synth-system"
        -]New value: +[
        +  "layered-bass-system",
        +  "layered-synth-system",
        +  "layered-drums-system",
        +  "layered-keys-system",
        +  "layered-vocals-system",
        +  "layered-guitar-system"
        +]
    • Changedinspect_producer_chain1 field changed
      • changedInput schema / properties / target / enum
        Previous value: -[
        -  "bass",
        -  "drums",
        -  "vocals",
        -  "guitar",
        -  "keys",
        -  "synth",
        -  "mix-bus",
        -  "mastering",
        -  "reverb-return",
        -  "delay-return",
        -  "layered-bass-system",
        -  "layered-synth-system"
        -]New value: +[
        +  "bass",
        +  "drums",
        +  "vocals",
        +  "guitar",
        +  "keys",
        +  "synth",
        +  "mix-bus",
        +  "mastering",
        +  "reverb-return",
        +  "delay-return",
        +  "layered-bass-system",
        +  "layered-synth-system",
        +  "layered-drums-system",
        +  "layered-keys-system",
        +  "layered-vocals-system",
        +  "layered-guitar-system"
        +]
    • Addedinspect_producer_return_bus
    • Changedlaunch_clip2 fields changed
      • addedInput schema / properties / launchQuantization
        Added value: +{
        +  "description": "One-shot native launch quantization choice from get_clip_timing or list_clips.launchQuantizationChoices.",
        +  "oneOf": [
        +    {
        +      "type": "integer"
        +    },
        +    {
        +      "type": "string"
        +    }
        +  ]
        +}
      • addedInput schema / properties / recordLengthBeats
        Added value: +{
        +  "description": "Fixed recording length in beats for an empty armed slot.",
        +  "exclusiveMinimum": 0,
        +  "type": "number"
        +}
    • Changedlaunch_scene1 field changed
      • addedInput schema / properties / forceLegato
        Added value: +{
        +  "description": "Force immediate Legato launch for every clip in this scene; defaults to false.",
        +  "type": "boolean"
        +}
    • Addedlist_browser_roots
    • Addedlist_local_splice_roots
    • Addedlist_saved_snapshots
    • Addedload_device_chain_snapshot
    • Addedload_group_system_snapshot
    • Addedload_midi_feel_template
    • Addedmap_rack_macro_to_parameter
    • Addedopen_live_set
    • Addedplan_group_system_recall
    • Changedpropose_audio_transient_warp2 fields changed
      • addedInput schema / properties / feelBars
        Added value: +{
        +  "description": "Aggregate selected onset offsets and strengths over a repeating one-to-eight-bar clip-meter cycle; grid must divide a bar.",
        +  "maximum": 8,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / includeMusicalRoles
        Added value: +{
        +  "description": "Label each nearest grid slot by clip-meter bar and pulse role; requires a grid that divides one bar.",
        +  "type": "boolean"
        +}
    • Addedrandomize_rack_macros
    • Changedrecall_device_chain_snapshot5 fields changed
      • removedInput schema / properties / snapshot / additionalProperties
        Removed value: -false
      • addedInput schema / properties / snapshot / oneOf
        Added value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "devices": {
        +        "description": "Ordered top-level device topology.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "className": {
        +              "description": "Exact native device class.",
        +              "type": "string"
        +            },
        +            "name": {
        +              "description": "Captured device name.",
        +              "type": "string"
        +            },
        +            "parameters": {
        +              "description": "Complete ordered exposed parameter layout and values.",
        +              "items": {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "max": {
        +                    "description": "Native maximum.",
        +                    "type": "number"
        +                  },
        +                  "min": {
        +                    "description": "Native minimum.",
        +                    "type": "number"
        +                  },
        +                  "originalName": {
        +                    "description": "Native parameter identity in index order.",
        +                    "type": "string"
        +                  },
        +                  "quantized": {
        +                    "description": "Native quantization.",
        +                    "type": "boolean"
        +                  },
        +                  "value": {
        +                    "description": "Captured native value.",
        +                    "type": "number"
        +                  },
        +                  "valueItems": {
        +                    "description": "Exact ordered choice labels.",
        +                    "items": {
        +                      "description": "Native value label.",
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  }
        +                },
        +                "required": [
        +                  "originalName",
        +                  "min",
        +                  "max",
        +                  "quantized",
        +                  "valueItems",
        +                  "value"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "type": {
        +              "description": "Native device type.",
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "className",
        +            "type",
        +            "parameters"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "format": {
        +        "const": "cavi-device-chain-v1"
        +      }
        +    },
        +    "required": [
        +      "format",
        +      "devices"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "$defs": {
        +      "chain": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "devices": {
        +            "description": "Nested devices in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/1/$defs/device"
        +            },
        +            "type": "array"
        +          },
        +          "name": {
        +            "description": "Captured chain name.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "devices"
        +        ],
        +        "type": "object"
        +      },
        +      "device": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "chains": {
        +            "description": "Rack chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/1/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "className": {
        +            "description": "Exact native device class.",
        +            "type": "string"
        +          },
        +          "name": {
        +            "description": "Captured device name.",
        +            "type": "string"
        +          },
        +          "parameters": {
        +            "description": "Complete exposed parameter layout and values.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "max": {
        +                  "description": "Native maximum.",
        +                  "type": "number"
        +                },
        +                "min": {
        +                  "description": "Native minimum.",
        +                  "type": "number"
        +                },
        +                "originalName": {
        +                  "description": "Native parameter identity in index order.",
        +                  "type": "string"
        +                },
        +                "quantized": {
        +                  "description": "Native quantization.",
        +                  "type": "boolean"
        +                },
        +                "value": {
        +                  "description": "Captured native value.",
        +                  "type": "number"
        +                },
        +                "valueItems": {
        +                  "description": "Exact ordered choice labels.",
        +                  "items": {
        +                    "description": "Native value label.",
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                }
        +              },
        +              "required": [
        +                "originalName",
        +                "min",
        +                "max",
        +                "quantized",
        +                "valueItems",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "returnChains": {
        +            "description": "Rack return chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/1/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "type": {
        +            "description": "Native device type.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "className",
        +          "type",
        +          "parameters"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "additionalProperties": false,
        +    "properties": {
        +      "devices": {
        +        "description": "Ordered devices including nested rack chains.",
        +        "items": {
        +          "$ref": "#/properties/snapshot/oneOf/1/$defs/device"
        +        },
        +        "type": "array"
        +      },
        +      "format": {
        +        "const": "cavi-device-chain-v2"
        +      }
        +    },
        +    "required": [
        +      "format",
        +      "devices"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "$defs": {
        +      "chain": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "devices": {
        +            "description": "Nested devices in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/2/$defs/device"
        +            },
        +            "type": "array"
        +          },
        +          "mixer": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "mute": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "pan": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "sends": {
        +                "description": "Ordered rack-chain sends.",
        +                "items": {
        +                  "description": "Ordered native send level.",
        +                  "type": "number"
        +                },
        +                "type": "array"
        +              },
        +              "solo": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "volume": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "volume",
        +              "pan",
        +              "sends",
        +              "mute",
        +              "solo"
        +            ],
        +            "type": "object"
        +          },
        +          "name": {
        +            "description": "Captured chain name.",
        +            "type": "string"
        +          },
        +          "noteRouting": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "inputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              },
        +              "outputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "inputNote",
        +              "outputNote"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "mixer",
        +          "noteRouting",
        +          "devices"
        +        ],
        +        "type": "object"
        +      },
        +      "device": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "chains": {
        +            "description": "Rack chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/2/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "className": {
        +            "description": "Exact native device class.",
        +            "type": "string"
        +          },
        +          "name": {
        +            "description": "Captured device name.",
        +            "type": "string"
        +          },
        +          "parameters": {
        +            "description": "Complete exposed parameter layout and values.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "max": {
        +                  "description": "Native maximum.",
        +                  "type": "number"
        +                },
        +                "min": {
        +                  "description": "Native minimum.",
        +                  "type": "number"
        +                },
        +                "originalName": {
        +                  "description": "Native parameter identity in index order.",
        +                  "type": "string"
        +                },
        +                "quantized": {
        +                  "description": "Native quantization.",
        +                  "type": "boolean"
        +                },
        +                "value": {
        +                  "description": "Captured native value.",
        +                  "type": "number"
        +                },
        +                "valueItems": {
        +                  "description": "Exact ordered choice labels.",
        +                  "items": {
        +                    "description": "Native value label.",
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                }
        +              },
        +              "required": [
        +                "originalName",
        +                "min",
        +                "max",
        +                "quantized",
        +                "valueItems",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "returnChains": {
        +            "description": "Rack return chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/2/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "type": {
        +            "description": "Native device type.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "className",
        +          "type",
        +          "parameters"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "additionalProperties": false,
        +    "properties": {
        +      "devices": {
        +        "description": "Ordered devices including rack controls.",
        +        "items": {
        +          "$ref": "#/properties/snapshot/oneOf/2/$defs/device"
        +        },
        +        "type": "array"
        +      },
        +      "format": {
        +        "const": "cavi-device-chain-v3"
        +      }
        +    },
        +    "required": [
        +      "format",
        +      "devices"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "$defs": {
        +      "chain": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "devices": {
        +            "description": "Nested devices in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/3/$defs/device"
        +            },
        +            "type": "array"
        +          },
        +          "mixer": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "mute": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "pan": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "sends": {
        +                "description": "Ordered rack-chain sends.",
        +                "items": {
        +                  "description": "Ordered native send level.",
        +                  "type": "number"
        +                },
        +                "type": "array"
        +              },
        +              "solo": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "volume": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "volume",
        +              "pan",
        +              "sends",
        +              "mute",
        +              "solo"
        +            ],
        +            "type": "object"
        +          },
        +          "name": {
        +            "description": "Captured chain name.",
        +            "type": "string"
        +          },
        +          "noteRouting": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "inputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              },
        +              "outputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "inputNote",
        +              "outputNote"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "mixer",
        +          "noteRouting",
        +          "devices"
        +        ],
        +        "type": "object"
        +      },
        +      "device": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "chains": {
        +            "description": "Rack chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/3/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "className": {
        +            "description": "Exact native device class.",
        +            "type": "string"
        +          },
        +          "drumPads": {
        +            "description": "Populated Drum Rack pads in native order.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "mute": {
        +                  "description": "Captured pad mute.",
        +                  "type": "boolean"
        +                },
        +                "note": {
        +                  "maximum": 127,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "solo": {
        +                  "description": "Captured pad solo.",
        +                  "type": "boolean"
        +                }
        +              },
        +              "required": [
        +                "note",
        +                "mute",
        +                "solo"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "name": {
        +            "description": "Captured device name.",
        +            "type": "string"
        +          },
        +          "parameters": {
        +            "description": "Complete exposed parameter layout and values.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "max": {
        +                  "description": "Native maximum.",
        +                  "type": "number"
        +                },
        +                "min": {
        +                  "description": "Native minimum.",
        +                  "type": "number"
        +                },
        +                "originalName": {
        +                  "description": "Native parameter identity in index order.",
        +                  "type": "string"
        +                },
        +                "quantized": {
        +                  "description": "Native quantization.",
        +                  "type": "boolean"
        +                },
        +                "value": {
        +                  "description": "Captured native value.",
        +                  "type": "number"
        +                },
        +                "valueItems": {
        +                  "description": "Exact ordered choice labels.",
        +                  "items": {
        +                    "description": "Native value label.",
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                }
        +              },
        +              "required": [
        +                "originalName",
        +                "min",
        +                "max",
        +                "quantized",
        +                "valueItems",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "returnChains": {
        +            "description": "Rack return chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/3/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "type": {
        +            "description": "Native device type.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "className",
        +          "type",
        +          "parameters"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "additionalProperties": false,
        +    "properties": {
        +      "devices": {
        +        "description": "Ordered devices including rack controls.",
        +        "items": {
        +          "$ref": "#/properties/snapshot/oneOf/3/$defs/device"
        +        },
        +        "type": "array"
        +      },
        +      "format": {
        +        "const": "cavi-device-chain-v4"
        +      }
        +    },
        +    "required": [
        +      "format",
        +      "devices"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "$defs": {
        +      "chain": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "devices": {
        +            "description": "Nested devices in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/4/$defs/device"
        +            },
        +            "type": "array"
        +          },
        +          "mixer": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "mute": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "pan": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "sends": {
        +                "description": "Ordered rack-chain sends.",
        +                "items": {
        +                  "description": "Ordered native send level.",
        +                  "type": "number"
        +                },
        +                "type": "array"
        +              },
        +              "solo": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "volume": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "volume",
        +              "pan",
        +              "sends",
        +              "mute",
        +              "solo"
        +            ],
        +            "type": "object"
        +          },
        +          "name": {
        +            "description": "Captured chain name.",
        +            "type": "string"
        +          },
        +          "noteRouting": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "inputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              },
        +              "outputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "inputNote",
        +              "outputNote"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "mixer",
        +          "noteRouting",
        +          "devices"
        +        ],
        +        "type": "object"
        +      },
        +      "device": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "chains": {
        +            "description": "Rack chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/4/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "className": {
        +            "description": "Exact native device class.",
        +            "type": "string"
        +          },
        +          "drumPads": {
        +            "description": "Populated Drum Rack pads in native order.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "mute": {
        +                  "description": "Captured pad mute.",
        +                  "type": "boolean"
        +                },
        +                "note": {
        +                  "maximum": 127,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "solo": {
        +                  "description": "Captured pad solo.",
        +                  "type": "boolean"
        +                }
        +              },
        +              "required": [
        +                "note",
        +                "mute",
        +                "solo"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "name": {
        +            "description": "Captured device name.",
        +            "type": "string"
        +          },
        +          "parameters": {
        +            "description": "Complete exposed parameter layout and values.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "max": {
        +                  "description": "Native maximum.",
        +                  "type": "number"
        +                },
        +                "min": {
        +                  "description": "Native minimum.",
        +                  "type": "number"
        +                },
        +                "originalName": {
        +                  "description": "Native parameter identity in index order.",
        +                  "type": "string"
        +                },
        +                "quantized": {
        +                  "description": "Native quantization.",
        +                  "type": "boolean"
        +                },
        +                "value": {
        +                  "description": "Captured native value.",
        +                  "type": "number"
        +                },
        +                "valueItems": {
        +                  "description": "Exact ordered choice labels.",
        +                  "items": {
        +                    "description": "Native value label.",
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                }
        +              },
        +              "required": [
        +                "originalName",
        +                "min",
        +                "max",
        +                "quantized",
        +                "valueItems",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "returnChains": {
        +            "description": "Rack return chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/4/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "type": {
        +            "description": "Native device type.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "className",
        +          "type",
        +          "parameters"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "additionalProperties": false,
        +    "properties": {
        +      "devices": {
        +        "description": "Ordered devices including rack controls.",
        +        "items": {
        +          "$ref": "#/properties/snapshot/oneOf/4/$defs/device"
        +        },
        +        "type": "array"
        +      },
        +      "format": {
        +        "const": "cavi-device-chain-v5"
        +      },
        +      "ownerMixer": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "mute": {
        +            "description": "Return bus mute.",
        +            "type": "boolean"
        +          },
        +          "pan": {
        +            "description": "Return bus pan.",
        +            "type": "number"
        +          },
        +          "solo": {
        +            "description": "Return bus solo.",
        +            "type": "boolean"
        +          },
        +          "volume": {
        +            "description": "Return bus volume.",
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "volume",
        +          "pan",
        +          "mute",
        +          "solo"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "format",
        +      "devices",
        +      "ownerMixer"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "$defs": {
        +      "chain": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "devices": {
        +            "description": "Nested devices in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/5/$defs/device"
        +            },
        +            "type": "array"
        +          },
        +          "mixer": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "mute": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "pan": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "sends": {
        +                "description": "Ordered rack-chain sends.",
        +                "items": {
        +                  "description": "Ordered native send level.",
        +                  "type": "number"
        +                },
        +                "type": "array"
        +              },
        +              "solo": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "volume": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "volume",
        +              "pan",
        +              "sends",
        +              "mute",
        +              "solo"
        +            ],
        +            "type": "object"
        +          },
        +          "name": {
        +            "description": "Captured chain name.",
        +            "type": "string"
        +          },
        +          "noteRouting": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "inputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              },
        +              "outputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "inputNote",
        +              "outputNote"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "mixer",
        +          "noteRouting",
        +          "devices"
        +        ],
        +        "type": "object"
        +      },
        +      "device": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "chains": {
        +            "description": "Rack chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/5/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "className": {
        +            "description": "Exact native device class.",
        +            "type": "string"
        +          },
        +          "drumPads": {
        +            "description": "Populated Drum Rack pads in native order.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "mute": {
        +                  "description": "Captured pad mute.",
        +                  "type": "boolean"
        +                },
        +                "note": {
        +                  "maximum": 127,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "solo": {
        +                  "description": "Captured pad solo.",
        +                  "type": "boolean"
        +                }
        +              },
        +              "required": [
        +                "note",
        +                "mute",
        +                "solo"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "name": {
        +            "description": "Captured device name.",
        +            "type": "string"
        +          },
        +          "parameters": {
        +            "description": "Complete exposed parameter layout and values.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "max": {
        +                  "description": "Native maximum.",
        +                  "type": "number"
        +                },
        +                "min": {
        +                  "description": "Native minimum.",
        +                  "type": "number"
        +                },
        +                "originalName": {
        +                  "description": "Native parameter identity in index order.",
        +                  "type": "string"
        +                },
        +                "quantized": {
        +                  "description": "Native quantization.",
        +                  "type": "boolean"
        +                },
        +                "value": {
        +                  "description": "Captured native value.",
        +                  "type": "number"
        +                },
        +                "valueItems": {
        +                  "description": "Exact ordered choice labels.",
        +                  "items": {
        +                    "description": "Native value label.",
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                }
        +              },
        +              "required": [
        +                "originalName",
        +                "min",
        +                "max",
        +                "quantized",
        +                "valueItems",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "returnChains": {
        +            "description": "Rack return chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/5/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "type": {
        +            "description": "Native device type.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "className",
        +          "type",
        +          "parameters"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "additionalProperties": false,
        +    "properties": {
        +      "devices": {
        +        "description": "Ordered devices including rack controls.",
        +        "items": {
        +          "$ref": "#/properties/snapshot/oneOf/5/$defs/device"
        +        },
        +        "type": "array"
        +      },
        +      "format": {
        +        "const": "cavi-device-chain-v6"
        +      },
        +      "ownerMixer": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "crossfader": {
        +            "description": "Crossfader.",
        +            "type": "number"
        +          },
        +          "cueVolume": {
        +            "description": "Cue volume.",
        +            "type": "number"
        +          },
        +          "outputChannelId": {
        +            "description": "Exact available master hardware output channel ID, or null if unsupported.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "pan": {
        +            "description": "Master pan.",
        +            "type": "number"
        +          },
        +          "volume": {
        +            "description": "Master volume.",
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "volume",
        +          "pan",
        +          "cueVolume",
        +          "crossfader",
        +          "outputChannelId"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "format",
        +      "devices",
        +      "ownerMixer"
        +    ],
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / snapshot / properties
        Removed value: -{
        -  "devices": {
        -    "description": "Ordered top-level device topology.",
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "className": {
        -          "description": "Exact native device class.",
        -          "type": "string"
        -        },
        -        "name": {
        -          "description": "Captured device name.",
        -          "type": "string"
        -        },
        -        "parameters": {
        -          "description": "Complete ordered exposed parameter layout and values.",
        -          "items": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "max": {
        -                "description": "Native maximum.",
        -                "type": "number"
        -              },
        -              "min": {
        -                "description": "Native minimum.",
        -                "type": "number"
        -              },
        -              "originalName": {
        -                "description": "Native parameter identity in index order.",
        -                "type": "string"
        -              },
        -              "quantized": {
        -                "description": "Native quantization.",
        -                "type": "boolean"
        -              },
        -              "value": {
        -                "description": "Captured native value.",
        -                "type": "number"
        -              },
        -              "valueItems": {
        -                "description": "Exact ordered choice labels.",
        -                "items": {
        -                  "description": "Native value label.",
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              }
        -            },
        -            "required": [
        -              "originalName",
        -              "min",
        -              "max",
        -              "quantized",
        -              "valueItems",
        -              "value"
        -            ],
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        "type": {
        -          "description": "Native device type.",
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "name",
        -        "className",
        -        "type",
        -        "parameters"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "format": {
        -    "const": "cavi-device-chain-v1"
        -  }
        -}
      • removedInput schema / properties / snapshot / required
        Removed value: -[
        -  "format",
        -  "devices"
        -]
      • removedInput schema / properties / snapshot / type
        Removed value: -"object"
    • Addedrecall_group_system_snapshot
    • Addedrecall_rack_macro_variation
    • Changedrecall_track_state_snapshot5 fields changed
      • removedInput schema / properties / snapshot / additionalProperties
        Removed value: -false
      • addedInput schema / properties / snapshot / oneOf
        Added value: +[
        +  {
        +    "additionalProperties": false,
        +    "properties": {
        +      "devices": {
        +        "description": "Ordered top-level device topology.",
        +        "items": {
        +          "additionalProperties": false,
        +          "properties": {
        +            "className": {
        +              "description": "Exact native device class.",
        +              "type": "string"
        +            },
        +            "name": {
        +              "description": "Captured device name.",
        +              "type": "string"
        +            },
        +            "parameters": {
        +              "description": "Complete ordered exposed parameter layout and values.",
        +              "items": {
        +                "additionalProperties": false,
        +                "properties": {
        +                  "max": {
        +                    "description": "Native maximum.",
        +                    "type": "number"
        +                  },
        +                  "min": {
        +                    "description": "Native minimum.",
        +                    "type": "number"
        +                  },
        +                  "originalName": {
        +                    "description": "Native parameter identity in index order.",
        +                    "type": "string"
        +                  },
        +                  "quantized": {
        +                    "description": "Native quantization.",
        +                    "type": "boolean"
        +                  },
        +                  "value": {
        +                    "description": "Captured native value.",
        +                    "type": "number"
        +                  },
        +                  "valueItems": {
        +                    "description": "Exact ordered choice labels.",
        +                    "items": {
        +                      "description": "Native value label.",
        +                      "type": "string"
        +                    },
        +                    "type": "array"
        +                  }
        +                },
        +                "required": [
        +                  "originalName",
        +                  "min",
        +                  "max",
        +                  "quantized",
        +                  "valueItems",
        +                  "value"
        +                ],
        +                "type": "object"
        +              },
        +              "type": "array"
        +            },
        +            "type": {
        +              "description": "Native device type.",
        +              "type": "string"
        +            }
        +          },
        +          "required": [
        +            "name",
        +            "className",
        +            "type",
        +            "parameters"
        +          ],
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "format": {
        +        "const": "cavi-track-state-v1"
        +      },
        +      "mixer": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "mute": {
        +            "description": "Captured mute.",
        +            "type": "boolean"
        +          },
        +          "pan": {
        +            "description": "Captured pan.",
        +            "type": "number"
        +          },
        +          "sends": {
        +            "description": "Ordered named sends.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "id": {
        +                  "description": "Stable return ID.",
        +                  "type": "string"
        +                },
        +                "name": {
        +                  "description": "Captured return name.",
        +                  "type": "string"
        +                },
        +                "value": {
        +                  "description": "Captured send value.",
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "id",
        +                "name",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "solo": {
        +            "description": "Captured solo.",
        +            "type": "boolean"
        +          },
        +          "volume": {
        +            "description": "Captured volume.",
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "volume",
        +          "pan",
        +          "mute",
        +          "solo",
        +          "sends"
        +        ],
        +        "type": "object"
        +      },
        +      "routing": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "inputChannelId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "inputTypeId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "monitoring": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "outputChannelId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "outputTypeId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "inputTypeId",
        +          "inputChannelId",
        +          "outputTypeId",
        +          "outputChannelId",
        +          "monitoring"
        +        ],
        +        "type": "object"
        +      },
        +      "track": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "groupTrackId": {
        +            "description": "Captured parent Group Track ID; absent in older snapshots.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "isGroup": {
        +            "description": "Captured Group Track state.",
        +            "type": "boolean"
        +          },
        +          "isGrouped": {
        +            "description": "Captured child-group membership; absent in older snapshots.",
        +            "type": "boolean"
        +          },
        +          "name": {
        +            "description": "Captured track name.",
        +            "type": "string"
        +          },
        +          "type": {
        +            "enum": [
        +              "midi",
        +              "audio",
        +              "group",
        +              "unknown"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "type",
        +          "isGroup"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "format",
        +      "track",
        +      "mixer",
        +      "routing",
        +      "devices"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "$defs": {
        +      "chain": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "devices": {
        +            "description": "Nested devices in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/1/$defs/device"
        +            },
        +            "type": "array"
        +          },
        +          "name": {
        +            "description": "Captured chain name.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "devices"
        +        ],
        +        "type": "object"
        +      },
        +      "device": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "chains": {
        +            "description": "Rack chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/1/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "className": {
        +            "description": "Exact native device class.",
        +            "type": "string"
        +          },
        +          "name": {
        +            "description": "Captured device name.",
        +            "type": "string"
        +          },
        +          "parameters": {
        +            "description": "Complete exposed parameter layout and values.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "max": {
        +                  "description": "Native maximum.",
        +                  "type": "number"
        +                },
        +                "min": {
        +                  "description": "Native minimum.",
        +                  "type": "number"
        +                },
        +                "originalName": {
        +                  "description": "Native parameter identity in index order.",
        +                  "type": "string"
        +                },
        +                "quantized": {
        +                  "description": "Native quantization.",
        +                  "type": "boolean"
        +                },
        +                "value": {
        +                  "description": "Captured native value.",
        +                  "type": "number"
        +                },
        +                "valueItems": {
        +                  "description": "Exact ordered choice labels.",
        +                  "items": {
        +                    "description": "Native value label.",
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                }
        +              },
        +              "required": [
        +                "originalName",
        +                "min",
        +                "max",
        +                "quantized",
        +                "valueItems",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "returnChains": {
        +            "description": "Rack return chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/1/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "type": {
        +            "description": "Native device type.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "className",
        +          "type",
        +          "parameters"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "additionalProperties": false,
        +    "properties": {
        +      "devices": {
        +        "description": "Ordered devices including nested rack chains.",
        +        "items": {
        +          "$ref": "#/properties/snapshot/oneOf/1/$defs/device"
        +        },
        +        "type": "array"
        +      },
        +      "format": {
        +        "const": "cavi-track-state-v2"
        +      },
        +      "mixer": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "mute": {
        +            "description": "Captured mute.",
        +            "type": "boolean"
        +          },
        +          "pan": {
        +            "description": "Captured pan.",
        +            "type": "number"
        +          },
        +          "sends": {
        +            "description": "Ordered named sends.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "id": {
        +                  "description": "Stable return ID.",
        +                  "type": "string"
        +                },
        +                "name": {
        +                  "description": "Captured return name.",
        +                  "type": "string"
        +                },
        +                "value": {
        +                  "description": "Captured send value.",
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "id",
        +                "name",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "solo": {
        +            "description": "Captured solo.",
        +            "type": "boolean"
        +          },
        +          "volume": {
        +            "description": "Captured volume.",
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "volume",
        +          "pan",
        +          "mute",
        +          "solo",
        +          "sends"
        +        ],
        +        "type": "object"
        +      },
        +      "routing": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "inputChannelId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "inputTypeId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "monitoring": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "outputChannelId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "outputTypeId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "inputTypeId",
        +          "inputChannelId",
        +          "outputTypeId",
        +          "outputChannelId",
        +          "monitoring"
        +        ],
        +        "type": "object"
        +      },
        +      "track": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "groupTrackId": {
        +            "description": "Captured parent Group Track ID; absent in older snapshots.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "isGroup": {
        +            "description": "Captured Group Track state.",
        +            "type": "boolean"
        +          },
        +          "isGrouped": {
        +            "description": "Captured child-group membership; absent in older snapshots.",
        +            "type": "boolean"
        +          },
        +          "name": {
        +            "description": "Captured track name.",
        +            "type": "string"
        +          },
        +          "type": {
        +            "enum": [
        +              "midi",
        +              "audio",
        +              "group",
        +              "unknown"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "type",
        +          "isGroup"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "format",
        +      "track",
        +      "mixer",
        +      "routing",
        +      "devices"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "$defs": {
        +      "chain": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "devices": {
        +            "description": "Nested devices in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/2/$defs/device"
        +            },
        +            "type": "array"
        +          },
        +          "mixer": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "mute": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "pan": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "sends": {
        +                "description": "Ordered rack-chain sends.",
        +                "items": {
        +                  "description": "Ordered native send level.",
        +                  "type": "number"
        +                },
        +                "type": "array"
        +              },
        +              "solo": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "volume": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "volume",
        +              "pan",
        +              "sends",
        +              "mute",
        +              "solo"
        +            ],
        +            "type": "object"
        +          },
        +          "name": {
        +            "description": "Captured chain name.",
        +            "type": "string"
        +          },
        +          "noteRouting": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "inputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              },
        +              "outputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "inputNote",
        +              "outputNote"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "mixer",
        +          "noteRouting",
        +          "devices"
        +        ],
        +        "type": "object"
        +      },
        +      "device": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "chains": {
        +            "description": "Rack chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/2/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "className": {
        +            "description": "Exact native device class.",
        +            "type": "string"
        +          },
        +          "name": {
        +            "description": "Captured device name.",
        +            "type": "string"
        +          },
        +          "parameters": {
        +            "description": "Complete exposed parameter layout and values.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "max": {
        +                  "description": "Native maximum.",
        +                  "type": "number"
        +                },
        +                "min": {
        +                  "description": "Native minimum.",
        +                  "type": "number"
        +                },
        +                "originalName": {
        +                  "description": "Native parameter identity in index order.",
        +                  "type": "string"
        +                },
        +                "quantized": {
        +                  "description": "Native quantization.",
        +                  "type": "boolean"
        +                },
        +                "value": {
        +                  "description": "Captured native value.",
        +                  "type": "number"
        +                },
        +                "valueItems": {
        +                  "description": "Exact ordered choice labels.",
        +                  "items": {
        +                    "description": "Native value label.",
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                }
        +              },
        +              "required": [
        +                "originalName",
        +                "min",
        +                "max",
        +                "quantized",
        +                "valueItems",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "returnChains": {
        +            "description": "Rack return chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/2/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "type": {
        +            "description": "Native device type.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "className",
        +          "type",
        +          "parameters"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "additionalProperties": false,
        +    "properties": {
        +      "devices": {
        +        "description": "Ordered devices including rack controls.",
        +        "items": {
        +          "$ref": "#/properties/snapshot/oneOf/2/$defs/device"
        +        },
        +        "type": "array"
        +      },
        +      "format": {
        +        "const": "cavi-track-state-v3"
        +      },
        +      "mixer": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "mute": {
        +            "description": "Captured mute.",
        +            "type": "boolean"
        +          },
        +          "pan": {
        +            "description": "Captured pan.",
        +            "type": "number"
        +          },
        +          "sends": {
        +            "description": "Ordered named sends.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "id": {
        +                  "description": "Stable return ID.",
        +                  "type": "string"
        +                },
        +                "name": {
        +                  "description": "Captured return name.",
        +                  "type": "string"
        +                },
        +                "value": {
        +                  "description": "Captured send value.",
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "id",
        +                "name",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "solo": {
        +            "description": "Captured solo.",
        +            "type": "boolean"
        +          },
        +          "volume": {
        +            "description": "Captured volume.",
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "volume",
        +          "pan",
        +          "mute",
        +          "solo",
        +          "sends"
        +        ],
        +        "type": "object"
        +      },
        +      "routing": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "inputChannelId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "inputTypeId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "monitoring": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "outputChannelId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "outputTypeId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "inputTypeId",
        +          "inputChannelId",
        +          "outputTypeId",
        +          "outputChannelId",
        +          "monitoring"
        +        ],
        +        "type": "object"
        +      },
        +      "track": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "groupTrackId": {
        +            "description": "Captured parent Group Track ID; absent in older snapshots.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "isGroup": {
        +            "description": "Captured Group Track state.",
        +            "type": "boolean"
        +          },
        +          "isGrouped": {
        +            "description": "Captured child-group membership; absent in older snapshots.",
        +            "type": "boolean"
        +          },
        +          "name": {
        +            "description": "Captured track name.",
        +            "type": "string"
        +          },
        +          "type": {
        +            "enum": [
        +              "midi",
        +              "audio",
        +              "group",
        +              "unknown"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "type",
        +          "isGroup"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "format",
        +      "track",
        +      "mixer",
        +      "routing",
        +      "devices"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "$defs": {
        +      "chain": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "devices": {
        +            "description": "Nested devices in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/3/$defs/device"
        +            },
        +            "type": "array"
        +          },
        +          "mixer": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "mute": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "pan": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              },
        +              "sends": {
        +                "description": "Ordered rack-chain sends.",
        +                "items": {
        +                  "description": "Ordered native send level.",
        +                  "type": "number"
        +                },
        +                "type": "array"
        +              },
        +              "solo": {
        +                "type": [
        +                  "boolean",
        +                  "null"
        +                ]
        +              },
        +              "volume": {
        +                "type": [
        +                  "number",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "volume",
        +              "pan",
        +              "sends",
        +              "mute",
        +              "solo"
        +            ],
        +            "type": "object"
        +          },
        +          "name": {
        +            "description": "Captured chain name.",
        +            "type": "string"
        +          },
        +          "noteRouting": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "inputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              },
        +              "outputNote": {
        +                "maximum": 127,
        +                "minimum": 0,
        +                "type": [
        +                  "integer",
        +                  "null"
        +                ]
        +              }
        +            },
        +            "required": [
        +              "inputNote",
        +              "outputNote"
        +            ],
        +            "type": "object"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "mixer",
        +          "noteRouting",
        +          "devices"
        +        ],
        +        "type": "object"
        +      },
        +      "device": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "chains": {
        +            "description": "Rack chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/3/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "className": {
        +            "description": "Exact native device class.",
        +            "type": "string"
        +          },
        +          "drumPads": {
        +            "description": "Populated Drum Rack pads in native order.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "mute": {
        +                  "description": "Captured pad mute.",
        +                  "type": "boolean"
        +                },
        +                "note": {
        +                  "maximum": 127,
        +                  "minimum": 0,
        +                  "type": "integer"
        +                },
        +                "solo": {
        +                  "description": "Captured pad solo.",
        +                  "type": "boolean"
        +                }
        +              },
        +              "required": [
        +                "note",
        +                "mute",
        +                "solo"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "name": {
        +            "description": "Captured device name.",
        +            "type": "string"
        +          },
        +          "parameters": {
        +            "description": "Complete exposed parameter layout and values.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "max": {
        +                  "description": "Native maximum.",
        +                  "type": "number"
        +                },
        +                "min": {
        +                  "description": "Native minimum.",
        +                  "type": "number"
        +                },
        +                "originalName": {
        +                  "description": "Native parameter identity in index order.",
        +                  "type": "string"
        +                },
        +                "quantized": {
        +                  "description": "Native quantization.",
        +                  "type": "boolean"
        +                },
        +                "value": {
        +                  "description": "Captured native value.",
        +                  "type": "number"
        +                },
        +                "valueItems": {
        +                  "description": "Exact ordered choice labels.",
        +                  "items": {
        +                    "description": "Native value label.",
        +                    "type": "string"
        +                  },
        +                  "type": "array"
        +                }
        +              },
        +              "required": [
        +                "originalName",
        +                "min",
        +                "max",
        +                "quantized",
        +                "valueItems",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "returnChains": {
        +            "description": "Rack return chains in native order.",
        +            "items": {
        +              "$ref": "#/properties/snapshot/oneOf/3/$defs/chain"
        +            },
        +            "type": "array"
        +          },
        +          "type": {
        +            "description": "Native device type.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "className",
        +          "type",
        +          "parameters"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "additionalProperties": false,
        +    "properties": {
        +      "devices": {
        +        "description": "Ordered devices including Drum Rack pad state.",
        +        "items": {
        +          "$ref": "#/properties/snapshot/oneOf/3/$defs/device"
        +        },
        +        "type": "array"
        +      },
        +      "format": {
        +        "const": "cavi-track-state-v4"
        +      },
        +      "mixer": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "mute": {
        +            "description": "Captured mute.",
        +            "type": "boolean"
        +          },
        +          "pan": {
        +            "description": "Captured pan.",
        +            "type": "number"
        +          },
        +          "sends": {
        +            "description": "Ordered named sends.",
        +            "items": {
        +              "additionalProperties": false,
        +              "properties": {
        +                "id": {
        +                  "description": "Stable return ID.",
        +                  "type": "string"
        +                },
        +                "name": {
        +                  "description": "Captured return name.",
        +                  "type": "string"
        +                },
        +                "value": {
        +                  "description": "Captured send value.",
        +                  "type": "number"
        +                }
        +              },
        +              "required": [
        +                "id",
        +                "name",
        +                "value"
        +              ],
        +              "type": "object"
        +            },
        +            "type": "array"
        +          },
        +          "solo": {
        +            "description": "Captured solo.",
        +            "type": "boolean"
        +          },
        +          "volume": {
        +            "description": "Captured volume.",
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "volume",
        +          "pan",
        +          "mute",
        +          "solo",
        +          "sends"
        +        ],
        +        "type": "object"
        +      },
        +      "routing": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "inputChannelId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "inputTypeId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "monitoring": {
        +            "type": [
        +              "integer",
        +              "null"
        +            ]
        +          },
        +          "outputChannelId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "outputTypeId": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "inputTypeId",
        +          "inputChannelId",
        +          "outputTypeId",
        +          "outputChannelId",
        +          "monitoring"
        +        ],
        +        "type": "object"
        +      },
        +      "track": {
        +        "additionalProperties": false,
        +        "properties": {
        +          "groupTrackId": {
        +            "description": "Captured parent Group Track ID; absent in older snapshots.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "isGroup": {
        +            "description": "Captured Group Track state.",
        +            "type": "boolean"
        +          },
        +          "isGrouped": {
        +            "description": "Captured child-group membership; absent in older snapshots.",
        +            "type": "boolean"
        +          },
        +          "name": {
        +            "description": "Captured track name.",
        +            "type": "string"
        +          },
        +          "type": {
        +            "enum": [
        +              "midi",
        +              "audio",
        +              "group",
        +              "unknown"
        +            ],
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "name",
        +          "type",
        +          "isGroup"
        +        ],
        +        "type": "object"
        +      }
        +    },
        +    "required": [
        +      "format",
        +      "track",
        +      "mixer",
        +      "routing",
        +      "devices"
        +    ],
        +    "type": "object"
        +  }
        +]
      • removedInput schema / properties / snapshot / properties
        Removed value: -{
        -  "devices": {
        -    "description": "Ordered top-level device topology.",
        -    "items": {
        -      "additionalProperties": false,
        -      "properties": {
        -        "className": {
        -          "description": "Exact native device class.",
        -          "type": "string"
        -        },
        -        "name": {
        -          "description": "Captured device name.",
        -          "type": "string"
        -        },
        -        "parameters": {
        -          "description": "Complete ordered exposed parameter layout and values.",
        -          "items": {
        -            "additionalProperties": false,
        -            "properties": {
        -              "max": {
        -                "description": "Native maximum.",
        -                "type": "number"
        -              },
        -              "min": {
        -                "description": "Native minimum.",
        -                "type": "number"
        -              },
        -              "originalName": {
        -                "description": "Native parameter identity in index order.",
        -                "type": "string"
        -              },
        -              "quantized": {
        -                "description": "Native quantization.",
        -                "type": "boolean"
        -              },
        -              "value": {
        -                "description": "Captured native value.",
        -                "type": "number"
        -              },
        -              "valueItems": {
        -                "description": "Exact ordered choice labels.",
        -                "items": {
        -                  "description": "Native value label.",
        -                  "type": "string"
        -                },
        -                "type": "array"
        -              }
        -            },
        -            "required": [
        -              "originalName",
        -              "min",
        -              "max",
        -              "quantized",
        -              "valueItems",
        -              "value"
        -            ],
        -            "type": "object"
        -          },
        -          "type": "array"
        -        },
        -        "type": {
        -          "description": "Native device type.",
        -          "type": "string"
        -        }
        -      },
        -      "required": [
        -        "name",
        -        "className",
        -        "type",
        -        "parameters"
        -      ],
        -      "type": "object"
        -    },
        -    "type": "array"
        -  },
        -  "format": {
        -    "const": "cavi-track-state-v1"
        -  },
        -  "mixer": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "mute": {
        -        "description": "Captured mute.",
        -        "type": "boolean"
        -      },
        -      "pan": {
        -        "description": "Captured pan.",
        -        "type": "number"
        -      },
        -      "sends": {
        -        "description": "Ordered named sends.",
        -        "items": {
        -          "additionalProperties": false,
        -          "properties": {
        -            "id": {
        -              "description": "Stable return ID.",
        -              "type": "string"
        -            },
        -            "name": {
        -              "description": "Captured return name.",
        -              "type": "string"
        -            },
        -            "value": {
        -              "description": "Captured send value.",
        -              "type": "number"
        -            }
        -          },
        -          "required": [
        -            "id",
        -            "name",
        -            "value"
        -          ],
        -          "type": "object"
        -        },
        -        "type": "array"
        -      },
        -      "solo": {
        -        "description": "Captured solo.",
        -        "type": "boolean"
        -      },
        -      "volume": {
        -        "description": "Captured volume.",
        -        "type": "number"
        -      }
        -    },
        -    "required": [
        -      "volume",
        -      "pan",
        -      "mute",
        -      "solo",
        -      "sends"
        -    ],
        -    "type": "object"
        -  },
        -  "routing": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "inputChannelId": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "inputTypeId": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "monitoring": {
        -        "type": [
        -          "integer",
        -          "null"
        -        ]
        -      },
        -      "outputChannelId": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      },
        -      "outputTypeId": {
        -        "type": [
        -          "string",
        -          "null"
        -        ]
        -      }
        -    },
        -    "required": [
        -      "inputTypeId",
        -      "inputChannelId",
        -      "outputTypeId",
        -      "outputChannelId",
        -      "monitoring"
        -    ],
        -    "type": "object"
        -  },
        -  "track": {
        -    "additionalProperties": false,
        -    "properties": {
        -      "isGroup": {
        -        "description": "Captured Group Track state.",
        -        "type": "boolean"
        -      },
        -      "name": {
        -        "description": "Captured track name.",
        -        "type": "string"
        -      },
        -      "type": {
        -        "enum": [
        -          "midi",
        -          "audio",
        -          "group",
        -          "unknown"
        -        ],
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "name",
        -      "type",
        -      "isGroup"
        -    ],
        -    "type": "object"
        -  }
        -}
      • removedInput schema / properties / snapshot / required
        Removed value: -[
        -  "format",
        -  "track",
        -  "mixer",
        -  "routing",
        -  "devices"
        -]
      • removedInput schema / properties / snapshot / type
        Removed value: -"object"
    • Addedrename_rack_macro
    • Addedroute_tracks_to_return_bus
    • Addedsave_device_chain_snapshot
    • Addedsave_group_system_snapshot
    • Addedsave_live_set
    • Addedsave_midi_feel_template
    • Changedsearch_browser_item_metadata1 field changed
      • changedInput schema / properties / root / description
        Previous value: -"Optional browser root filter."New value: +"Optional browser root or local_splice filter."
    • Changedsearch_browser_items1 field changed
      • addedInput schema / properties / includeMetadata
        Added value: +{
        +  "description": "Join private MCP tags and favorites for results with an exact URI.",
        +  "type": "boolean"
        +}
    • Addedsearch_browser_roots
    • Changedsearch_local_splice_samples7 fields changed
      • addedInput schema / properties / favorite
        Added value: +{
        +  "description": "Optional private favorite state filter.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / includeMetadata
        Added value: +{
        +  "description": "Include private MCP tags and favorites for matching local files.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / maxVisited
        Added value: +{
        +  "description": "Maximum directory entries to inspect; defaults to 50000. A truncated result is incomplete.",
        +  "maximum": 50000,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Zero-based match offset for deterministic pagination; defaults to zero.",
        +  "minimum": 0,
        +  "type": "integer"
        +}
      • changedInput schema / properties / query / description
        Previous value: -"Case-insensitive audio filename query."New value: +"Optional case-insensitive audio filename or relative-path query; required without metadata filters."
      • addedInput schema / properties / tags
        Added value: +{
        +  "description": "Require every supplied tag.",
        +  "items": {
        +    "description": "Required private user tag.",
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "rootPath",
        -  "query"
        -]New value: +[
        +  "rootPath"
        +]
    • Changedset_browser_item_metadata2 fields changed
      • changedInput schema / properties / path / items / description
        Previous value: -"Exact browser path segment."New value: +"Exact browser segment, or [absolute directory, relative audio path] for local_splice."
      • changedInput schema / properties / root / description
        Previous value: -"Live browser root."New value: +"Live browser root or local_splice."
    • Changedset_clip_timing3 fields changed
      • addedInput schema / properties / editorGrid
        Added value: +{
        +  "additionalProperties": false,
        +  "properties": {
        +    "isTriplet": {
        +      "description": "Display the clip editor on a triplet grid.",
        +      "type": "boolean"
        +    },
        +    "quantization": {
        +      "description": "Exact native editor-grid choice returned by get_clip_timing.",
        +      "oneOf": [
        +        {
        +          "type": "integer"
        +        },
        +        {
        +          "type": "string"
        +        }
        +      ]
        +    }
        +  },
        +  "required": [],
        +  "type": "object"
        +}
      • addedInput schema / properties / launchLegato
        Added value: +{
        +  "description": "Enable Legato launch for a Session clip.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / mute
        Added value: +{
        +  "description": "Mute this clip when supported by Live's native clip API.",
        +  "type": "boolean"
        +}
    • Changedset_device_parameters3 fields changed
      • changedInput schema / properties / changes / items / properties / value / description
        Previous value: -"Requested value; clamped to live bounds."New value: +"Native numeric value or exact observed quantized choice label from list_device_parameters."
      • addedInput schema / properties / changes / items / properties / value / oneOf
        Added value: +[
        +  {
        +    "type": "number"
        +  },
        +  {
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / changes / items / properties / value / type
        Removed value: -"number"
    • Addedset_rack_macro_mapping_edge
    • Addedset_scene_musical_context
    • Addedstore_rack_macro_variation
  2. 183 tool updatesv0.1.0
    • First observedadd_audio_warp_marker
    • First observedanalyze_audio_clip
    • First observedanalyze_audio_file
    • First observedanalyze_midi_clip_chords
    • First observedanalyze_midi_clip_scale
    • First observedapply_drum_variation
    • First observedapply_midi_chord_arpeggiation
    • First observedapply_midi_chord_doubling
    • First observedapply_midi_chord_inversion
    • First observedapply_midi_chord_voice_leading
    • First observedapply_midi_diatonic_chord_quality
    • First observedapply_midi_diatonic_harmony
    • First observedapply_midi_diatonic_transposition
    • First observedapply_midi_drop_voicing
    • First observedapply_midi_gate_pattern
    • First observedapply_midi_probability_pattern
    • First observedapply_midi_ratchet_pattern
    • First observedapply_midi_scale_chord_remapping
    • First observedapply_midi_strum_pattern
    • First observedapply_midi_transposition
    • First observedapply_midi_velocity_curve
    • First observedarm_track
    • First observedcapture_device_chain_snapshot
    • First observedcapture_device_parameter_snapshot
    • First observedcapture_track_state_snapshot
    • First observedcorrect_midi_clip_to_scale
    • First observedcreate_arrangement_cue_point
    • First observedcreate_audio_clip
    • First observedcreate_drum_pattern_clip
    • First observedcreate_groove
    • First observedcreate_midi_clip
    • First observedcreate_rack_chain
    • First observedcreate_return_track
    • First observedcreate_scale_bassline_clip
    • First observedcreate_scale_chord_progression_clip
    • First observedcreate_scale_melody_clip
    • First observedcreate_scene
    • First observedcreate_track
    • First observedcrop_audio_clip
    • First observeddelete_arrangement_clip
    • First observeddelete_arrangement_cue_point
    • First observeddelete_clip
    • First observeddelete_device
    • First observeddelete_session_object
    • First observedduplicate_arrangement_clip
    • First observedduplicate_clip
    • First observedduplicate_clip_loop
    • First observedduplicate_session_object
    • First observededit_drum_pattern_clip
    • First observedget_audio_clip_state
    • First observedget_audio_source_beat_times
    • First observedget_automation_capabilities
    • First observedget_beat_repeat_performance_context
    • First observedget_browser_item_metadata
    • First observedget_browser_items
    • First observedget_clip_groove_context
    • First observedget_clip_parameter_envelope
    • First observedget_clip_timing
    • First observedget_device_hierarchy
    • First observedget_device_sidechain_routing
    • First observedget_factory_browser_items
    • First observedget_factory_coverage
    • First observedget_factory_device_context
    • First observedget_history_state
    • First observedget_live_scale_reference
    • First observedget_live_state
    • First observedget_looper_performance_context
    • First observedget_midi_clip_notes
    • First observedget_midi_clip_notes_extended
    • First observedget_plugin_integration_context
    • First observedget_preset
    • First observedget_preset_metadata
    • First observedget_producer_chain_blueprint
    • First observedget_set_mixer
    • First observedget_song_grid_reference
    • First observedget_song_musical_context
    • First observedget_track_freeze_state
    • First observedget_track_midi_routing
    • First observedget_track_mixer
    • First observedget_track_routing
    • First observedget_transport_context
    • First observedget_transport_recording_context
    • First observedhumanize_midi_notes
    • First observedinspect_clip_groove_postconditions
    • First observedinspect_producer_bus
    • First observedinspect_producer_chain
    • First observedjump_to_arrangement_cue_point
    • First observedlaunch_clip
    • First observedlaunch_scene
    • First observedlist_arrangement_clips
    • First observedlist_arrangement_cue_points
    • First observedlist_clips
    • First observedlist_device_parameters
    • First observedlist_devices
    • First observedlist_factory_device_profiles
    • First observedlist_live_scales
    • First observedlist_producer_chain_blueprints
    • First observedlist_scenes
    • First observedlist_tracks
    • First observedload_browser_item
    • First observedload_factory_browser_item
    • First observedload_track_state_snapshot
    • First observedmove_arrangement_clip
    • First observedmove_audio_warp_marker
    • First observedmove_device
    • First observedmove_device_to_chain
    • First observedpanic
    • First observedplace_session_clip_in_arrangement
    • First observedplan_drum_pattern
    • First observedplan_drum_pattern_edit
    • First observedplan_drum_variation
    • First observedplan_grid_envelope_pattern
    • First observedplan_midi_chord_arpeggiation
    • First observedplan_midi_chord_doubling
    • First observedplan_midi_chord_inversion
    • First observedplan_midi_chord_voice_leading
    • First observedplan_midi_diatonic_chord_quality
    • First observedplan_midi_diatonic_harmony
    • First observedplan_midi_diatonic_transposition
    • First observedplan_midi_drop_voicing
    • First observedplan_midi_gate_pattern
    • First observedplan_midi_humanization
    • First observedplan_midi_probability_pattern
    • First observedplan_midi_ratchet_pattern
    • First observedplan_midi_scale_chord_remapping
    • First observedplan_midi_strum_pattern
    • First observedplan_midi_transposition
    • First observedplan_midi_velocity_curve
    • First observedplan_scale_bassline
    • First observedplan_scale_chord_progression
    • First observedplan_scale_melody
    • First observedpropose_audio_transient_warp
    • First observedquantize_audio_clip
    • First observedrecall_device_chain_snapshot
    • First observedrecall_device_parameter_snapshot
    • First observedrecall_track_state_snapshot
    • First observedredo
    • First observedremove_audio_warp_marker
    • First observedrename_arrangement_cue_point
    • First observedrename_rack_chain
    • First observedrename_session_object
    • First observedroute_tracks_to_bus
    • First observedsave_track_state_snapshot
    • First observedsearch_browser_item_metadata
    • First observedsearch_browser_items
    • First observedsearch_local_splice_samples
    • First observedsearch_presets
    • First observedset_audio_clip_state
    • First observedset_beat_repeat_enabled
    • First observedset_beat_repeat_grid
    • First observedset_beat_repeat_interval
    • First observedset_browser_item_metadata
    • First observedset_bulk_track_mixer
    • First observedset_clip_parameter_envelope
    • First observedset_clip_timing
    • First observedset_device_active
    • First observedset_device_parameters
    • First observedset_device_sidechain_routing
    • First observedset_drum_pad_state
    • First observedset_groove
    • First observedset_group_fold_state
    • First observedset_looper_state
    • First observedset_master_mixer
    • First observedset_midi_note_properties
    • First observedset_preset_metadata
    • First observedset_rack_chain_mixer
    • First observedset_rack_chain_note_routing
    • First observedset_return_mixer
    • First observedset_scene_launch_quantization
    • First observedset_song_musical_context
    • First observedset_tempo
    • First observedset_track_freeze_state
    • First observedset_track_midi_routing
    • First observedset_track_mixer
    • First observedset_track_routing
    • First observedset_transport_context
    • First observedset_transport_recording_context
    • First observedstop_all_clips
    • First observedstop_clip
    • First observedtransform_midi_notes
    • First observedtransport_play
    • First observedtransport_stop
    • First observedundo

TDQS

B3.1/5.0

Scored across 221 tools

Disambiguation2/5

With 221 tools, many near-duplicate or overlapping operations exist (e.g. numerous get_*_context and plan_*/apply_* pairs, multiple browser search/browse tools, and several MIDI analysis/generation tools). Although descriptions are unusually detailed, the sheer volume and fine-grained distinctions make misselection likely for an agent.

Naming Consistency4/5

Tool names are overwhelmingly snake_case and verb_noun oriented, with predictable families such as get_*, list_*, set_*, create_*, plan_*, and apply_*. Minor deviations like transport_play, transport_stop, panic, undo, and redo keep this from being perfectly uniform.

Tool Count1/5

221 tools is extreme for any MCP server and far beyond the suggested 3-15 range, even for a complex DAW integration. The set is heavily over-scoped and would overwhelm an agent’s tool-selection context.

Completeness4/5

The surface is remarkably broad, covering transport, tracks, clips, devices, racks, browser, MIDI, audio, snapshots, and NKS workflows. Some dead ends remain (e.g. freeze setter fails closed, groove deletion is not exposed), but most core lifecycles are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that exposes Ableton Live control (session state, transport, tracks, devices, clips, MIDI note editing) as tools for LLM agents, enabling natural language manipulation of a Live session.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients to programmatically control an Ableton Live 12 session, including tracks, clips, MIDI notes, devices, parameters, mixer, scenes, warping, and rendering, over streamable HTTP.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables exposing any REST or GraphQL API as MCP tools from a single JSON spec, with writes requiring explicit confirmation before being sent.
    MIT