King Crimson Discography MCP Server
About
An MCP server that surfaces King Crimson record and live-performance data — including a curated incarnation (line-up era) model that shows how each song belongs to specific eras of the band.
Details
- Author
- ytkoka
- Categories
- Other
Jump to
Setup
Install King Crimson Discography MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/ytkoka/king-crimson-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
An MCP server that surfaces King Crimson record and live-performance data — including a curated incarnation (line-up era) model that shows how each song belongs to specific eras of the band.
An MCP server that surfaces King Crimson record and live-performance data — including a curatedincarnation (line-up era) modelthat shows how each song belongs to specific eras of the band.
Generic MusicBrainz/Discogs MCP servers can already fetch releases, credits, and pressings. This server does that too, but adds two things a band-agnostic discography tool structurally can't have:
-
A cross-source integration layer keyed on MBID.MusicBrainz, Discogs, Cover Art Archive, and setlist.fm are stitched together so one release-group MBID gets you credits, physical editions, artwork, and live history without re-resolving identities per source.
A King Crimson incarnation model.King Crimson's line-up turned over almost completely, many times, over five decades — the same song can mean a totally different band depending on the year. This server hand-curates eight line-up eras and cross-references every tracked song's live-performance history against them:
A local, offline-first concert cache.Full concert history (1,200+ shows) is fetched once viarefresh_setlist_cacheand cached as JSON. Every subsequent song/tour/era query reads the cache — instant, and immune to setlist.fm's intermittent rate-limit failures during analysis.
Reverse lookup: song → the live albums that captured it, by era.Ask "which live releases containRed?" and get them grouped by incarnation. It cross-references two things this server already knows — when a song was played (from the setlist cache) and when each official live album was recorded (parsed from its title) — so it answers a question neither MusicBrainz nor Discogs answers directly.
ForRed, this surfaces 37 single-show live albums across the Discipline, THRAK, ProjeKcts and Three-drummer eras — and correctly showsnonefrom the 1974 line-up that recorded it, which never played it live (numbers as of this writing; MusicBrainz's catalog can grow).
Eight line-up eras, split on membership changes:
Boundaries are dates, not just years — 1972 in particular splits into the Islands-era "Earthbound" spring tour (Transitional) and the Wetton-era autumn tour (Larks' Tongues), since the band's membership genuinely changed mid-year.
Line-up eras are a matter of fan interpretation, and this is one reasonable cut, not the only one. The full definition lives inKING_CRIMSON_INCARNATIONSinsrc/king_crimson_mcp/server.py— edit it (members, key releases, date boundaries) to match your own view; the aggregation logic doesn't need to change.
"Which releases haveRedon them?" is answered in two complementary ways, because King Crimson's live catalog splits cleanly into single-show albums and multi-show compilations.
Single-show live albums, mapped to eras —song_live_releases
- refresh_setlist_cache— every show and what was played (already covered above).
- refresh_live_releases_cache— King Crimson's official live releases from MusicBrainz, with a recording date parsed out of each title where possible.
Both are one-time builds: the band's history is fixed, so neither cache needs to be rebuilt unless you want to pick up new MusicBrainz entries.
How it works:a song's performance dates come from the setlist cache; each live release carries a recording date parsed from its title (e.g. "Live in Toronto – June 24, 1974"). Where a release's recording date matches a date the song was played, that release is taken to contain the song. This is a straightforward, transparent rule — reliable for single-show live albums.
Known limits (by design):King Crimson has about 187 official live releases, of which only about 87 (as of this writing) have a title MusicBrainz-parseable into a full recording date — that's the rangesong_live_releasescan match with confidence. The other ~100 (box sets, compilations, titles without a date) can't be matched this way;song_live_releasesreports exactly how many were skipped in itscoveragefield rather than silently under-reporting. Excerpt compilations are an edge case too: a song played at a show can, in principle, be matched to that show's release even if the specific release is a highlights disc that omits the track — date-matching can't distinguish "recorded that night" from "included on the disc."
Box sets & compilations, listed —song_box_sets
The multi-show box sets and compilations thatsong_live_releasescan't date-match are covered here, from Discogs. It filters King Crimson's Discogs releases to compilations and box sets (format contains "Comp" or "Box" — which excludes single-show downloads) and lists the ones whose tracklist contains the song: title, year, format, Discogs link, and how many times the song appears on each.
Why no era grouping here:Discogs doesn't structure per-track recording dates, so a box set can't be split into eras the way single-show albums can.song_box_setsthereforeliststhe box sets containing a song rather than classifying them — era-level precision issong_live_releases's job. Together they cover both halves of the question.
Needs its own one-time cache: runrefresh_box_sets_cache(about a minute; ~38 box sets/compilations from Discogs, as of this writing). RequiresDISCOGS_TOKEN.
ForRed,song_box_setsreturns 14 box sets/compilations (the "Collectors' King Crimson" volumes, "1972–1974", the "2015 Japan Tour Box", …), whilesong_live_releaseshandles the single-show side.
The honesty of both tools' coverage reporting is the point: results are exactly as complete as the underlying data lets them be, and you (or the calling agent) can see where to dig further instead of getting a silently incomplete answer.
Three one-time steps, then it runs inside Claude.
uvis a small tool that can fetch and run this server for you.
- macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
Close and reopen your terminal afterward. To check it worked:
This server reads public music databases. Two of them need a free key:
- setlist.fm(live performance history) — apply for a key athttps://api.setlist.fm/docs/1.0/index.html
- Discogs(physical editions) — create a token at Discogs → Settings → Developers →Generate token
You also set acontact email(MCP_CONTACT) — MusicBrainz requires this so their servers know who's calling. Any email you own is fine.
(MusicBrainz and Cover Art Archive need no key.)
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:%APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "king-crimson": { "command": "uvx", "args": ["king-crimson-mcp"], "env": { "MCP_CONTACT": "you@example.com", "SETLISTFM_API_KEY": "your-setlistfm-key", "DISCOGS_TOKEN": "your-discogs-token" } } } }
Restart Claude Desktop. King Crimson tools will appear automatically — you don't run anything in a terminal yourself.
In Claude, ask something like"Refresh the King Crimson setlist cache"once (it downloads the full concert history, ~40 seconds). After that, try"Show me the performance history of Starless"or"Which incarnations played 21st Century Schizoid Man?"
- "uvx: command not found" / server won't start in Claude Desktop.uvisn't installed or isn't on your PATH. Redo Step 1, then fully quit and reopen Claude Desktop. On Windows you may need the full path touvxin thecommandfield.
- A warning appears if you run it manually in a terminal.Runninguvx king-crimson-mcpdirectly just waits silently for a client — that's normal (it speaks over stdin/stdout). You don't need to run it by hand; Claude Desktop starts and stops it for you. Press Ctrl+C to stop.
- get_editions/ setlist tools return an error about a missing key.That tool's API key isn't set in your config'senvblock. See Step 2.
- setlist data looks incomplete for older tours.setlist.fm is user-submitted; some historical shows or songs simply aren't logged there. This is a data limitation, not a bug.
For developers — the same package as Quick start above, without the Claude Desktop config:
# run directly without installing (recommended) uvx king-crimson-mcp # or install as a persistent tool pipx install king-crimson-mcp king-crimson-mcp
Secrets (MCP_CONTACT,DISCOGS_TOKEN,SETLISTFM_API_KEY) go either in a.envfile in the directory you run the command from, or directly in the Claude Desktop config'senvblock (see below) — either is read..envis loaded from the current working directory, since an installed package has no project directory of its own to keep one in.
# Python 3.10+ required (3.12 recommended) uv venv --python 3.12 source .venv/bin/activate uv pip install -e . # configure secrets cp .env.example .env # then edit .env
- MCP_CONTACT— required by MusicBrainz policy; identifies your app to their API via the User-Agent header.
- DISCOGS_TOKEN— needed forget_editions(Discogs personal access token).
- SETLISTFM_API_KEY— needed forget_live_history,refresh_setlist_cache, andsong_performance_history.
- KC_CACHE_DIR— optional; overrides where the setlist cache is written (see below).
# quick tool check via MCP Inspector mcp dev src/king_crimson_mcp/server.py
Runrefresh_setlist_cacheonce first — it fetches King Crimson's full concert history (~1,200 shows, ~40 seconds) and caches it locally under$XDG_CACHE_HOME/king-crimson-mcp(or~/.cache/king-crimson-mcp; override withKC_CACHE_DIR) assetlists_<artist_mbid>.json. After that,song_performance_historyreads from the cache and returns instantly.
Runrefresh_live_releases_cacheonce as well if you wantsong_live_releases— it writeslive_releases_<artist_mbid>.jsonalongside the setlist cache, in the same directory.refresh_box_sets_cachesimilarly writesbox_sets_<artist_mbid>.jsonthere, forsong_box_sets.
{ "mcpServers": { "king-crimson": { "command": "uvx", "args": ["king-crimson-mcp"], "env": { "MCP_CONTACT": "you@example.com", "DISCOGS_TOKEN": "...", "SETLISTFM_API_KEY": "..." } } } }
Or, running from a local clone instead (afteruv pip install -e ., which installs the sameking-crimson-mcpconsole script into the venv):
{ "mcpServers": { "king-crimson": { "command": "/absolute/path/to/.venv/bin/king-crimson-mcp", "env": { "MCP_CONTACT": "you@example.com" } } } }
Secrets can live in.env(in the directory the command is run from) instead of theenvblock — either is read.
This project is anunofficial clientwith no affiliation with or endorsement from MusicBrainz, the MetaBrainz Foundation, the Internet Archive, Discogs, or setlist.fm.
- MusicBrainz— free, no API key. Requires an identifying User-Agent with contact info (rate limit: 1 req/sec). Data is largely CC0; crediting MusicBrainz in your app is good practice.refresh_live_releases_cachealso uses this: it lists King Crimson's official live release groups (type=live) — no additional service or key involved.
- Cover Art Archive— a joint MusicBrainz / Internet Archive project. Images are contributed by individual uploaders; follow the same attribution etiquette as MusicBrainz.
- Discogs— requires a personal access token and a unique User-Agent (60 req/min authenticated). Use is subject to the Discogs API terms of service.song_box_setsuses the same Discogs API asget_editions(no additional service or key).
- setlist.fm— requires an API key (apply at api.setlist.fm).Any display of setlist.fm data must include an attribution link to the source setlist— every performance returned by this server includes itsurlfor exactly that purpose; surface it wherever you show the data. setlist.fm data is user-submitted, so completeness and accuracy are not guaranteed.
- setlist.fm data is user-submitted — some shows or songs may be missing or incorrect, especially from older tours.
- The incarnation boundaries are one interpretation of King Crimson's line-up history, not an official taxonomy.
- Performer credits depend on what MusicBrainz has cataloged for a given release; sparser releases yield sparser credits.
- song_live_releasescan only match live releases whose title yields a full recording date (about half of King Crimson's ~187 official live releases); seeSong → releasesabove for what's out of reach and why.
- song_box_setscan't classify box sets by incarnation — Discogs doesn't structure per-track recording dates, so it lists matching box sets/compilations rather than era-grouping them. A handful of the ~38 compilations it scans are multi-artist collections where King Crimson contributed only one track; these can surface as noise for very common song titles.
Transaction-complete hotel booking over MCP — 300K+ properties, real hotel confirmation numbers, loyalty points, secure checkout. Hotels are merchant of record. Builders set their own booking fee via Stripe Connect. Built on proven distribution infrastructure.
An MCP server for AI video generation. MCP server for AI video generation. Lets Claude, ChatGPT, OpenClaw , Hermes & other agents create AI videos and publish them to YouTube, TikTok, Instagram etc..
Institutional research and manager diligence reports on hedge funds, venture capital and private equity managers. Summary of filings, personnel changes, media screening and social signals delivered to you in minutes.
ALTER - identity infrastructure for the AI economy
D2C eCommerce fulfillment platform: manage orders, inventory, shipments, campaigns, and billing via AI agents
Apigene MCP Gateway is the runtime layer that connects AI agents to APIs and MCP servers via Model Context Protocol.
MCP to interface with multiple blockchains, staking, DeFi, swap, bridging, wallet management, DCA, Limit Orders, Coin Lookup, Tracking and more.
MCP server for Bitnovo Pay integration with AI agents. Provides cryptocurrency payment capabilities through Bitnovo Pay API. Features include payment creation, status checking, QR code generation, and webhook management with support for multiple tunnel providers (ngrok, zrok, manual).
Shop for gift cards, esims, phone topups. Pay with cards and crypto.
You built it, now get users! GoToMarket MCP server
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



