SetlistMCP
setlist-mcp
Claude が、あなたが行ったライブの setlist.fm セットリストを見つけられるようにする MCP サーバーです。
「1992年8月に Wellington で The Cure を見たんだけど、何を演奏した?」と尋ねると、Claude がアーティストを特定し、setlist.fm を検索して、曲を順番に読み上げます。
機能
find_setlists— アーティスト、都市、日付で検索します。一致するライブのリストを、セットリスト ID、会場、曲数とともに簡潔に返します。get_setlist— 1 つのセットリストを完全に取得します。すべての曲を順番に、セットとアンコールごとにグループ化し、カバー曲やゲスト出演の注記も含みます。日付に寛容です。 指定された日付の前後 1 年を対象に検索し、近い順に結果をランク付けするため、日を間違えて覚えていてもライブを見つけられます。
アーティスト名に寛容です。 名前は MusicBrainz を通じて解決されるため、多少のスペルミスでも通常は機能します。曖昧な名前には代替候補が返されます。
レート制限に配慮しています。 リクエストは直列化され間隔を空けられ、429 はバックオフ付きで再試行され、レスポンスはキャッシュされます。検索には数秒かかるよう設計されています。
Related MCP server: MusicBrainz MCP Server
インストール
git clone git@github.com:adrianparker/setlist-mcp.git
cd setlist-mcp
npm install
cp .env.example .env次に .env を編集し、SETLISTFM_API_KEY を設定します。キーは setlist.fm の API 設定 で取得できます。無料ですが、setlist.fm のアカウントが必要です。
MUSICBRAINZ_CONTACT に自分のメールアドレスを設定するのは礼儀です。MusicBrainz はクライアントが User-Agent に連絡先を明記することを求めており、匿名のように見えるクライアントをより厳しくスロットリングします。
Claude Code への登録
claude mcp add setlist-mcp --scope user -- node /full/path/to/setlist-mcp/src/index.jsまたは、プロジェクトの .mcp.json に追加します:
{
"mcpServers": {
"setlist-mcp": {
"command": "node",
"args": ["/full/path/to/setlist-mcp/src/index.js"]
}
}
}クライアント設定にはシークレットを入れません。サーバーは自身のディレクトリから .env を読み取るため、クライアントがどのディレクトリから起動しても動作します。
Claude Code を再起動し、/mcp で接続を確認してください。
使い方
登録が済んだら、平易な英語で尋ねるだけです:
2026年3月に Tauranga で Villainy を見たんだけど、セットリストは何だった?
Claude は find_setlists を呼び出し、一致するライブを選んでから get_setlist を呼び出します。
クライアントを使わずにサーバーを直接確認するには:
npx @modelcontextprotocol/inspector node src/index.js設定
変数 | デフォルト | 目的 |
| — | 必須。 あなたの setlist.fm API キー。 |
| リポジトリ URL | User-Agent で MusicBrainz に送信される連絡先情報。 |
|
| ロガーが読み込む |
|
| setlist.fm リクエスト間の最小間隔。 |
|
| setlist.fm に対するプロセスごとのリクエスト予算。 |
|
| MusicBrainz リクエスト間の最小間隔。 |
|
| リクエストごとのタイムアウト。 |
レート制限
setlist.fm はレート制限を公開していません。コミュニティの報告によると、標準ティアはおおよそ毎秒 2 リクエスト、1 日あたり 1440 リクエストとされており、ここでのデフォルト(1.1 秒に 1 リクエスト)は、その遅い側に余裕を持って収まります。リクエストはキューを通じて直列化されるため、同時のツール呼び出しはバーストせずに順番を待ちます。429 が返るとキュー全体がバックオフし、サーバーが Retry-After を送信した場合はそれを尊重します。
1 日あたりの制限は実際の日次クォータではありません。 これはメモリ上に保持されるため、MCP クライアントがサーバーを再起動するたびにリセットされます。暴走ループに対するサーキットブレーカーとして扱ってください。コンプライアンスではありません。実際にキーを保護しているのは最小間隔です。1.1 秒に 1 リクエストの場合、1440 リクエストに到達するには 26 分間の継続的なクエリが必要です。
レスポンスはメモリにキャッシュされます。アーティストは 24 時間、検索は 1 時間、セットリスト詳細は 6 時間です。そのため、同じライブについて繰り返し質問してもコストはかかりません。
開発
テストを実行
npm test
npm run test:watch実際の API に触れるテストはありません。test/setup.js は例外を投げる global.fetch をインストールし、テストはそれを明示的にスタブします。
カバレッジ
npm run coverageリント
npm run lintsetlist.fm についての注意
setlist.fm API は非営利目的の使用に限り無料です。詳細は API 利用規約 を参照してください。両方のツールは、すべての結果について setlist.fm の URL を返すため、元のページにリンクできます。
セットリストのデータは setlist.fm のユーザーによって提供されています。ライブが欠落している、不完全である、または日付が間違っている場合があります。
ライセンス
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Live festival data for AI agents: lineups, set times, dates, locations and ticket links worldwide.
The CWI Discovery Engine is the MCP server for the Cumulative Web Inc music catalog — 28 tools for AI agents: catalog search, track/artist/release lookups, semantic and mood-based sync search, Radio 365 live stream data, playlist pitching, sync-brief submission, airplay requests, featured nominations, label info, events, lyrics, press kits, videos, genres, playlists and recommendations. No authentication required. Free.
Give AI assistants access to real-time data. Search the web, compare flights, find hotels, and more.
The media memory layer for AI agents and their humans. Your AI client gets 29 tools to search your collection, add items, update ratings, preview music, and find patterns across everything you've read, watched, and listened to.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables users to search for events, performers, and venues through the SeatGeek API. Provides event recommendations, detailed venue seating information, and performer discovery capabilities for ticketed entertainment events.453 npm3MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to query the MusicBrainz music database for artists, albums, recordings, and labels. It provides tools for advanced searches, detailed metadata retrieval, and accessing cover art information.1713GPL 3.0
- AlicenseAqualityAmaintenanceSearch concert setlists, artists, venues, tours, and cities from setlist.fm via natural language. Provides 16 read-only tools for exploring live music data.20590 npm1MIT
- AlicenseNot gradedqualityBmaintenanceEnables searching artists, venues, and setlists from setlist.fm through natural language.17 npmMIT