Guitar chords from frets, chord shapes, transposing, capo, scales, song keys and practice plans.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Works out where to put a capo. Give the key you want to sound in (for example to match a singer or a recording) and, optionally, the open-chord key you want to play shapes in. Returns the capo fret, or the easy options if no shape key is given.
The key the music should sound in, e.g. "Bb", "F# minor".
Optional. The key whose open chord shapes you want to play, e.g. "G" or "Em".
Works out where to put a capo. Give the key you want to sound in (for example to match a singer or a recording) and, optionally, the open-chord key you want to play shapes in. Returns the capo fret, or the easy options if no shape key is given.
| Argument | Type | Description |
|---|---|---|
| shape_key | string | Optional. The key whose open chord shapes you want to play, e.g. "G" or "Em". |
| sounding_key* | string | The key the music should sound in, e.g. "Bb", "F# minor". |
{
"type": "object",
"required": [
"sounding_key"
],
"properties": {
"shape_key": {
"type": "string",
"description": "Optional. The key whose open chord shapes you want to play, e.g. \"G\" or \"Em\"."
},
"sounding_key": {
"type": "string",
"description": "The key the music should sound in, e.g. \"Bb\", \"F# minor\"."
}
},
"additionalProperties": false
}Works out the most likely key of a song from its chord progression, gives each chord its Roman numeral, lists the other chords that belong to the key, and suggests which scale to solo with.
| Argument | Type | Description |
|---|---|---|
| chords* | string | The chords in order, e.g. "G D Em C" or "Am F C G". |
{
"type": "object",
"required": [
"chords"
],
"properties": {
"chords": {
"type": "string",
"description": "The chords in order, e.g. \"G D Em C\" or \"Am F C G\"."
}
},
"additionalProperties": false
}Finds songs a guitarist can play with the chords they already know, from Fretwork's free library of 87 public-domain folk, gospel, blues, campfire and Christmas songs. Each song has chords, key, time signature, level and a free play-along page. Can also list songs that need just one or two new chords.
| Argument | Type | Description |
|---|---|---|
| level | string | Filter by level (default any). |
| chords_known* | string | Chords the player can already play, e.g. "G C D Em". |
| max_new_chords | integer | Also include songs needing up to this many extra chords (default 0). |
| time_signature | string | Filter by time signature (default any). |
{
"type": "object",
"required": [
"chords_known"
],
"properties": {
"level": {
"enum": [
"any",
"Easy",
"Improver",
"Harder"
],
"type": "string",
"description": "Filter by level (default any)."
},
"chords_known": {
"type": "string",
"description": "Chords the player can already play, e.g. \"G C D Em\"."
},
"max_new_chords": {
"type": "integer",
"maximum": 2,
"minimum": 0,
"description": "Also include songs needing up to this many extra chords (default 0)."
},
"time_signature": {
"enum": [
"any",
"4/4",
"3/4",
"6/8"
],
"type": "string",
"description": "Filter by time signature (default any)."
}
},
"additionalProperties": false
}Returns playable guitar shapes for a chord name (open position and movable barre shapes), with frets, fingering where known, the notes in the chord and a text chord diagram. Handles major, minor, 7, maj7, m7, sus2, sus4, add9, 6, m6, 9, dim, m7b5, dim7, aug, power chords and slash chords such as G/B.
| Argument | Type | Description |
|---|---|---|
| chord* | string | Chord name, for example "F", "Bm", "F#m7", "Cadd9", "Bbmaj7", "G/B", "E5". |
{
"type": "object",
"required": [
"chord"
],
"properties": {
"chord": {
"type": "string",
"description": "Chord name, for example \"F\", \"Bm\", \"F#m7\", \"Cadd9\", \"Bbmaj7\", \"G/B\", \"E5\"."
}
},
"additionalProperties": false
}Gives the notes of a scale in any key and where they fall on the guitar fretboard (standard tuning), string by string, with root notes marked. Scales: major, natural minor, harmonic minor, melodic minor, the seven modes (dorian, phrygian, lydian, mixolydian, locrian), minor pentatonic, major pentatonic, blues and major blues.
| Argument | Type | Description |
|---|---|---|
| root* | string | Key note, e.g. "A", "F#", "Bb". |
| scale* | string | Scale type, e.g. "minor pentatonic", "major", "blues", "dorian". |
| to_fret | integer | Highest fret to show (default 12). |
| from_fret | integer | Lowest fret to show (default 0). |
{
"type": "object",
"required": [
"root",
"scale"
],
"properties": {
"root": {
"type": "string",
"description": "Key note, e.g. \"A\", \"F#\", \"Bb\"."
},
"scale": {
"type": "string",
"description": "Scale type, e.g. \"minor pentatonic\", \"major\", \"blues\", \"dorian\"."
},
"to_fret": {
"type": "integer",
"maximum": 24,
"minimum": 1,
"description": "Highest fret to show (default 12)."
},
"from_fret": {
"type": "integer",
"maximum": 20,
"minimum": 0,
"description": "Lowest fret to show (default 0)."
}
},
"additionalProperties": false
}A quick self-assessment that places a guitarist on Fretwork's 10-stage learning path (Stage 0 Getting Started to Stage 9 Artistry) from yes/no answers to up to nine questions about what they can already play, and says what to learn next. The questions build on each other, so answers are read in order up to the first "no". Called with no answers, it returns the nine questions.
| Argument | Type | Description |
|---|---|---|
| play_the_changes | boolean | Can you solo over a progression and target the chord tones as the chords change? |
| tune_and_clean_notes | boolean | Can you tune the guitar and play a clean note on every string? |
| change_chords_in_time | boolean | Can you change between basic open chords (like G, C, D, Em) in time and play a whole simple song? |
| transcribe_and_tension | boolean | Can you transcribe a full solo and improvise with tension and release? |
| bends_vibrato_full_solo | boolean | Can you play a solo with in-tune bends, vibrato and clear phrases? |
| riff_blues_and_short_solo | boolean | Can you play a riff, a 12-bar blues and a short solo of your own? |
| barre_chords_and_16th_groove |
Names the chord a guitarist is holding from the fret on each string (standard tuning), lists its notes and returns a chord diagram. Use when someone asks "what chord is this?" and gives frets like x32010, 3-2-0-0-0-3 or "0 2 2 1 0 0" (low E string first; x = muted string).
| Argument | Type | Description |
|---|---|---|
| frets* | string | Six frets from the low E string to the high e string. Use x for a muted string, 0 for open. Examples: "x32010", "3 2 0 0 0 3", "8-10-10-9-8-8". |
{
"type": "object",
"required": [
"frets"
],
"properties": {
"frets": {
"type": "string",
"description": "Six frets from the low E string to the high e string. Use x for a muted string, 0 for open. Examples: \"x32010\", \"3 2 0 0 0 3\", \"8-10-10-9-8-8\"."
}
},
"additionalProperties": false
}Builds a daily guitar practice routine and a 4-week focus plan sized to the player's level, the minutes they have each day and their goal (songs, strumming, fingerpicking, lead, barre chords, theory or general). Uses Fretwork's 10-stage curriculum, where stage 0 is for someone who has never played.
| Argument | Type | Description |
|---|---|---|
| goal | string | Main goal (default general). |
| stage | integer | Fretwork stage 0–9 (0 = never played, 1 = first chords, 2 = rhythm & songs, 3 = riffs & first solos, 4 = barre chords, 5 = scales & keys, 6 = lead guitar, 7–9 = advanced). |
| days_per_week | integer | Practice days per week (default 5). |
| minutes_per_day | integer | Practice minutes per day (default 20). |
{
"type": "object",
"properties": {
"goal": {
"enum": [
"general",
"songs",
"strumming",
"fingerpicking",
"lead",
"barre_chords",
"theory"
],
"type": "string",
"description": "Main goal (default general)."
},
"stage": {
"type": "integer",
"maximum": 9,
"minimum": 0,
"description": "Fretwork stage 0–9 (0 = never played, 1 = first chords, 2 = rhythm & songs, 3 = riffs & first solos, 4 = barre chords, 5 = scales & keys, 6 = lead guitar, 7–9 = advanced)."
},
"days_per_week": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "Practice days per week (default 5)."
},
"minutes_per_day": {
"type": "integer",
"maximum": 120,
"minimum": 10,
"description": "Practice minutes per day (default 20)."
}
},
"additionalProperties": false
}Moves a song's chords to a new key. Accepts a chord list, a chord chart with lyrics (chord lines are transposed, lyric lines are kept), or inline [C] chords. Give either from_key and to_key, or a number of semitones. Also suggests capo positions that let the guitarist keep easy open shapes in the new key.
| Argument | Type | Description |
|---|---|---|
| text* | string | The chords or chord chart, e.g. "G D Em C" or a chart with chord lines above lyrics. |
| to_key | string | Target key, e.g. "Bb" or "C minor". |
| from_key | string | Current key, e.g. "G" or "A minor". Optional if semitones is given; if missing, the first chord is used. |
| spelling | string | Accidentals for the result. auto follows the target key. |
| semitones | integer | Semitones to move (+ up, - down). Used when to_key is not given. |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"description": "The chords or chord chart, e.g. \"G D Em C\" or a chart with chord lines above lyrics."
},
"to_key": {
"type": "string",
"description": "Target key, e.g. \"Bb\" or \"C minor\"."
},
"from_key": {
"type": "string",
"description": "Current key, e.g. \"G\" or \"A minor\". Optional if semitones is given; if missing, the first chord is used."
},
"spelling": {
"enum": [
"auto",
"sharps",
"flats"
],
"type": "string",
"description": "Accidentals for the result. auto follows the target key."
},
"semitones": {
"type": "integer",
"maximum": 11,
"minimum": -11,
"description": "Semitones to move (+ up, - down). Used when to_key is not given."
}
},
"additionalProperties": false
}| boolean |
| Can you play any major or minor barre chord and hold a 16th-note strumming groove? |
| four_chord_song_with_pattern | boolean | Can you play a four-chord song start to finish with a strumming pattern? |
| keys_and_pentatonic_anywhere | boolean | Can you name the chords in any key and solo with the pentatonic scale anywhere on the neck? |
{
"type": "object",
"properties": {
"play_the_changes": {
"type": "boolean",
"description": "Can you solo over a progression and target the chord tones as the chords change?"
},
"tune_and_clean_notes": {
"type": "boolean",
"description": "Can you tune the guitar and play a clean note on every string?"
},
"change_chords_in_time": {
"type": "boolean",
"description": "Can you change between basic open chords (like G, C, D, Em) in time and play a whole simple song?"
},
"transcribe_and_tension": {
"type": "boolean",
"description": "Can you transcribe a full solo and improvise with tension and release?"
},
"bends_vibrato_full_solo": {
"type": "boolean",
"description": "Can you play a solo with in-tune bends, vibrato and clear phrases?"
},
"riff_blues_and_short_solo": {
"type": "boolean",
"description": "Can you play a riff, a 12-bar blues and a short solo of your own?"
},
"barre_chords_and_16th_groove": {
"type": "boolean",
"description": "Can you play any major or minor barre chord and hold a 16th-note strumming groove?"
},
"four_chord_song_with_pattern": {
"type": "boolean",
"description": "Can you play a four-chord song start to finish with a strumming pattern?"
},
"keys_and_pentatonic_anywhere": {
"type": "boolean",
"description": "Can you name the chords in any key and solo with the pentatonic scale anywhere on the neck?"
}
},
"additionalProperties": false
}