Fretwork MCP
An MCP server providing guitar tools for AI assistants, including identifying chords from fret positions, retrieving chord shapes and diagrams, transposing chords, finding capo positions, locating scales on the fretboard, determining song keys, finding playable songs, checking guitar levels, and generating practice plans.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.guitarfretwork.com/mcpWhat you can do with it
- Identify chords from fret positions
- Get chord shapes and diagrams
- Transpose chords to new keys
- Generate daily practice plans
Source and maintenance
Protocol and capabilities
- Server
- fretwork 1.0.1
- MCP protocol
- 2025-06-18
- Tools
- 9 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
9 advertised
identify_chord — Identify a guitar chord
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",
"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
}{
"title": "Identify a guitar chord",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_chord_shapes — Show how to play a guitar 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",
"required": [
"chord"
],
"properties": {
"chord": {
"type": "string",
"description": "Chord name, for example \"F\", \"Bm\", \"F#m7\", \"Cadd9\", \"Bbmaj7\", \"G/B\", \"E5\"."
}
},
"additionalProperties": false
}{
"title": "Show how to play a guitar chord",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}transpose_chords — Transpose guitar chords to a new key
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",
"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
}{
"title": "Transpose guitar chords to a new key",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_capo — Find the capo position for a 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",
"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
}{
"title": "Find the capo position for a key",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_scale — Show a guitar scale on the fretboard
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",
"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
}{
"title": "Show a guitar scale on the fretboard",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_key — Find the key of a song from its 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",
"required": [
"chords"
],
"properties": {
"chords": {
"type": "string",
"description": "The chords in order, e.g. \"G D Em C\" or \"Am F C G\"."
}
},
"additionalProperties": false
}{
"title": "Find the key of a song from its chords",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}find_songs — Find songs to play with the chords you know
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",
"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
}{
"title": "Find songs to play with the chords you know",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}guitar_level_check — Check a guitarist's level
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": {
"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
}{
"title": "Check a guitarist's level",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}make_practice_plan — Make a guitar practice plan
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": {
"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
}{
"title": "Make a guitar practice plan",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 241 ms
- 95th percentile latency
- 241 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 241 ms · metadata changed · 9 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http fretwork-mcp https://mcp.guitarfretwork.com/mcpCodex
codex mcp add fretwork-mcp --url https://mcp.guitarfretwork.com/mcpCursor
{
"mcpServers": {
"fretwork-mcp": {
"url": "https://mcp.guitarfretwork.com/mcp"
}
}
}Cline
{
"mcpServers": {
"fretwork-mcp": {
"type": "streamableHttp",
"url": "https://mcp.guitarfretwork.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"fretwork-mcp": {
"type": "http",
"url": "https://mcp.guitarfretwork.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http fretwork-mcp https://mcp.guitarfretwork.com/mcpClaude Desktop
{
"mcpServers": {
"fretwork-mcp": {
"url": "https://mcp.guitarfretwork.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"fretwork-mcp": {
"serverUrl": "https://mcp.guitarfretwork.com/mcp"
}
}
}Let your agent find its tools
Find servers like Fretwork MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Fretwork MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.