king-crimson-mcp について
king-crimson-mcpは、King Crimsonの作品とライブ履歴を調べるMCPサーバーです。複数の音楽データソースをMBIDで結び、8つの編成時代を軸に曲の変遷を追跡できます。
主な機能
- 01MBIDによる複数データソースの検索
- 02曲ごとの演奏・制作クレジット
- 03Discogsの版とカバーアートの取得
- 04曲・ツアー・時代別の履歴キャッシュ
- 05曲を含むライブ盤・ボックスの検索
活用シーン
- 01作品のクレジットや物理版の確認
- 02編成時代ごとの曲の演奏履歴の追跡
- 03曲を収録したライブ盤やボックスの特定
MCP 対応
MCPクライアントにKing Crimsonのディスコグラフィーやライブ履歴のツールと、編成時代のデータを公開します。クライアントはローカルキャッシュを更新してから、曲の演奏履歴やライブ作品を検索できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx king-crimson-mcpMCP_CONTACTContact email sent to MusicBrainz in the User-Agent (required by their policy).SETLISTFM_API_KEYシークレットsetlist.fm API key, for live-performance tools.DISCOGS_TOKENシークレットDiscogs personal access token, for get_editions.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
12掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | |
| query | string | はい | |
| artist | string | いいえ |
詳細
King Crimson ディスコグラフィ MCP サーバー
日本語版: README.ja.md
King Crimson のレコードやライブパフォーマンスのデータを提供する MCP サーバーです。各曲がバンドの特定の時代にどのように属するかを示す、厳選された 編成(ラインアップの時代)モデルも含まれています。
このサーバーの特長
一般的な MusicBrainz/Discogs の MCP サーバーでも、リリース、クレジット、プレス盤の情報は取得できます。このサーバーもそれらに対応していますが、バンドを限定しないディスコグラフィツールでは構造上実現できない、次の2つの機能を追加しています。
-
MBID をキーにした、複数ソースの統合レイヤー。 MusicBrainz、Discogs、Cover Art Archive、setlist.fm のデータを連携させているため、1つのリリースグループ MBID から、ソースごとに ID を再解決することなく、クレジット、フィジカル版、アートワーク、ライブ履歴を取得できます。
-
King Crimson の編成モデル。 King Crimson では、5 decades にわたりラインアップがほぼ全面的に何度も入れ替わってきました。同じ曲でも、演奏された年によってまったく異なるバンドを意味することがあります。このサーバーでは、8つのラインアップ時代を手作業で整理し、追跡対象のすべての曲のライブパフォーマンス履歴を各時代と照合しています。
曲 登場する編成 "21st Century Schizoid Man" すべての時代にまたがって登場する、バンドを象徴する曲 "Starless" Larks' Tongues 時代とスリードラマー時代のみ "Elephant Talk" Discipline 時代に生まれ、スリードラマー時代までには演奏されなくなった曲 -
ローカルでオフライン優先のコンサートキャッシュ。 コンサート履歴全体(1,200公演以上)は、
refresh_setlist_cacheを使って一度取得し、JSON としてキャッシュされます。その後の曲、ツアー、時代に関するクエリはすべてキャッシュを読み込むため、瞬時に結果が得られ、分析中に setlist.fm で断続的に発生するレート制限エラーの影響も受けません。 -
曲から、その曲を収録したライブアルバムを時代別に逆引き。 「Red を収録しているライブリリースは?」と尋ねると、編成ごとにまとめて表示されます。このサーバーが把握している2つの情報、つまり曲が演奏された時期(setlist キャッシュから取得)と、各公式ライブアルバムの録音時期(タイトルを解析)を照合することで、MusicBrainz も Discogs も直接は答えられない質問に回答します。
Red については、Discipline、THRAK、ProjeKcts、スリードラマー時代の、1公演のみを収録したライブアルバムが37枚表示されます。また、これを録音した1974年のラインアップによる収録作品がないことも正しく示されます。このラインアップは Red をライブで演奏しませんでした(ここに記載した数値は現時点のものです。MusicBrainz のカタログは今後増える可能性があります)。
ツール
| ツール | 説明 |
|---|---|
search_release(query, artist="King Crimson", limit=10) | MusicBrainz のアルバム検索 → MBID |
get_credits(mbid, release_mbid=None) | 録音レベルで解決されたトラックごとの演奏者/制作クレジットと、重複を除いたアルバム参加者一覧 |
get_editions(mbid, max_versions=25) | Discogs 経由でフィジカル盤のプレス版/再発盤を取得します。曖昧検索より MusicBrainz→Discogs の正確な関連付けを優先します |
get_artwork(mbid) | Cover Art Archive 経由でカバーアートを取得します |
get_live_history(query="", artist="King Crimson", year=None, limit=20) | setlist.fm を会場/都市/年で1ページ分検索します(キャッシュは不要です) |
refresh_setlist_cache(artist_mbid=<King Crimson>, max_pages=100, max_retries=3, force=False) | setlist.fm からアーティストの全コンサート履歴を取得し、キャッシュします |
song_performance_history(song, artist_mbid=<King Crimson>, match="exact") | キャッシュから取得する楽曲のライブ履歴:by_year、by_tour、by_incarnation |
get_incarnations() | 厳選されたラインナップ時代 — メンバー、楽器、主要リリース |
refresh_live_releases_cache(artist_mbid=<King Crimson>, max_pages=10, max_retries=3, force=False) | MusicBrainz から King Crimson の公式ライブリリースを取得してキャッシュし、各タイトルから録音日を解析します |
song_live_releases(song, artist_mbid=<King Crimson>, match="exact") | 楽曲を収録した公式ライブリリースを時代ごとに検索します — セットリストのキャッシュとライブリリースの録音日を照合します |
refresh_box_sets_cache(discogs_artist_id=70828, artist_mbid=<King Crimson>, force=False) | Discogs から King Crimson のコンピレーションとボックスセットを取得し、トラックリストをキャッシュします |
song_box_sets(song, artist_mbid=<King Crimson>, match="exact") | 特定の楽曲を収録したボックスセット/コンピレーションを一覧表示します(Discogs から取得)。年、フォーマット、Discogs URL、収録回数も含みます |
インカーネーションモデル
メンバー構成の変化で区切った、8つのラインナップ時代です。
| id | 時代 | 年 |
|---|---|---|
kc_1969 | 『In the Court』時代 | 1969 |
kc_1970_1972 | 過渡期 | 1970 – 1972年9月 |
kc_1972_1974 | 『Larks' Tongues』時代 | 1972年10月 – 1974 |
kc_1981_1984 | 『Discipline』時代 | 1981 – 1984 |
kc_1994_1997 | 『Double Trio』/『THRAK』時代 | 1994 – 1996 |
kc_1997_2003 | 『ProjeKcts』/Nuovo Metal 時代 | 1997 – 2003 |
kc_2008 | 40周年記念時代 | 2008 |
kc_2014_2021 | 3ドラム時代 | 2014 – 2021 |
境界は単なる年ではなく日付です。特に1972年は、アイランズ時代の「Earthbound」春のツアー(過渡期)と、ウェットン時代の秋のツアー(『Larks' Tongues』時代)に分かれます。バンドのメンバー構成が実際に年の途中で変わったためです。
ラインナップの時代区分はファンによる解釈であり、これは妥当な区分のひとつですが、唯一のものではありません。定義全体は src/king_crimson_mcp/server.py の KING_CRIMSON_INCARNATIONS にあります。自分の見解に合わせて(メンバー、主要リリース、日付の境界を)編集してください。集約ロジックを変更する必要はありません。
楽曲 → リリース(逆引き)
「Red を収録しているリリースは?」という問いには、2つの相補的な方法で答えます。King Crimson のライブカタログは、単一公演のアルバムと複数公演のコンピレーションに明確に分かれているためです。
時代別の単独公演ライブアルバム — song_live_releases
一度だけ作成する、2 つのローカルキャッシュが必要です:
refresh_setlist_cache— すべての公演と演奏された曲(上記で説明済み)。refresh_live_releases_cache— MusicBrainz に登録されている King Crimson の公式ライブリリース。可能な場合は、各タイトルから録音日を解析します。
どちらも一度作成すればよく、バンドの歴史は変わらないため、MusicBrainz に新しいエントリーが追加されたとき以外は再作成する必要はありません。
仕組み: 曲の演奏日はセットリストキャッシュから取得し、各ライブリリースにはタイトルから解析した録音日が設定されます(例:「Live in Toronto – June 24, 1974」)。リリースの録音日がその曲の演奏日と一致する場合、そのリリースに曲が収録されていると判定します。これは単独公演のライブアルバムに対する、単純明快で透明性の高いルールです。
既知の制限(仕様): King Crimson の公式ライブリリースは約 187 件ありますが、この文書の執筆時点で、MusicBrainz がタイトルから完全な録音日を解析できるのは約 87 件だけです。song_live_releases が確実に照合できるのはこの範囲です。残りの約 100 件(ボックスセット、コンピレーション、日付のないタイトル)はこの方法では照合できません。song_live_releases は、見落としを隠すのではなく、coverage フィールドでスキップした件数を正確に報告します。抜粋コンピレーションも例外的なケースです。ある公演で演奏された曲は、理論上、その公演のリリースに照合される場合がありますが、そのリリースがハイライト盤で、その曲が収録されていないこともあり得ます。日付照合では、「その夜に録音された」ことと「そのディスクに収録された」ことを区別できません。
ボックスセットとコンピレーションの一覧 — song_box_sets
song_live_releases では日付照合できない複数公演のボックスセットとコンピレーションを、Discogs の情報に基づいてこちらで扱います。King Crimson の Discogs リリースから、コンピレーションとボックスセット(フォーマットに「Comp」または「Box」を含むもの。単独公演のダウンロードは除外されます)を抽出し、曲がトラックリストに含まれるものを一覧表示します。表示内容は、タイトル、年、フォーマット、Discogs リンク、および各リリースでのその曲の収録回数です。
ここで時代別に分類しない理由: Discogs ではトラックごとの録音日が構造化されていないため、単独公演のアルバムのようにボックスセットを時代別に分割できません。そのため song_box_sets は、曲を含むボックスセットを分類せずに一覧表示します。時代ごとの精密な分類は song_live_releases の役割です。この 2 つを組み合わせることで、両方の側面をカバーします。
独自のキャッシュを一度だけ作成する必要があります。refresh_box_sets_cache を実行してください(約 1 分。Discogs から取得したボックスセット/コンピレーションは、この文書の執筆時点で約 38 件です)。DISCOGS_TOKEN が必要です。
Red の場合、song_box_sets は 14 件のボックスセット/コンピレーション(「Collectors' King Crimson」の各巻、「1972–1974」、「2015 Japan Tour Box」など)を返し、song_live_releases は単独公演のリリースを扱います。
両ツールのカバレッジ報告で正確さを重視しているのは、結果の完全性が基盤となるデータの範囲に正確に沿うようにするためです。あなた(または呼び出し元のエージェント)は、気づかないうちに不完全な回答を得るのではなく、さらに調査すべき箇所を把握できます。
クイックスタート
一度だけ行う 3 つの手順を済ませれば、Claude 内で動作します。
手順 1 — uv をインストールする(一度だけ)
uv は、このサーバーを取得して実行できる小さなツールです。
- macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh - Windows(PowerShell):
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
その後、ターミナルを閉じて開き直してください。正しく動作することを確認するには:
uv --version
手順 2 — 無料の API キーを取得する
このサーバーは公開音楽データベースを読み取ります。そのうち 2 つでは無料のキーが必要です:
- setlist.fm(ライブ演奏の履歴)— 次のページでキーを申請してください https://api.setlist.fm/docs/1.0/index.html
- Discogs(物理メディアのエディション)— Discogs → Settings → Developers → Generate token からトークンを作成してください
さらに連絡先メールアドレス(MCP_CONTACT)も設定します。MusicBrainz は、サーバーへのアクセス元を把握するためにこれを必要とします。ご自身が所有するメールアドレスであれば、どれでも構いません。
(MusicBrainz と Cover Art Archive にはキーは不要です。)
ステップ 3 — Claude Desktop に追加する
Claude Desktop の設定ファイルを開きます。
- 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": "[email protected]",
"SETLISTFM_API_KEY": "your-setlistfm-key",
"DISCOGS_TOKEN": "your-discogs-token"
}
}
}
}
Claude Desktop を再起動します。King Crimson のツールが自動的に表示されます。ターミナルで何かを実行する必要はありません。
ステップ 4 — 初回の使用
Claude で、まず 「King Crimson のセットリストキャッシュを更新して」 のように尋ねます(コンサート履歴全体をダウンロードするため、約 40 秒かかります)。その後、「Starless の演奏履歴を見せて」 または 「21st Century Schizoid Man を演奏した編成は?」 と試してみてください。
トラブルシューティング
- 「uvx: command not found」/Claude Desktop でサーバーが起動しません。
uvがインストールされていないか、PATH に設定されていません。ステップ 1 をやり直してから、Claude Desktop を完全に終了し、再度開いてください。Windows では、commandフィールドにuvxのフルパスが必要な場合があります。 - ターミナルで手動実行すると警告が表示されます。
uvx king-crimson-mcpを直接実行すると、クライアントを待機して何も表示されません。これは正常です(stdin/stdout を介して通信します)。手動で実行する必要はありません。Claude Desktop が起動と停止を行います。Ctrl+C を押すと停止します。 get_editions/セットリスト関連のツールで、キーが見つからないというエラーが返されます。 そのツールの API キーが、設定のenvブロックに設定されていません。ステップ 2 を参照してください。- 古いツアーのセットリストデータが不完全に見えます。 setlist.fm のデータはユーザーが投稿したものです。過去の公演や楽曲が記録されていない場合があります。これはデータの制限であり、バグではありません。
PyPI からインストールする
開発者向け — 上記のクイックスタートと同じパッケージを使用しますが、Claude Desktop の設定は不要です。
# run directly without installing (recommended)
uvx king-crimson-mcp
# or install as a persistent tool
pipx install king-crimson-mcp
king-crimson-mcp
シークレット(MCP_CONTACT、DISCOGS_TOKEN、SETLISTFM_API_KEY)は、コマンドを実行するディレクトリ内の .env ファイル、または Claude Desktop の設定の env ブロック(以下を参照)のいずれかに設定します。どちらも読み込まれます。インストール済みのパッケージには .env を置くプロジェクトディレクトリがないため、.env は現在の作業ディレクトリから読み込まれます。
ソースからセットアップする(開発)
# 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
.env の変数:
MCP_CONTACT— MusicBrainz のポリシーで必須です。User-Agent ヘッダーを通じて、アプリを API に識別させます。DISCOGS_TOKEN—get_editionsに必要です(Discogs の個人用アクセストークン)。SETLISTFM_API_KEY—get_live_history、refresh_setlist_cache、song_performance_historyに必要です。KC_CACHE_DIR— 任意です。セットリストキャッシュの保存先を上書きします(以下を参照)。
実行
# quick tool check via MCP Inspector
mcp dev src/king_crimson_mcp/server.py
まず refresh_setlist_cache を一度実行します。King Crimson のコンサート履歴全体(約 1,200 公演、約 40 秒)を取得し、$XDG_CACHE_HOME/king-crimson-mcp(または ~/.cache/king-crimson-mcp。KC_CACHE_DIR で上書きできます)に setlists_<artist_mbid>.json としてローカルにキャッシュします。その後、song_performance_history はキャッシュから読み込むため、すぐに結果を返します。
song_live_releases を使う場合は、refresh_live_releases_cache も一度実行します。セットリストキャッシュと同じディレクトリに live_releases_<artist_mbid>.json が書き込まれます。同様に、refresh_box_sets_cache は song_box_sets 用に box_sets_<artist_mbid>.json を書き込みます。
Claude Desktop に登録する
公開済みパッケージを使用する場合:
{
"mcpServers": {
"king-crimson": {
"command": "uvx",
"args": ["king-crimson-mcp"],
"env": {
"MCP_CONTACT": "[email protected]",
"DISCOGS_TOKEN": "...",
"SETLISTFM_API_KEY": "..."
}
}
}
}
または、ローカルのクローンから実行する場合(uv pip install -e . を実行すると、同じ king-crimson-mcp コンソールスクリプトが仮想環境にインストールされます):
{
"mcpServers": {
"king-crimson": {
"command": "/absolute/path/to/.venv/bin/king-crimson-mcp",
"env": { "MCP_CONTACT": "[email protected]" }
}
}
}
シークレットは、env ブロックの代わりに .env(コマンドを実行するディレクトリ内)に設定することもできます。どちらも読み込まれます。
データソースとクレジット
このプロジェクトは非公式クライアントであり、MusicBrainz、MetaBrainz Foundation、Internet Archive、Discogs、setlist.fmとは提携関係になく、これらの組織からの推奨も受けていません。
- MusicBrainz — 無料で、APIキーは不要です。連絡先情報を含む識別可能なUser-Agentが必要です(レート制限:1秒あたり1リクエスト)。データの大部分はCC0です。アプリでMusicBrainzをクレジットするのが望ましい慣行です。
refresh_live_releases_cacheもMusicBrainzを使用し、King Crimsonの公式ライブ作品グループ(type=live)を一覧表示します。追加のサービスやキーは不要です。 - Cover Art Archive — MusicBrainzとInternet Archiveの共同プロジェクトです。画像は個人のアップロード者から提供されています。MusicBrainzと同じクレジットのマナーに従ってください。
- Discogs — 個人用アクセストークンと一意のUser-Agentが必要です(認証済みの場合、毎分60リクエスト)。利用にはDiscogs APIの利用規約が適用されます。
song_box_setsはget_editionsと同じDiscogs APIを使用します(追加のサービスやキーは不要です)。 - setlist.fm — APIキーが必要です(api.setlist.fmで申請してください)。setlist.fmのデータを表示する場合は、必ず出典となるセットリストへの帰属リンクを含めてください。このサーバーが返すすべての公演には、そのための
urlが含まれています。データを表示する箇所には必ずリンクを表示してください。setlist.fmのデータはユーザー投稿のため、網羅性と正確性は保証されません。
制限事項
- setlist.fmのデータはユーザー投稿のため、特に古いツアーでは、一部の公演や曲が欠落していたり、誤っていたりする場合があります。
- インカーネーションの境界は、King Crimsonのメンバー構成の変遷に関する一つの解釈であり、公式な分類ではありません。
- 演奏者のクレジットは、MusicBrainzが各リリースについてカタログ化している情報に依存します。情報が少ないリリースでは、クレジットも少なくなります。
song_live_releasesが照合できるのは、タイトルから完全な録音日を特定できるライブ作品に限られます(King Crimsonの公式ライブ作品約187件のうち、およそ半数)。対象外の作品とその理由については、上記の曲 → リリースを参照してください。song_box_setsはボックスセットをインカーネーション別に分類できません。Discogsではトラックごとの録音日が構造化されていないため、年代別に分類するのではなく、該当するボックスセットやコンピレーションを一覧表示します。スキャン対象となる約38件のコンピレーションのうち、King Crimsonが1曲だけ参加している複数アーティストの作品がいくつかあります。そのため、非常によくある曲名では、ノイズとして表示される場合があります。
ライセンス
MIT — LICENSEを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。