Skip to main content
Glama
romanstark

Dorico Maestro

transpose

Shift selected notes up or down by semitone, diatonic step, or octave, directly altering their pitches in the score.

Instructions

Transpose currently selected notes up or down in the score.

Directly modifies the score by altering the pitches of the current selection
in place. Relative and repeatable: calling it twice moves the selection twice
as far, with no absolute target pitch.

Returns:
    Result dictionary with the command outcome and the catalog row
    registry_status.

Note:
    When to use: Shift existing selected notes by semitone, diatonic step,
    or octave intervals.
    When NOT to use: Do not use to enter new music (use write_score or
    add_notes). Do not use to change key signatures (use set_key_signature).

    Operates strictly on the active selection (reads are selection-only). If
    nothing is selected, Dorico ignores the command and no notes are modified;
    make a selection first or place the caret via goto_bar.

    Parameters: direction sets shift orientation ('up'/'down'). chromatic
    shifts by exact semitone when True or diatonically when False. octave=True
    overrides chromatic and shifts by a full octave.

    Maps to NoteEdit.Pitch{Up,Down}[Chromatic|Octave]. Read registry_status in
    the returned result and verify the change in the score or via playback.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
octaveNoTrue shifts by a full octave (12 semitones or 8 diatonic steps) and overrides chromatic, which is then ignored.
chromaticNoTrue steps by an exact chromatic semitone. False steps diatonically within the current key signature, so the interval varies by scale degree.
directionYesWhich way to shift pitch: 'up' moves higher, 'down' moves lower.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / chromatic / description
      Previous value: -"True steps by a chromatic semitone. False steps diatonically, staying inside the key, so the interval depends on the note."New value: +"True steps by an exact chromatic semitone. False steps diatonically within the current key signature, so the interval varies by scale degree."
    • changedInput schema / properties / direction / description
      Previous value: -"Which way to move the pitch: up or down."New value: +"Which way to shift pitch: 'up' moves higher, 'down' moves lower."
    • changedInput schema / properties / octave / description
      Previous value: -"True moves by a whole octave and overrides chromatic, which is then not read at all."New value: +"True shifts by a full octave (12 semitones or 8 diatonic steps) and overrides chromatic, which is then ignored."
  2. Changed3 schema fields changedv0.1.2
    • addedInput schema / properties / chromatic / description
      Added value: +"True steps by a chromatic semitone. False steps diatonically, staying inside the key, so the interval depends on the note."
    • addedInput schema / properties / direction / description
      Added value: +"Which way to move the pitch: up or down."
    • addedInput schema / properties / octave / description
      Added value: +"True moves by a whole octave and overrides chromatic, which is then not read at all."
  3. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

The annotations only provide minimal hints (readOnly=false, destructive=false, idempotent=false). The description adds critical behavior: it modifies the score in place, is relative and repeatable, is a no-op with no selection, and tells the agent to verify via registry_status and the score/playback.

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 description is structured clearly: purpose first, then returns, then when/when-not, then behavior and parameters. It is longer than minimal, but each section carries useful guidance; only the 'Maps to CommandNote.Pitch...' line is mildly internal and less essential.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with selection-dependent, relative, repeatable behavior and no rich annotations, the description covers the preconditions, failure mode, parameter behavior, and verification steps. Since an output schema exists, not explaining the return dictionary in detail is acceptable.

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?

The schema has 100% coverage and already fully documents direction, chromatic, and octave semantics, including the override behavior. The description essentially restates these facts ('direction sets shift orientation', 'octave=True overrides chromatic') without adding meaning beyond the schema, so a baseline 3 is appropriate.

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 opens with 'Transpose currently selected notes up or down in the score,' a specific verb plus resource. It also differentiates from siblings by stating what the tool is not for: entry music (write_score/add_notes) and key signature changes (set_key_signature).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

An explicit 'When to use' block says to shift selected notes by semitone, diatonic step, or octave intervals, and a 'When NOT to use' block names the alternative tools. It also explains the no-selection case and directs the agent to make a selection or use goto_bar.

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