mcpField
S
setlist-mcp

setlist-mcp

ローカル
github.com/chrischallゲーム・エンタメ14 日前に更新

setlist-mcp について

setlist-mcpは、setlist.fmのセットリスト、アーティスト、会場、ツアー、都市などの情報をClaudeに提供します。読み取りが中心で、認証済みセッションによる参加記録にも対応します。

主な機能

  1. 01セットリストの検索と取得
  2. 02アーティストと出演セットリストの照会
  3. 03会場と会場別セットリストの検索
  4. 04都市と国の検索
  5. 05ライブ参加の記録と解除

活用シーン

  1. 01アーティストのライブ履歴の確認
  2. 02ライブで演奏された曲の照会
  3. 03会場や都市ごとのセットリスト検索
  4. 04参加したライブの記録

MCP 対応

setlist.fmのデータと参加記録操作を、MCPクライアント向けのツールとして提供します。読み取りにはsetlist.fm REST APIを使い、参加記録の変更には認証済みセッションCookieが必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"chrischall-setlist": {
"command": "npx",
"args": [
"-y",
"setlist-mcp"
],
"env": {
"SETLIST_API_KEY": "<SETLIST_API_KEY>",
"SETLIST_ACCEPT_LANGUAGE": "<SETLIST_ACCEPT_LANGUAGE>",
"SETLIST_SESSION_COOKIE": "<SETLIST_SESSION_COOKIE>",
"SETLIST_DISABLE_FETCHPROXY": "<SETLIST_DISABLE_FETCHPROXY>",
"FETCHPROXY_WS_PORT": "<FETCHPROXY_WS_PORT>",
"FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
}
}
}
}
起動コマンドnpx -y setlist-mcp
設定が必要な環境変数
SETLIST_API_KEYシークレットYour setlist.fm API key (apply at setlist.fm/settings/api). Required for the data (read) tools; the attendance tools and setlist_id_from_url work without it.
SETLIST_ACCEPT_LANGUAGEOptional language for city/country names (en, es, fr, de, pt, tr, it, pl)
SETLIST_SESSION_COOKIEシークレットOptional. Logged-in www.setlist.fm Cookie header — enables the attendance write tools.
SETLIST_DISABLE_FETCHPROXYSet to 1 to turn the browser (fetchproxy) fallback off for the attendance tools (1/true/yes/on).
FETCHPROXY_WS_PORTLocalhost port of the fetchproxy concentrator the ContextMint Bridge extension connects to (default 37149). Every MCP on one machine shares it, so move it for all of them or not at all.
FETCHPROXY_WS_HOSTBind interface for the fetchproxy concentrator, a literal IP only (default 127.0.0.1). Keep on loopback; it exists for hosted deployments that run each MCP in its own network namespace.
FETCHPROXY_IDENTITY_DIRAbsolute path where the fetchproxy long-term identity keypair is stored (default ~/.fetchproxy/identity/).

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmsetlist-mcp1.1.9

ツール

20

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pintegerいいえ結果ページ番号(デフォルトは 1)
sortenumいいえ並べ替え順(sortName = デフォルト、または relevance)sortName | relevance
viewenumいいえレスポンス形式:"compact"(デフォルト)は、レスポンス内のほかの箇所にすでに含まれるフィールドを省略します。"full" は、このサーバーが扱えるすべてのフィールドを返します。compact はレスポンスから画像/アバターの URL を除外します。"full" は Setlist.fm のペイロードをそのまま返します。フィールドの選別は行いません。どの Setlist.fm のフィールドが重要かを示す検証済みの記録がこのサーバーにはなく、独自に選別すると呼び出し元が必要とするフィールドを落とすおそれがあるためです。compact | full
artistMbidstringいいえアーティストの MusicBrainz ID(mbid)
artistNamestringいいえ検索するアーティスト名

詳細

setlist-mcp

CI npm license

