Skip to main content
Glama

create_chord_progression

Play chord progressions as pads, staccato stabs, arpeggios, or power chords, with tempo, octave, repeats, volume, synth, and effects controls.

Instructions

Play a chord progression as sustained pads, rhythmic stabs (staccato), 8th-note arpeggios or power chords.

Understands major, m, 5, 6, m6, 7, maj7, m7, mmaj7, m7b5, dim, dim7, aug, sus2, sus4, 7sus4, 9, maj9, m9, add9, madd9, add11 and slash chords such as C/E.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "create_chord_progression"
  }
}

Input Schema

NameRequiredDescriptionDefault
styleNopad
synthNoOverride the style's default synth
tempoNoBeats per minute
octaveNoOctave of the chord roots
volumeNoLoudness, 0..1
effectsNoOptional effect chain
repeatsNo
progressionNoChord symbols separated by dashes or spaces, e.g. 'Cmaj7-Am7-Dm7-G7' or 'C G/B Am F'C-G-Am-F
duration_per_chordNoLength of each chord in beats

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare this is not read-only, not idempotent, and not destructive, so the safety profile is covered. The description adds musical behavior (which styles exist and which chord qualities are accepted), but says nothing about playback being immediate, whether repeated calls layer on top of each other, or how the tool relates to stop_all — meaningful for a sound-emitting 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?

The core purpose and the styles are front-loaded in one sentence, with the chord vocabulary following as supporting detail. The long chord-quality list is dense but each item is informative; nothing is redundant 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?

An output schema exists, so return values need no explanation, and most parameters are documented in the schema itself. However, for a nine-parameter audio tool with siblings, the description omits playback/concurrency behavior and any routing guidance, leaving notable 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%, so the schema carries most of the load, but the description genuinely adds meaning the schema lacks: it translates the opaque style enum values into concrete musical textures (pad, staccato stabs, 8th-note arpeggio, power chord) and enumerates the supported chord vocabulary far beyond the schema's single example string.

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?

Opens with a specific verb+resource ('Play a chord progression') and immediately enumerates the four playback styles, so the agent knows exactly what sound is produced. It does not distinguish itself from siblings like play_melody or create_sequence, 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?

There is no statement of when to choose this over play_melody, create_sequence, or create_layered_synth, and no prerequisites or exclusions. The only cue is implicit: that it is for chord progressions rather than single lines.

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