Fretwork Guitar Tools
Guitar chords from frets, chord shapes, transposing, capo, scales, song keys and practice plans.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"fretwork": {
"url": "https://mcp.guitarfretwork.com/mcp"
}
}
}远程端点
https://mcp.guitarfretwork.com/mcpstreamable-http它能做什么
工具清单
工具(9)
🟢identify_chord(frets)
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).
输入模式
{
"type": "object",
"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\"."
}
},
"required": [
"frets"
],
"additionalProperties": false
}🟢get_chord_shapes(chord)
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.
输入模式
{
"type": "object",
"properties": {
"chord": {
"type": "string",
"description": "Chord name, for example \"F\", \"Bm\", \"F#m7\", \"Cadd9\", \"Bbmaj7\", \"G/B\", \"E5\"."
}
},
"required": [
"chord"
],
"additionalProperties": false
}🟢transpose_chords(text, from_key, to_key, semitones, spelling)
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.
输入模式
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The chords or chord chart, e.g. \"G D Em C\" or a chart with chord lines above lyrics."
},
"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."
},
"to_key": {
"type": "string",
"description": "Target key, e.g. \"Bb\" or \"C minor\"."
},
"semitones": {
"type": "integer",
"minimum": -11,
"maximum": 11,
"description": "Semitones to move (+ up, - down). Used when to_key is not given."
},
"spelling": {
"type": "string",
"enum": [
"auto",
"sharps",
"flats"
],
"description": "Accidentals for the result. auto follows the target key."
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢find_capo(sounding_key, shape_key)
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.
输入模式
{
"type": "object",
"properties": {
"sounding_key": {
"type": "string",
"description": "The key the music should sound in, e.g. \"Bb\", \"F# minor\"."
},
"shape_key": {
"type": "string",
"description": "Optional. The key whose open chord shapes you want to play, e.g. \"G\" or \"Em\"."
}
},
"required": [
"sounding_key"
],
"additionalProperties": false
}🟢get_scale(root, scale, from_fret, to_fret)
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.
输入模式
{
"type": "object",
"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\"."
},
"from_fret": {
"type": "integer",
"minimum": 0,
"maximum": 20,
"description": "Lowest fret to show (default 0)."
},
"to_fret": {
"type": "integer",
"minimum": 1,
"maximum": 24,
"description": "Highest fret to show (default 12)."
}
},
"required": [
"root",
"scale"
],
"additionalProperties": false
}🟢find_key(chords)
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.
输入模式
{
"type": "object",
"properties": {
"chords": {
"type": "string",
"description": "The chords in order, e.g. \"G D Em C\" or \"Am F C G\"."
}
},
"required": [
"chords"
],
"additionalProperties": false
}🟢find_songs(chords_known, max_new_chords, level, time_signature)
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.
输入模式
{
"type": "object",
"properties": {
"chords_known": {
"type": "string",
"description": "Chords the player can already play, e.g. \"G C D Em\"."
},
"max_new_chords": {
"type": "integer",
"minimum": 0,
"maximum": 2,
"description": "Also include songs needing up to this many extra chords (default 0)."
},
"level": {
"type": "string",
"enum": [
"any",
"Easy",
"Improver",
"Harder"
],
"description": "Filter by level (default any)."
},
"time_signature": {
"type": "string",
"enum": [
"any",
"4/4",
"3/4",
"6/8"
],
"description": "Filter by time signature (default any)."
}
},
"required": [
"chords_known"
],
"additionalProperties": false
}🟢guitar_level_check(tune_and_clean_notes, change_chords_in_time, four_chord_song_with_pattern, riff_blues_and_short_solo, barre_chords_and_16th_groove, ...)
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.
输入模式
{
"type": "object",
"properties": {
"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?"
},
"four_chord_song_with_pattern": {
"type": "boolean",
"description": "Can you play a four-chord song start to finish with a strumming pattern?"
},
"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?"
},
"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?"
},
"bends_vibrato_full_solo": {
"type": "boolean",
"description": "Can you play a solo with in-tune bends, vibrato and clear phrases?"
},
"play_the_changes": {
"type": "boolean",
"description": "Can you solo over a progression and target the chord tones as the chords change?"
},
"transcribe_and_tension": {
"type": "boolean",
"description": "Can you transcribe a full solo and improvise with tension and release?"
}
},
"additionalProperties": false
}🟢make_practice_plan(stage, minutes_per_day, days_per_week, goal)
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.
输入模式
{
"type": "object",
"properties": {
"stage": {
"type": "integer",
"minimum": 0,
"maximum": 9,
"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)."
},
"minutes_per_day": {
"type": "integer",
"minimum": 10,
"maximum": 120,
"description": "Practice minutes per day (default 20)."
},
"days_per_week": {
"type": "integer",
"minimum": 1,
"maximum": 7,
"description": "Practice days per week (default 5)."
},
"goal": {
"type": "string",
"enum": [
"general",
"songs",
"strumming",
"fingerpicking",
"lead",
"barre_chords",
"theory"
],
"description": "Main goal (default general)."
}
},
"additionalProperties": false
}社区
证据