setlist.fm 用の MCP サーバーです。Claude から自然言語でコンサートのセットリスト、アーティスト、会場、ツアー、都市を検索できます。ほとんどは読み取り専用です(setlist.fm REST API には書き込みエンドポイントがありません)。ログイン中のセッションを使った、認証済みの「参加しました」操作も利用できます。

このプロジェクトは AI(Claude)によって開発・保守されています。ご自身の判断でご利用ください。

できること

20 個のツールを公開します。setlist.fm REST API を使った読み取り専用ツールが 18 個、認証済みの「参加しました」操作が 2 個です。

分野ツール
アーティストsetlist_search_artists、setlist_get_artist、setlist_get_artist_setlists
セットリストsetlist_search_setlists、setlist_get_setlist、setlist_get_setlist_version
会場setlist_search_venues、setlist_get_venue、setlist_get_venue_setlists
都市・国setlist_search_cities、setlist_get_city、setlist_search_countries
ユーザーsetlist_get_user、setlist_get_user_attended、setlist_get_user_edited
解決setlist_resolve_concerts
参加状況(認証済みの書き込み)setlist_mark_attended、setlist_unmark_attended
ユーティリティsetlist_healthcheck、setlist_id_from_url

セットアップ

setlist.fm/settings/api で無料の API キー(非商用利用)を取得し、.mcp.json にサーバーを追加します。

{
  "mcpServers": {
    "setlist": {
      "command": "npx",
      "args": ["-y", "setlist-mcp"],
      "env": {
        "SETLIST_API_KEY": "your-api-key-here"
      }
    }
  }
}

任意の設定:SETLIST_ACCEPT_LANGUAGE(en, es, fr, de, pt, tr, it, pl のいずれか)を指定すると、都市名と国名がローカライズされます。

参加状況ツール(setlist_mark_attended / setlist_unmark_attended)では、ログイン中の www.setlist.fm セッションが必要です。ログイン済みリクエストの Cookie ヘッダーを SETLIST_SESSION_COOKIE に設定するか、ContextMint Bridge をインストールしてください(Chrome:Chrome 用 zip を解凍して読み込みます。Safari 版はまだ利用できません。一般公開のダウンロードがない ContextMint アプリに同梱される予定のため、今のところは Chrome をご利用ください)。www.setlist.fm にログインした状態を保つと、サーバーは初回使用時にブラウザーからセッション Cookie を取得します。SETLIST_DISABLE_FETCHPROXY=1 を設定すると、ブラウザーへのフォールバックを無効にできます。

ContextMint Bridge は、同じメンテナーが新しい名前で提供する fetchproxy ブラウザー拡張機能です。fetchproxy の README からも案内されています。ソースは nullnet-app/contextmint-bridge で公開されています。ご自身でビルドするか、リリース zip と同じ場所に公開されている .sha256 ファイルを使って検証してください(shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256)。

ソースからのセットアップ、全ツールのリファレンス、使用例については、skills/setlist/SKILL.md をご覧ください。

クレジットと利用条件

利用には setlist.fm API の利用規約が適用されます。要点は次のとおりです。

  • setlist.fm を明記してください。 すべての結果には url が含まれます。データを表示する箇所では、たどれるソースリンク(nofollow なし)として提示してください。ツールの説明でモデルにこの処理を指示しており、結果の url はそのまま渡されます。
  • 無料キーでの利用は非商用に限られます。商用利用には setlist.fm の許可が必要です。
  • 永続的なキャッシュは禁止です。 このサーバーはツールの呼び出しごとに API をリアルタイムで呼び出し、データストアを保持しません。追加しないでください。
  • API キーは非公開にしてください。 キーは SETLIST_API_KEY に保存され(.env は gitignore の対象です)、ツールの出力に含まれることはありません。

開発

npm install
npm run build   # tsc + esbuild bundle → dist/
npm test        # tsc typecheck + vitest

ローカルで実行する場合は、プロジェクトのルートディレクトリに隣接する .env ファイル(gitignore の対象)に SETLIST_API_KEY=<key> を記述してください。

アーキテクチャ、規約、注意事項については CLAUDE.md をご覧ください。

License

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。