Skip to main content
Glama

cut_band

Lay down or re-cut a full four-track jam in one call—two double-tracked guitars, bass, and drums—replacing tracks from a set position or appending when replace=false.

Instructions

Lay down or re-cut a whole four-track jam in ONE call: two double-tracked guitars, a bass locked to them, and drums. The two guitars get different seeds automatically, so the width is two performances rather than a stereo copy. By default it REPLACES what is on those four tracks from position — pass replace=false to append instead. Every leg is attempted even if an earlier one fails, and the result reports each leg separately, so a partial cut says which tracks landed. MUTATES the project (undo-block wrapped). Refuses in ~0 s when the bridge heartbeat is dead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mapNoGuitar tuning map. Default argent_e.
bassNoBass track name. Default nolly-bass-library.
riffNoBuilt-in riff when bars_file is absent: 'demo' or 'probe'.
drumsNoDrum track name. Default rs-drums-monarch.
seedsNoSeeds for [guitar_l, guitar_r, bass]. Default [101, 202, 303].
tempoNoProject tempo override (BPM).
dry_runNoPreview: return what would run without changing the project.
replaceNoClear each track from `position` first. Default true.
drum_mapNoDrum-kit map name. Default 'RS Monarch'.
dsl_pathNoAbsolute path to the drum DSL. Default: the bundled examples/jam-e.dsl.
guitar_lNoLeft guitar track name. Default argent-l.
guitar_rNoRight guitar track name. Default argent-r.
positionNoSeconds from project start. Default 0 (bar 1).
bars_fileNoAbsolute path to a riff text file for all three string parts.
low_stringNoOverride the map's low-string MIDI note.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that the project is mutated, that the write is undo-block wrapped, that every leg is attempted even after a failure, and that a dead bridge heartbeat causes a near-instant refusal. It does not state permission/auth requirements, which is the main remaining gap.

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?

Five sentences, each load-bearing, with the core action front-loaded and the destructive default surfaced immediately after. No filler or repetition of the field list already in 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 15-parameter, no-output-schema mutation tool the description is nearly complete: it covers mutation safety, the destructive default, partial failure semantics, and how results are reported per leg. It leaves dry_run's preview behavior and tempo/low_string interactions 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 genuine meaning beyond the schema: it explains the seeds array is split across [guitar_l, guitar_r, bass] so the stereo width comes from two performances, and it re-states the replace default and position anchor in operational terms. That is real semantic value on top of the schema text.

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 compound action ('lay down or re-cut a whole four-track jam') and enumerates exactly what it produces: two double-tracked guitars, a locked bass, and drums. The scope is precise enough to separate it from single-part siblings like insert_riff or insert_groove 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?

Gives real when-to-use context: by default it REPLACES the four tracks from `position`, and the caller passes replace=false to append instead. It also notes the two guitars get distinct seeds so width is two performances. It stops short of naming alternative sibling tools (e.g. insert_riff, insert_groove) for single-part work.

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