Skip to main content
Glama

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: Last.fm MCP Server

Installation

git clone git@github.com:adrianparker/setlist-mcp.git
cd setlist-mcp
npm install
cp .env.example .env

Bearbeite 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.js

Oder 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.js

Konfiguration

Variable

Standard

Zweck

SETLISTFM_API_KEY

Erforderlich. Dein setlist.fm-API-Schlüssel.

MUSICBRAINZ_CONTACT

Repo-URL

Kontaktdetails, die an MusicBrainz im User-Agent gesendet werden.

NODE_ENV

app

Welche src/config/<env>.json der Logger lädt.

SETLISTFM_MIN_INTERVAL_MS

1100

Mindestabstand zwischen setlist.fm-Anfragen.

SETLISTFM_DAILY_LIMIT

1300

Pro-Prozess-Anfragebudget für setlist.fm.

MUSICBRAINZ_MIN_INTERVAL_MS

1100

Mindestabstand zwischen MusicBrainz-Anfragen.

HTTP_TIMEOUT_MS

10000

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:watch

Kein Test berührt die echten APIs: test/setup.js installiert ein global.fetch, das wirft, und Tests stubben es explizit.

Abdeckung

npm run coverage

Lint

npm run lint

Ein 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

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    4
    3
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    Enables interaction with Last.fm music data including searching for artists, albums, and tracks, accessing user listening history, and managing music preferences. Supports both read-only operations and authenticated write operations like scrobbling and loving tracks.
    34
    5
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Spotify's music catalog through natural language conversations. Search for tracks and artists, get recommendations, explore playlists, and browse artist discographies using the Spotify Web API.
  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    17
    10
    GPL 3.0

View all related MCP servers

Related MCP Connectors

  • setlist.fm: concert setlists by artist/venue/date. Free key required.

  • Live-concert discovery: 44,000+ upcoming concerts worldwide by city, artist, genre or festival.

  • Search MusicBrainz artists, releases, works, labels; resolve ISRC/ISWC/barcode; fetch cover art.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/adrianparker/SetlistMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server