Skip to main content
Glama

plan_drum_pattern_edit

Read-onlyIdempotent

Plan replacement of selected drum lanes and bars in an existing MIDI clip while preserving unrelated notes. Empty activeSteps clears that lane in the range.

Instructions

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.

Input Schema

NameRequiredDescriptionDefault
barsYes
gridYes
lanesYesDrum lanes to replace inside the selected bars.
clipIdYeslist_clips Session ID or supported list_arrangement_clips ID.
trackIdYesID from list_tracks.
startBarYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.3.1
    • changedInput schema / properties / clipId / description
      Previous value: -"Session ID from list_clips; Arrangement ID from list_arrangement_clips where supported."New value: +"list_clips Session ID or supported list_arrangement_clips ID."
    • removedOutput schema / additionalProperties
      Removed value: -true
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "before": {
      +        "type": "object"
      +      },
      +      "clipTiming": {
      +        "type": "object"
      +      },
      +      "edit": {
      +        "type": "object"
      +      },
      +      "gridReference": {
      +        "type": "object"
      +      },
      +      "stateVersion": {
      +        "minimum": 1,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "stateVersion",
      +      "gridReference",
      +      "clipTiming",
      +      "before",
      +      "edit"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "error": {
      +        "properties": {
      +          "message": {
      +            "type": "string"
      +          },
      +          "outcome": {
      +            "enum": [
      +              "unknown",
      +              "not_executed"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "message",
      +          "outcome"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed3 schema fields changedv0.3.0
    • changedInput schema / properties / clipId / description
      Previous value: -"Stable 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."New value: +"Session ID from list_clips; Arrangement ID from list_arrangement_clips where supported."
    • changedInput schema / properties / trackId / description
      Previous value: -"Stable track ID returned by list_tracks."New value: +"ID from list_tracks."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
  3. First observedv0.1.0

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 description is not required to establish safety. It adds useful behavioral detail by noting that unrelated notes are preserved and that an empty activeSteps array clears the lane within the range, which goes 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.

Conciseness5/5

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

The description is two tight sentences with no filler. The main operation is front-loaded, and the second sentence delivers the most important edge-case behavior about empty activeSteps.

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 planning tool with an output schema and safety annotations, the description provides enough context to understand the core operation and one critical edge case. It does not explicitly state that no mutation occurs, but readOnlyHint covers that safety profile.

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 schema description coverage at 50%, the description compensates for an important gap by explaining that empty activeSteps clears the selected lane in the range, a semantic not captured by the schema's brief description. It also ties lanes and bars to explicit selection, though it does not clarify grid/startBar semantics.

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 replacement') and resource ('drum lanes and bars in an existing MIDI clip'), and it immediately clarifies the preservation behavior for unrelated notes. This is distinguishable from sibling tools like edit_drum_pattern_clip because it explicitly describes planning rather than applying 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?

The description implies when to use the tool by describing the replacement scope, but it does not explicitly name alternatives such as plan_drum_pattern or edit_drum_pattern_clip, nor does it state when not to use it. The context is clear enough for basic selection but lacks direct usage routing.

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