Setlist MCP vs Musicbrainz MCP
A side-by-side look at the Setlist MCP and Musicbrainz MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Setlist MCP for art & culture work as a local process; choose Musicbrainz MCP for art & culture as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Setlist MCP when
- You need dedicated capabilities in the Art & Culture domain.
- You prefer a local stdio subprocess transport.
- You have the keys it needs:
SETLIST_API_KEY, SETLIST_ACCEPT_LANGUAGE, SETLIST_SESSION_COOKIE, SETLIST_DISABLE_FETCHPROXY. - You want tools like
setlist_search_artists, setlist_get_artist, setlist_get_artist_setlists.
Choose Musicbrainz MCP when
- You need dedicated capabilities in the Art & Culture domain.
- You prefer a local stdio subprocess transport.
- You want tools like
musicbrainz_lookup, musicbrainz_search, musicbrainz_browse.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Art & Culture | Art & Culture |
| Quality signal | 63/100 · Good | 61/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Free |
| Required env vars | SETLIST_API_KEYSETLIST_ACCEPT_LANGUAGESETLIST_SESSION_COOKIESETLIST_DISABLE_FETCHPROXY | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | 0 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 20 | 9 |
| Full listing | View Setlist MCP | View Musicbrainz MCP |
Tools & capabilities
Setlist MCP tools 20
setlist_search_artistsSearch setlist.fm for artists by name or MusicBrainz ID. Returns matching artists with their MusicBrainz ID (mbid) — use that mbid with setlist_get_artist or setlist_get_artist_setlists. Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.setlist_get_artistGet a setlist.fm artist by their MusicBrainz ID (mbid). Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.setlist_get_artist_setlistsGet an artist's setlists (most recent first) by their MusicBrainz ID (mbid). Paginated via `p`. Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.setlist_search_setlistsSearch setlist.fm for concert setlists. Filter by any combination of artist, venue, city, country, tour, date, or year (provide at least one). Combine filters to disambiguate — artistName + date can span multiple cities, so add cityName/cityId or venueName/venueId to pin the exact show. Omit the artist and pass venueName/venueId + date to list EVERY performer at a venue or festival that day. Every result includes songCount, setCount, and hasSongs, so you can skip empty 'stub' setlists (hasSongs: false) without a second fetch. Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.setlist_get_setlistGet a setlist.fm setlist by its ID, including the full song list and event details. A setlist's songs live in `sets.set[]`; each set may have an `encore` number (1 = first encore) and a `name` (e.g. an acoustic set or a full album). Each `song` may carry: `tape: true` (pre-recorded intro/outro/interlude — not actually performed), `cover` (the original artist when it is a cover), `with` (a guest performer), and `info` (a note like "acoustic" or "first time live"). Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.setlist_get_setlist_versionGet a specific historical version of a setlist by its version ID. Setlists are wiki-edited; each edit has a version ID returned in a setlist's `versionId` field. A setlist's songs live in `sets.set[]`; each set may have an `encore` number (1 = first encore) and a `name` (e.g. an acoustic set or a full album). Each `song` may carry: `tape: true` (pre-recorded intro/outro/interlude — not actually performed), `cover` (the original artist when it is a cover), `with` (a guest performer), and `info` (a note like "acoustic" or "first time live"). Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.setlist_search_venuesSearch setlist.fm for venues by name and/or location. Returns matching venues with their venue ID — use it with setlist_get_venue or setlist_get_venue_setlists. Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.setlist_get_venueGet a setlist.fm venue by its ID. Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.setlist_get_venue_setlistsGet setlists performed at a venue, by venue ID (most recent first). Paginated via `p`. Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.setlist_search_citiesSearch setlist.fm for cities by name and/or location. Returns cities with their geoId — use it as cityId in setlist_search_setlists / setlist_search_venues, or with setlist_get_city. Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.setlist_get_cityGet a city by its geoId. Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.setlist_search_countriesList all countries supported by setlist.fm, with their ISO country codes. Use a code as countryCode in setlist_search_setlists. Results include a setlist.fm `url`; when you present this data, cite it as a clickable source link to setlist.fm (their API terms require followable attribution — no nofollow). If a result has no `url`, link to https://www.setlist.fm instead.- +8 more on the listing page
Musicbrainz MCP tools 9
musicbrainz_lookupFetch a single MusicBrainz entity (artist, release, recording, release-group, label, work, area, place, event, instrument, series, genre, url) by its MBID. Use `inc` to pull linked sub-entities and relationships, e.g. inc: ["releases","release-groups"] on an artist, or ["recordings","labels"] on a release, or ["artist-credits","url-rels"] on most entities. Your own tags/ratings (inc: ["user-tags"], ["user-ratings"], …) need OAuth (MUSICBRAINZ_OAUTH_*). Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_searchSearch a MusicBrainz entity type with a Lucene query and get back ranked matches with their MBIDs. Plain text matches the entity name; fielded Lucene also works, e.g. `artist:"Miles Davis" AND country:US`, `release:"Kind of Blue" AND format:Vinyl`, or `recording:"So What" AND dur:[540000 TO 560000]`. Feed a returned MBID into musicbrainz_lookup for full detail. Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_browseList all entities of one type directly linked to a given entity — e.g. every release by an artist (entity: "release", linkedBy: "artist", mbid: <artist>), recordings on a release, releases in a collection (a private collection needs OAuth: MUSICBRAINZ_OAUTH_*), or events at a place. This is the complete, paged set for a relationship (unlike search, which ranks fuzzy matches). Use `inc` for extra detail and limit/offset to page (max 100/page). Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_cover_artFetch Cover Art Archive image metadata for a release or release-group MBID — front/back cover URLs, thumbnails, and image types. Returns the image URLs (you can open or download them); it does not embed the bytes. Errors clearly when no art exists for the MBID. Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_resolveTurn a musicbrainz.org URL (e.g. https://musicbrainz.org/artist/<mbid> or /release-group/<mbid>) into the underlying entity by extracting its type + MBID and looking it up. Handy when a user pastes a MusicBrainz link. Pass `inc` to include linked sub-entities. Read-only. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_healthcheckConfirm the MusicBrainz API is reachable (and our User-Agent accepted) by looking up a stable entity, and report whether the OAuth write path is configured. Reports {ok, reachable, oauth_configured} with a plain-English hint. Read-only.musicbrainz_submit_tagsApply user tags to a MusicBrainz entity on YOUR account (needs OAuth: MUSICBRAINZ_OAUTH_* with the `tag` scope). Default `vote: upvote` adds the tags; `downvote` opposes them; `withdraw` removes your vote. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). The preview shows the exact XML; nothing is sent before confirmation. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_submit_ratingSet YOUR rating for a MusicBrainz entity (needs OAuth: MUSICBRAINZ_OAUTH_* with the `rating` scope). Rating is 0–100 (MusicBrainz shows it as 1–5 stars in steps of 20; 0 removes your rating). Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Nothing is sent before confirmation. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.musicbrainz_modify_collectionAdd or remove entities (releases, artists, recordings, release-groups, works, labels, places, areas, events) in one of YOUR MusicBrainz collections (needs OAuth: MUSICBRAINZ_OAUTH_* with the `collection` scope). Get the collection MBID from its URL (musicbrainz.org/collection/<mbid>). Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE). Nothing is changed before confirmation. Data from MusicBrainz (https://musicbrainz.org), the open music encyclopedia.
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Setlist MCP
{
"mcpServers": {
"setlist-mcp": {
"command": "npx",
"args": [
"-y",
"setlist-mcp"
],
"env": {
"SETLIST_API_KEY": "YOUR_SETLIST_API_KEY_HERE",
"SETLIST_ACCEPT_LANGUAGE": "YOUR_SETLIST_ACCEPT_LANGUAGE_HERE",
"SETLIST_SESSION_COOKIE": "YOUR_SETLIST_SESSION_COOKIE_HERE",
"SETLIST_DISABLE_FETCHPROXY": "YOUR_SETLIST_DISABLE_FETCHPROXY_HERE"
}
}
}
}
Musicbrainz MCP
{
"mcpServers": {
"musicbrainz-mcp": {
"command": "npx",
"args": [
"-y",
"musicbrainz-mcp"
]
}
}
}
Frequently asked questions
Setlist MCP is categorized under Art & Culture and uses a local stdio subprocess. Musicbrainz MCP belongs to Art & Culture and uses a local stdio subprocess. Pick Setlist MCP for art & culture work and Musicbrainz MCP for art & culture.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Setlist MCP has no declared pricing — check the project's own site. Musicbrainz MCP is listed as free. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add setlist-mcp and musicbrainz-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Setlist MCP has a quality signal of 63/100 (Good) with 1 views, 0 installs and 1 GitHub stars. Musicbrainz MCP has 61/100 (Good) with 1 views, 0 installs and 0 GitHub stars.