SetlistMCP
setlist-mcp
Ein MCP-Server, mit dem Claude Setlists von setlist.fm für Konzerte finden kann, die du besucht hast.
Frag: „Ich habe The Cure im August 1992 in Wellington gesehen – was haben sie gespielt?" und Claude löst den Künstler auf, durchsucht setlist.fm und liest die Songs in Reihenfolge vor.
Funktionen
find_setlists— Suche nach Künstler, Stadt und Datum. Gibt eine kompakte Liste passender Gigs mit ihren Setlist-IDs, Veranstaltungsorten und Songanzahlen zurück.get_setlist— Eine Setlist vollständig abrufen: jeden Song in Reihenfolge, gruppiert in Sets und Zugaben, mit Hinweisen zu Covern und Gastauftritten.Nachsichtig bei Daten. Die Suche deckt das Jahr um das angegebene Datum ab und ordnet die Ergebnisse nach Nähe, sodass ein falsch erinnerter Tag den Gig trotzdem findet.
Nachsichtig bei Künstlernamen. Namen werden über MusicBrainz aufgelöst, sodass kleinere Tippfehler meistens funktionieren. Mehrdeutige Namen kommen mit Alternativen zurück.
Vorsichtig mit Ratenlimits. Anfragen werden serialisiert und zeitlich gestaffelt, 429s werden mit Backoff wiederholt, und Antworten werden gecacht. Suchanfragen dauern absichtlich ein paar Sekunden.
Related MCP server: MusicBrainz MCP Server
Installation
git clone git@github.com:adrianparker/setlist-mcp.git
cd setlist-mcp
npm install
cp .env.example .envBearbeite dann .env und setze SETLISTFM_API_KEY. Fordere einen Schlüssel unter setlist.fm's API-Einstellungen an – es ist kostenlos und erfordert ein setlist.fm-Konto.
MUSICBRAINZ_CONTACT auf deine E-Mail-Adresse zu setzen, ist guter Stil: MusicBrainz bittet darum, dass Clients einen Kontakt im User-Agent angeben, und drosselt anonym wirkende Clients stärker.
Registrierung bei Claude Code
claude mcp add setlist-mcp --scope user -- node /full/path/to/setlist-mcp/src/index.jsOder füge es zu einem Projekt-.mcp.json hinzu:
{
"mcpServers": {
"setlist-mcp": {
"command": "node",
"args": ["/full/path/to/setlist-mcp/src/index.js"]
}
}
}Keine Geheimnisse gehen in die Client-Konfiguration – der Server liest .env aus seinem eigenen Verzeichnis, funktioniert also unabhängig vom Verzeichnis, aus dem der Client ihn startet.
Starte Claude Code neu und prüfe dann mit /mcp, ob die Verbindung steht.
Verwendung
Sobald registriert, frag einfach in normalem Englisch:
Ich habe Villainy im März 2026 in Tauranga gesehen, wie war die Setlist?
Claude wird find_setlists aufrufen, den passenden Gig auswählen und dann get_setlist aufrufen.
Um den Server direkt ohne Client zu prüfen:
npx @modelcontextprotocol/inspector node src/index.jsKonfiguration
Variable | Standard | Zweck |
| — | Erforderlich. Dein setlist.fm-API-Schlüssel. |
| Repo-URL | Kontaktdetails, die an MusicBrainz im User-Agent gesendet werden. |
|
| Welche |
|
| Mindestabstand zwischen setlist.fm-Anfragen. |
|
| Pro-Prozess-Anfragebudget für setlist.fm. |
|
| Mindestabstand zwischen MusicBrainz-Anfragen. |
|
| Timeout pro Anfrage. |
Ratenlimit
setlist.fm veröffentlicht seine Ratenlimits nicht. Community-Berichte beziffern die Standard-Stufe auf etwa 2 Anfragen pro Sekunde und 1440 pro Tag, daher liegen die Standardwerte hier – eine Anfrage alle 1,1 Sekunden – bequem im langsameren Bereich davon. Anfragen werden über eine Warteschlange serialisiert, sodass gleichzeitige Tool-Aufrufe warten, anstatt zu platzen. Eine 429 verlangsamt die gesamte Warteschlange und respektiert Retry-After, wenn der Server einen sendet.
Das Tageslimit ist kein echtes Tageskontingent. Es wird im Speicher gehalten und setzt sich zurück, sobald der MCP-Client den Server neu startet. Behandle es als Schutzschalter gegen eine Endlosschleife, nicht als Einhaltung. Das Mindestintervall ist das, was deinen Schlüssel tatsächlich schützt: Bei 1,1 s pro Anfrage würde das Erreichen von 1440 Anfragen 26 Minuten ununterbrochenes Abfragen dauern.
Antworten werden im Speicher gecacht – Künstler für 24 Stunden, Suchanfragen für 1 Stunde, Setlist-Details für 6 Stunden – sodass wiederholte Fragen zu demselben Gig nichts kosten.
Entwicklung
Tests ausführen
npm test
npm run test:watchKein Test berührt die echten APIs: test/setup.js installiert ein global.fetch, das wirft, und Tests stubben es explizit.
Abdeckung
npm run coverageLint
npm run lintEin Hinweis zu setlist.fm
Die setlist.fm-API ist nur für nicht-kommerzielle Nutzung kostenlos – siehe ihre API-Bedingungen. Beide Tools geben die setlist.fm-URL für jedes Ergebnis zurück, damit darauf verlinkt werden kann.
Setlist-Daten werden von den Nutzern von setlist.fm beigetragen. Gigs können fehlen, unvollständig sein oder das falsche Datum haben.
Lizenz
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