# io.github.ytkoka/king-crimson-mcp (pypi · king-crimson-mcp)

King Crimson discography and live-performance history with a curated line-up-era model.

- Trust score: 78/100 (medium)
- Change this week: +14
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

## Components

- pypi · `king-crimson-mcp`: 78/100 (this document), [markdown](https://verifymcp.io/servers/ytkoka-king-crimson-mcp/king-crimson-mcp.md), [page](https://verifymcp.io/servers/ytkoka-king-crimson-mcp/king-crimson-mcp)

## Channel facts

- Registry: `pypi`
- Package: `king-crimson-mcp`
- Version: `0.3.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-21.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it.
  - 0 of 29 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 40 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 64/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2046 tokens (~170/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 90/100
  - Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 67/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the io.github.ytkoka/king-crimson-mcp server?

io.github.ytkoka/king-crimson-mcp runs locally as a PyPI package, launched with uvx king-crimson-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add ytkoka-king-crimson-mcp -- uvx king-crimson-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "ytkoka-king-crimson-mcp": {
      "command": "uvx",
      "args": [
        "king-crimson-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "ytkoka-king-crimson-mcp": {
      "command": "uvx",
      "args": [
        "king-crimson-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add ytkoka-king-crimson-mcp -- uvx king-crimson-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ytkoka-king-crimson-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "king-crimson-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ytkoka-king-crimson-mcp --command uvx --arg king-crimson-mcp
```

### Hermes

```yaml
mcp_servers:
  ytkoka-king-crimson-mcp:
    command: "uvx"
    args: ["king-crimson-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "ytkoka-king-crimson-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "king-crimson-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add ytkoka-king-crimson-mcp -t stdio -c uvx -a king-crimson-mcp
```

### Other

```json
{
  "mcpServers": {
    "ytkoka-king-crimson-mcp": {
      "command": "uvx",
      "args": [
        "king-crimson-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-19 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-17 (score 77, −3)

- [functional] Stability: pass → 0.77

### 2026-09-16 (score 80, +1)

- [security] Stability: 0.97 → pass

### 2026-09-15 (score 79, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-09-14 (score 64, −14)

- [security regression] Malware scan: pass → unverified

### 2026-09-11 (score 78, −2)

- [functional] Stability: pass → 0.83

### 2026-09-09 (score 80, +1)

- [security] Stability: 0.97 → pass

### 2026-09-07 (score 79, +1)

No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (12)

### `search_release` (~166 tokens)

Search MusicBrainz for release groups (albums) matching a query.

A "release group" is the canonical album, independent of its many physical
editions -- the right granularity for browsing a discography. Use the
returned ``mbid`` with the other tools.

Args:
    query: Free-text album title or keywords (e.g. "Red", "Larks' Tongues").
    artist: Restrict to this artist. Defaults to "King Crimson".
    limit: Max results (1-25).

Returns:
    A dict with a ``results`` list of {mbid, title, primary_type,
    first_release_date, disambiguation}.

Input parameters:

- `artist` (string)
- `limit` (integer)
- `query` (string, required)

### `get_credits` (~158 tokens)

Get performer and production credits for an album (release group).

Returns the headline artist credit and release-group relationships, plus
per-track performer credits resolved from the recording level in
MusicBrainz (individual musicians and their instruments), and a
deduplicated album roster.

Args:
    mbid: MusicBrainz release-group ID (from ``search_release``).
    release_mbid: Optional specific release (edition) to read track credits
        from. If omitted, a representative official release is chosen.

Returns:
    A dict with title, artist_credit, release_used, performers (roster),
    tracks (per-track credits), relations, and external_links.

Input parameters:

- `mbid` (string, required)
- `release_mbid`

### `get_editions` (~196 tokens)

List physical editions/pressings of an album via Discogs.

Resolves the Discogs *master* for the album -- preferring the ``discogs``
relation stored on the MusicBrainz release group (exact match), and
falling back to a Discogs title/artist search when no such relation
exists. Then lists the master's versions (pressings, reissues, box sets)
with format, country, year and community stats. Requires DISCOGS_TOKEN.

Args:
    mbid: MusicBrainz release-group ID (from ``search_release``).
    max_versions: Max editions to return (1-50).

Returns:
    A dict with master info and a ``versions`` list. ``match_method``
    reports how the master was resolved ("musicbrainz-relation" or
    "discogs-search").

Input parameters:

- `max_versions` (integer)
- `mbid` (string, required)

### `get_artwork` (~71 tokens)

Get cover art for a release group from the Cover Art Archive.

Args:
    mbid: MusicBrainz release-group ID (from ``search_release``).

Returns:
    A dict with an ``images`` list of {front, back, thumbnails, url}.

Input parameters:

- `mbid` (string, required)

### `get_live_history` (~155 tokens)

Search live performance history / setlists via setlist.fm.

Useful for King Crimson given their extensive touring: cross-reference
official live albums against what was actually played on a given tour.
Requires SETLISTFM_API_KEY.

Args:
    query: Optional venue or city keyword to narrow the search.
    artist: Artist name. Defaults to "King Crimson".
    year: Optional year filter.
    limit: Max setlists to return (1-20; one API page).

Returns:
    A dict with a ``setlists`` list of {date, venue, city, country, songs}.

Input parameters:

- `artist` (string)
- `limit` (integer)
- `query` (string)
- `year`

### `refresh_setlist_cache` (~234 tokens)

Fetch an artist's complete concert history from setlist.fm and cache it
locally as JSON, so song/tour analysis runs instantly and offline.

Robust against setlist.fm's intermittent failures: each page is retried with
backoff, and any page that still fails is recorded rather than aborting the
whole run. King Crimson's history is fixed (band ended 2021), so this rarely
needs re-running. Requires SETLISTFM_API_KEY.

Args:
    artist_mbid: MusicBrainz artist MBID. Defaults to King Crimson.
    max_pages: Safety cap on pages to fetch (20 shows/page).
    max_retries: Retries per page on transient error before recording it failed.
    force: Re-fetch even if a cache file already exists.

Returns:
    A summary dict (not the setlists themselves): counts, coverage, any
    failed pages, date range, and the cache file path.

Input parameters:

- `artist_mbid` (string)
- `force` (boolean)
- `max_pages` (integer)
- `max_retries` (integer)

### `get_incarnations` (~103 tokens)

List King Crimson's line-up eras (incarnations): id, name, date range,
members with instruments, key releases, and a one-line note.

Use this to look up who played in a given era. Song analysis
(song_performance_history) reports per-era counts under `by_incarnation`
keyed by the same ids/names, so this is the reference for those.

Returns:
    A dict with an ``incarnations`` list.

### `song_performance_history` (~179 tokens)

Trace how often and when a song was played live, from the local setlist
cache. Run refresh_setlist_cache first. Aggregates by year and by tour so a
song's life across decades and line-ups is visible at a glance.

Args:
    song: Song title to trace (e.g. "Starless", "21st Century Schizoid Man").
    artist_mbid: MusicBrainz artist MBID. Defaults to King Crimson.
    match: "exact" (case-insensitive full title) or "contains" (substring).

Returns:
    A dict with cache_info, performance_count, first/last performance,
    by_year and by_tour breakdowns, and the list of performances.

Input parameters:

- `artist_mbid` (string)
- `match` (string)
- `song` (string, required)

### `refresh_live_releases_cache` (~219 tokens)

Fetch King Crimson's official live releases from MusicBrainz and cache
them locally, parsing a recording date out of each title where possible.

Used by song_live_releases to map songs to the live albums that captured
them. King Crimson's live catalog is fixed, so this rarely needs re-running.
Requires MCP_CONTACT (MusicBrainz User-Agent policy).

Args:
    artist_mbid: MusicBrainz artist MBID. Defaults to King Crimson.
    max_pages: Safety cap on pages to fetch (100 release groups/page).
    max_retries: Retries per page on transient error (e.g. MusicBrainz's
        intermittent 503s) before giving up.
    force: Re-fetch even if a cache file already exists.

Returns:
    A summary: totals, how many titles yielded a full recording date, and
    the cache path.

Input parameters:

- `artist_mbid` (string)
- `force` (boolean)
- `max_pages` (integer)
- `max_retries` (integer)

### `song_live_releases` (~247 tokens)

Find official live releases that captured a given song, grouped by
incarnation (line-up era).

How it works: the song's performance dates come from the setlist cache; live
releases carry a recording date parsed from their title. Where a release's
recording date matches a date the song was played, that release is taken to
contain the song. This is authoritative for single-show live albums; excerpt
compilations are an edge case.

Requires both caches: run refresh_setlist_cache and refresh_live_releases_cache
first.

Args:
    song: Song title (e.g. "Red").
    artist_mbid: MusicBrainz artist MBID. Defaults to King Crimson.
    match: "exact" (case-insensitive full title) or "contains" (substring).

Returns:
    by_incarnation groupings of matched live releases, plus a coverage note
    stating how many live releases could not be matched by date (box sets,
    compilations, undated titles) so the caller can decide to search further.

Input parameters:

- `artist_mbid` (string)
- `match` (string)
- `song` (string, required)

### `refresh_box_sets_cache` (~134 tokens)

Fetch King Crimson's compilations and box sets from Discogs and cache
their tracklists, so song_box_sets can list which box sets contain a song.

Filters the artist's Discogs releases to Main-role compilations/box sets
(format contains "Comp" or "Box"), which excludes single-show live
downloads (those are covered by song_live_releases). Requires DISCOGS_TOKEN.

Returns:
    A summary: releases scanned, box sets cached, and the cache path.

Input parameters:

- `artist_mbid` (string)
- `discogs_artist_id` (integer)
- `force` (boolean)

### `song_box_sets` (~184 tokens)

List King Crimson box sets / compilations that contain a given song
(from Discogs). Complements song_live_releases: that tool maps single-show
live albums to eras; this one covers the multi-show box sets and comps that
date-matching can't resolve.

Run refresh_box_sets_cache first.

Args:
    song: Song title (e.g. "Red").
    artist_mbid: MusicBrainz artist MBID (cache key). Defaults to King Crimson.
    match: "exact" (case-insensitive full track title) or "contains".

Returns:
    The box sets/compilations whose tracklist includes the song, with title,
    year, format, Discogs URL, and how many times the song appears on each.

Input parameters:

- `artist_mbid` (string)
- `match` (string)
- `song` (string, required)

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/ytkoka-king-crimson-mcp/king-crimson-mcp#diagnostics

## Score history

- 2026-09-21: 78
- 2026-09-20: 78
- 2026-09-19: 78
- 2026-09-18: 77
- 2026-09-17: 77
- 2026-09-16: 80
- 2026-09-15: 79
- 2026-09-14: 64
- 2026-09-13: 78
- 2026-09-12: 78
- 2026-09-11: 78
- 2026-09-10: 80
- 2026-09-09: 80
- 2026-09-08: 79
- 2026-09-07: 79
- 2026-09-06: 78
- 2026-09-05: 78
- 2026-09-04: 78
- 2026-09-03: 77
- 2026-09-02: 77
- 2026-09-01: 76
- 2026-08-31: 76
- 2026-08-30: 75
- 2026-08-29: 75
- 2026-08-28: 74
- 2026-08-27: 74
- 2026-08-26: 73
- 2026-08-25: 71
- 2026-08-24: 71
- 2026-08-23: 70

## Common questions

### What is the io.github.ytkoka/king-crimson-mcp server?

io.github.ytkoka/king-crimson-mcp is listed in the public MCP registry as io.github.ytkoka/king-crimson-mcp. King Crimson discography and live-performance history with a curated line-up-era model. This page covers its PyPI package (king-crimson-mcp).

### Is the io.github.ytkoka/king-crimson-mcp server safe to use?

io.github.ytkoka/king-crimson-mcp scores 78 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.ytkoka/king-crimson-mcp server expose?

io.github.ytkoka/king-crimson-mcp exposes 12 tools: search_release, get_credits, get_editions, get_artwork, get_live_history, and 7 more. Their descriptions and schemas cost roughly 2,046 tokens of context every time the server is loaded.

### Is the io.github.ytkoka/king-crimson-mcp server still maintained?

io.github.ytkoka/king-crimson-mcp is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.ytkoka/king-crimson-mcp server under?

io.github.ytkoka/king-crimson-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/king-crimson-mcp/
- Socket report: https://socket.dev/pypi/package/king-crimson-mcp
- Repository: https://github.com/ytkoka/king-crimson-mcp
- Changelog RSS feed: https://verifymcp.io/servers/ytkoka-king-crimson-mcp/king-crimson-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/ytkoka-king-crimson-mcp/king-crimson-mcp.json
- HTML version of this page: https://verifymcp.io/servers/ytkoka-king-crimson-mcp/king-crimson-mcp
