MCP Server
String Warrior publishes a Model Context Protocol server at stringwarrior.com/mcp — nine tools an LLM client can call for real fret numbers, scale formulas and tunings instead of guessing. Read-only, no account, no API key: point a client at the URL below and go.
Install
The endpoint is https://stringwarrior.com/mcp over Streamable HTTP. Two ways to add it:
Cursor
Add this to .cursor/mcp.json (project) or your global Cursor MCP settings:
{
"mcpServers": {
"stringwarrior": {
"url": "https://stringwarrior.com/mcp"
}
}
} Claude Desktop
Settings → Connectors → Add custom connector, then paste https://stringwarrior.com/mcp as the URL.
Tools (v1)
Nine tools, all read-only. Every response that names a String Warrior page includes its canonical URL, so a client can cite the source.
list_instruments— every instrument this server has data for, with its tuning and a link to its chord library.list_chord_qualities— the chord qualities one instrument actually voices (major, m7, dom7, sus4, add9, …).list_scale_types— all 24 scale types, with category and interval formula.get_tuning— one instrument's open-string tuning.get_chord— every voicing for one chord on one instrument: frets, base fret, CAGED shape, and the actual notes/intervals that voicing sounds.get_scale— one scale's notes and degree-spelled interval formula in a given key.transpose_chord— shift one chord symbol by N semitones.transpose_progression— shift a whole progression from one key to another.get_page_url— build and check the canonical URL for a chord, scale or instrument page, so a client can cite (or verify) a source without guessing at path spelling.
Chord and scale data is read live from the same modules that render the chord library and the scale library — nothing here is a separately maintained copy that could drift from what the site itself publishes.
Example
Ask your client something like “what's an F#m7 chord on guitar, and what scale fits over it?” and it can call get_chord and get_scale instead of recalling fret numbers from training data — then cite the url each response returns.
What this is not
- Not a chat interface. There is no assistant behind this URL — it answers structured tool calls from an LLM client that supplies its own model.
- Not authenticated and not for personalization — every call is stateless and the same for every caller.
- Not a generic music API — the tool catalog is scoped to data this site already owns and publishes as pages.