Skip to main content
Glama

Keyshift Chord Transposer

Transpose chords

transpose_chords
Read-onlyIdempotent

Use this when you want to transpose chords or change the key of a song. Accepts a sheet up to 12,000 characters, chords above lyrics or ChordPro brackets; choose semitones -11 to +11, from_key with to_key, or capo_fret 0 to 9. Returns key change, chord mapping, widget sheet and a Latin-only Courier PDF. Chord names only; does not process audio, tablature or staff notation. Key estimates can be wrong for songs that change key.

Input Schema

NameRequiredDescriptionDefault
sheetYesChord sheet of 1 to 12,000 characters, with chords above lyrics or inline; for example C G\nLanterns glow, or [Am]Lantern [F]garden.
titleNoPDF title up to 80 Western Latin characters; for example Lantern Garden.
to_keyNoTarget key paired with from_key; for example from_key C and to_key F. Use this instead of semitones or capo_fret.
from_keyNoOrigin key; for example C or Am. Required with to_key; otherwise the header or first and last chords give a key estimate.
spellingNoChord spelling; for example auto follows the target key, while sharps forces F# instead of Gb for consistent round trips.
capo_fretNoCapo fret from 0 to 9; for example 2 returns shapes two semitones below the sounding key. Use this instead of semitones or to_key.
semitonesNoSigned shift from -11 to +11; for example 2 moves up two semitones. Give one transposition choice.

Output Schema

NameRequiredDescriptionDefault
capoYes
gapsYes
kindYes
modeYes
notesYes
in_keyYes
to_keyYes
from_keyYes
downloadsYes
semitonesYes
chord_countYes
chords_usedYes
lyric_linesYes
key_estimatedYes
unique_chord_countYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations declare a safe read-only, idempotent operation, and the description adds substantive context beyond that: the 12,000-character input ceiling, accepted chord formats, the return payload (key change, chord mapping, widget sheet, Latin-only Courier PDF), and a reliability caveat that key estimates fail on key-changing songs.

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?

Front-loaded with the use case, then constraints, then returns, then exclusions and the failure caveat — no filler sentences, and each clause carries a distinct constraint an agent would otherwise have to discover by trial.

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 7-parameter transform tool with a full schema and an output schema, the description covers the remaining gaps: input size, accepted notation styles, mutually exclusive transposition modes, unsupported inputs, and the known accuracy limitation. An agent can invoke it correctly without guessing.

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 a baseline of 3 applies; the description earns a bump by stating the mutual-exclusivity rule across semitones / from_key+to_key / capo_fret and restating the numeric ranges. It still leans on the schema for spelling behavior and title formatting.

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?

States a specific verb and resource ('transpose chords or change the key of a song') plus explicit scope boundaries — chord names only, no audio, tablature or staff notation. It does not name or contrast with the siblings find_capo_options and show_chord_sheet, so the differentiation is left to inference.

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?

'Use this when you want to transpose chords or change the key of a song' gives a clear trigger condition, and the description spells out the three mutually exclusive transposition routes (semitones, from_key+to_key, capo_fret). It stops short of routing the agent to find_capo_options when only capo shapes are wanted, so it lacks explicit alternatives.

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