Skip to main content
Glama

plan_drum_variation

Read-only

Plan deterministic timing and velocity humanization for drum patterns, with an optional final-bar fill, preserving unrelated notes and rejecting collisions.

Instructions

Plan deterministic bounded timing and velocity humanization plus an optional explicit final-bar fill. Preserves unrelated notes and rejects collisions.

Input Schema

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

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds valuable behavioral context beyond annotations: it preserves unrelated notes and rejects collisions, which tells the agent the tool is non-destructive to adjacent material and will fail or refuse on conflicting input. This is genuinely useful and consistent with the readOnly hint. No contradiction.

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 primary action front-loaded. The key constraints (deterministic, bounded, preserves unrelated notes, rejects collisions) are packed efficiently with minimal waste. Could arguably be split into clearer clauses, but it earns its place.

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 an 11-parameter tool with 10 required params, a nested fill object, and no output schema, this description is thin. It doesn't explain what the tool returns (planning output format is unspecified), what 'rejects collisions' means operationally (error vs. skip), or the fill sub-object semantics. An agent would struggle to call this correctly with the given text 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 64%, so roughly a third of parameters lack schema descriptions. The description frames the general intent (timing/velocity humanization, fill) that maps to timingAmount, velocityAmount, and fill, adding light semantic glue. However, it doesn't detail the fill sub-object fields (gate, activeSteps, velocity, note) or explain parameters like preserveAccentsAbove, startBar, or bars beyond what the schema already documents. It partially compensates for the coverage gap but not fully.

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 purpose: plan deterministic bounded timing and velocity humanization with an optional final-bar fill. It clearly differentiates from the sibling apply_drum_variation by using the verb 'Plan' (non-mutating) vs 'apply'. However, it doesn't distinguish itself from plan_midi_humanization or plan_drum_pattern, leaving the agent to infer how it differs from 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?

The description gives no when-to-use guidance, no explicit alternatives, and no exclusions. It doesn't tell the agent to use this instead of apply_drum_variation, plan_midi_humanization, or plan_drum_pattern_edit. 'Preserves unrelated notes and rejects collisions' is a behavioral note, not usage guidance. The agent must infer from the sibling set that this is the planning counterpart to apply_drum_variation.

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

Deploy Server

Other Tools