Skip to main content
Glama

Transpose

transpose
Destructive

Shift the notes of the draft by some semitones; the placement follows, and no note keeps a wrong pitch. A note no string of its track carries at its shifted pitch goes where notesOffTheNeck says: retune_lowest_string tunes the lowest string of the track down to the lowest of those it carries (4 semitones at most), then moves the others by octaves; change_octave moves each by the octaves that put it on the neck. A harmonic that rings in its own form at no shifted string goes where harmonicsOffTheNeck says: keep_harmonic keeps it a harmonic at the octave that holds it, play_fretted plays it as a fretted note at its pitch, losing the harmonic's timbre. By default the lowest string when it carries the notes with no octave, else octaves, and harmonics kept when an octave holds them; play_fretted when no harmonic leaves the neck changes nothing. A choice that cannot place the notes is refused, saying why and naming the one that can. The answer names each string tuned down (retunedStrings: track, string, from, to) and counts the notes moved by octaves (notesMovedByOctaves) and the harmonics played fretted (harmonicsPlayedFretted).

Input Schema

NameRequiredDescriptionDefault
draftYesThe draft: the id a previous tool gave (draft).
semitonesYesSemitones, -24 to 24.
notesOffTheNeckNoretune_lowest_string or change_octave (default the first when it carries the notes with no octave).
harmonicsOffTheNeckNokeep_harmonic or play_fretted (default the first when an octave holds the harmonic).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / harmonicsOffTheNeck
      Added value: +{
      +  "description": "keep_harmonic or play_fretted (default the first when an octave holds the harmonic).",
      +  "enum": [
      +    "keep_harmonic",
      +    "play_fretted"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / notesOffTheNeck
      Added value: +{
      +  "description": "retune_lowest_string or change_octave (default the first when it carries the notes with no octave).",
      +  "enum": [
      +    "retune_lowest_string",
      +    "change_octave"
      +  ],
      +  "type": "string"
      +}
  2. First observed

TDQS

A3.9/5.0
Behavior5/5

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

Annotations declare a destructive, non-read-only, non-idempotent mutation, and the description is consistent and far richer: it details displacement rules, the 4-semitone cap on retuning, harmonic handling, default choices, and explicit refusal behavior ('refused, saying why and naming the one that can'). This is deep behavioral disclosure that goes well beyond the annotation set.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The core action is front-loaded, but the remainder is a dense, run-on passage with convoluted constructions ('A note no string of its track carries at its shifted pitch goes where notesOffTheNeck says'). The content largely earns its place but the phrasing taxes comprehension and could be structured far more legibly.

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 4-parameter mutation tool with an output schema, the description covers defaults, refusal cases, and edge behavior comprehensively; the output field names it lists are redundant given the output schema. It leaves slightly unclear whether the source draft is mutated in place or a new draft produced, but is otherwise complete.

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 covers 100% of parameters, so the baseline is 3, but the description adds substantive meaning: it explains what retune_lowest_string (tune down at most 4 semitones, then octaves) and change_octave actually do, and likewise keep_harmonic vs play_fretted, which the enum labels alone do not convey. The added semantics exceed the schema text.

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: 'Shift the notes of the draft by some semitones,' which an agent can clearly distinguish from siblings like edit_measures, create_score, or refinger. It is unambiguous what the tool does, though it does not explicitly contrast itself against the neighboring edit tools.

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?

Usage is implied by the operation (use when you want to shift pitch by semitones) and the defaults for off-the-neck handling are spelled out, but there is no explicit when-to-use vs alternatives guidance or statement of prerequisites such as which draft ids are valid. The guidance is inferable rather than stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources