Skip to main content
Glama

create_song_patch

Create a new MainStage song patch with selected library sounds, tempo, time signature, and mixer settings for building or editing concerts.

Instructions

Create a new patch for a song with sounds from the library, tempo, time signature and mixer settings.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "concert": "<concert>",
      "name": "<name>",
      "channels": "<channels>"
    },
    "name": "create_song_patch"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesPatch name, usually the song title
tempoNoTempo in BPM
concertYesConcert name or path
channelsYesChannel strips (sounds) of the patch
positionNo0-based position in the patch list; default: end
transposeNoPatch transpose in semitones
wait_secondsNoWait up to this long for the user to close the concert
time_signatureNoe.g. [4, 4] or [6, 8]

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden, and it says nothing about side effects: whether the target concert must be open and foreground (the schema's wait_seconds hints at this), whether the patch is persisted immediately, what happens on name collision, or whether the operation is reversible. For a creation/mutation tool with zero annotation coverage, this is a substantial gap. It does at least confirm the tool writes a new patch rather than editing one, so it is not a 1.

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 verb and resource. It is efficient, though the trailing field list is somewhat redundant with the schema and the sentence could have spent those words on prerequisites instead.

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 creation tool with a nested channel object, no annotations, and no output schema, the description covers the what but not the how or the consequences. Parameter documentation is handled by the schema, which keeps this at a minimum-viable 3, but an agent still lacks the operational context (open concert requirement, positioning behavior, failure modes) needed to invoke it 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 every parameter, including the nested ChannelSpec fields, is already documented in structured form; baseline 3 applies. The description's phrase 'mixer settings' loosely maps to volume/pan on channels but adds no syntax or format detail beyond the schema, and it never mentions concert, position, transpose, or wait_seconds. It neither compensates for nor undermines 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 states a specific verb and resource ('Create a new patch for a song') and enumerates the content it carries: library sounds, tempo, time signature, mixer settings. That is enough to distinguish it from read-side siblings such as get_patch and list_patches without opening the schema. It stops short of naming any sibling 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 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 an open concert, and no pointer to alternatives like set_patch_settings for modifying an existing patch. The only implicit signal is 'sounds from the library', which hints that sound names must come from a prior library search. That is not explicit guidance.

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