Setlist Fm

liveMusicEntertainment

setlist.fm — concert setlist database: search artists, venues, setlists, and user attendance history for live music events.

12tools
0msauth
free tier50 calls/day

Tools

artist

Fetch a setlist.fm artist record by band name or MusicBrainz ID. Pass `artist_name` ("Radiohead") and the name is resolved to the MBID for you, preferring an exact match so a tribute act does not answ

No parameters required.

▶Try it
artist_setlists

A band's concert history, newest first — use this for "what did Radiohead play at their most recent show". Pass `artist_name` and the band is resolved to its MusicBrainz ID for you, preferring an exac

No parameters required.

▶Try it
venue

Fetch a setlist.fm venue record by venue `id`. Returns venue name, city, country, coordinates, and URL.

No parameters required.

▶Try it
venue_setlists

Fetch paginated setlists performed at a specific venue by venue `id`. Returns setlists with date, artist, and track lists.

No parameters required.

▶Try it
setlist

Fetch a single setlist by its setlist.fm `setlist_id`. Returns artist, event date, venue, city, and the full ordered track list with song names.

No parameters required.

▶Try it
user

Fetch a setlist.fm user profile by `user_id`. Returns username, fullname, about text, website, and statistics on attended concerts.

No parameters required.

▶Try it
user_attended

Fetch paginated list of concerts a setlist.fm user has marked as attended, by `user_id`. Returns setlists with date, artist, venue, and track list.

No parameters required.

▶Try it
cities

Search setlist.fm for cities by name or country. Returns city name, state, country, and geolocation coordinates. Useful for resolving city identifiers before searching setlists or venues.

No parameters required.

▶Try it
countries

Return the full list of countries recognized by setlist.fm (ISO country codes and names). Use to look up valid country codes before filtering setlist or venue searches.

No parameters required.

▶Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/setlist-fm/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/setlist-fm/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"artist","arguments":{}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("artist", {});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("setlist");