king-crimson-mcp
Retrieves physical pressings, reissues, and edition details from Discogs.
Provides album search and per-track performer/production credits via MusicBrainz, keyed on MBID.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@king-crimson-mcpWhat incarnation does Elephant Talk belong to?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
King Crimson Discography MCP Server
日本語版: README.ja.md
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.
What makes this different
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:
Song
Incarnations it appears in
"21st Century Schizoid Man"
Spread across every era — the band's signature
"Starless"
Only the Larks' Tongues era and the Three-drummer era
"Elephant Talk"
Born in the Discipline era, gone by the Three-drummer era
A local, offline-first concert cache. Full concert history (1,200+ shows) is fetched once via
refresh_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.
Related MCP server: spotify-mcp
Tools
Tool | Description |
| MusicBrainz album search → MBIDs |
| Per-track performer/production credits, resolved at the recording level, plus a deduplicated album roster |
| Physical pressings/reissues via Discogs, preferring the exact MusicBrainz→Discogs relation over fuzzy search |
| Cover art via the Cover Art Archive |
| One-page setlist.fm search by venue/city/year (no cache needed) |
| Fetch and cache an artist's complete concert history from setlist.fm |
| A song's live history from the cache: |
| The curated line-up eras — members, instruments, key releases |
The incarnation model
Eight line-up eras, split on membership changes:
id | Era | Years |
| In the Court era | 1969 |
| Transitional era | 1970 – Sep 1972 |
| Larks' Tongues era | Oct 1972 – 1974 |
| Discipline era | 1981 – 1984 |
| Double Trio / THRAK era | 1994 – 1996 |
| ProjeKcts / Nuovo Metal era | 1997 – 2003 |
| 40th Anniversary era | 2008 |
| Three-drummer era | 2014 – 2021 |
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 in KING_CRIMSON_INCARNATIONS in king_crimson_mcp.py — edit it (members, key releases, date boundaries) to match your own view; the aggregation logic doesn't need to change.
Setup
# Python 3.10+ required (3.12 recommended)
uv venv --python 3.12
source .venv/bin/activate
uv pip install -r requirements.txt
# configure secrets
cp .env.example .env
# then edit .env.env variables:
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.
The server loads .env directly from its own directory at startup, so it works regardless of which shell environment launches it (notably: MCP Inspector does not forward its own shell's environment variables to the server process it spawns).
Running
# quick tool check via MCP Inspector
mcp dev king_crimson_mcp.pyRun refresh_setlist_cache once first — it fetches King Crimson's full concert history (~1,200 shows, ~40 seconds) and caches it locally. After that, song_performance_history reads from the cache and returns instantly.
Register with Claude Desktop
{
"mcpServers": {
"king-crimson": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["/absolute/path/to/king_crimson_mcp.py"],
"env": { "MCP_CONTACT": "you@example.com" }
}
}
}Secrets can live in .env next to the script, or in the env block above — either is read.
Data sources & attribution
This project is an unofficial client with 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.
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.
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 its
urlfor exactly that purpose; surface it wherever you show the data. setlist.fm data is user-submitted, so completeness and accuracy are not guaranteed.
Limitations
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.
License
MIT — see LICENSE.
This server cannot be installed
Maintenance
Related MCP Servers
- Alicense-qualityCmaintenanceAn MCP server for Spotify control and synchronized lyrics retrieval that enables playback management, queue navigation, and music search capabilities. It also features perception tools for real-time track analysis, including BPM, key detection, and timestamped lyrics.933Apache 2.0
- AlicenseCqualityDmaintenanceThis is a 93-tool Spotify MCP server for Claude, Cursor, and any MCP client. Smart shuffle, vibe analysis, natural language search, artist networks, and more.937MIT
- Alicense-qualityAmaintenanceA powerful Model Context Protocol (MCP) server that enables AI assistants to interact with your personal Discogs music collection.15MIT
- FlicenseBqualityCmaintenanceMCP server for managing Cassette music releases and Creator clips through AI assistants via personal access tokens.2811
Related MCP Connectors
MCP server for Producer/Riffusion AI music generation
Official remote MCP server for Archivist AI TTRPG campaign memory: characters, sessions, and more.
MCP server for Suno AI music generation, lyrics, and covers
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ytkoka/king-crimson-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server