mcpField
S
setlist-mcp

setlist-mcp

Local
github.com/chrischallGames & Entertainment1Updated 3d ago

About setlist-mcp

setlist-mcp gives Claude access to setlist.fm concert information, including setlists, artists, venues, tours, and cities. It is mostly read-only, with authenticated tools to mark attendance.

Key features

  1. 01Search and retrieve concert setlists
  2. 02Look up artists and their setlists
  3. 03Search venues and venue setlists
  4. 04Find cities and countries
  5. 05Mark or unmark concert attendance

Use cases

  1. 01Explore an artist's concert history
  2. 02Look up songs played at a concert
  3. 03Find setlists at a venue or in a city
  4. 04Record attendance for a concert

MCP support

It exposes setlist.fm data and attendance actions as tools for MCP clients. Read operations use the setlist.fm REST API; attendance changes require an authenticated session cookie.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"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>"
}
}
}
}
Run commandnpx -y setlist-mcp
Environment variables to set
SETLIST_API_KEYSecretYour 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_COOKIESecretOptional. 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/).

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmsetlist-mcp1.1.9

Tools

20

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
pintegerNoResult page number (defaults to 1)
sortenumNoSort order (sortName = default, or relevance)sortName | relevance
viewenumNoResponse shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full" returns Setlist.fm's payload untouched. No field projection: this server has no verified record of which Setlist.fm fields matter, and inventing one would risk dropping a field a caller needs.compact | full
artistMbidstringNoArtist's MusicBrainz ID (mbid)
artistNamestringNoArtist name to search for

Details

From the project README

setlist-mcp

CI npm license

MCP server for setlist.fm — search concert setlists, artists, venues, tours, and cities from Claude via natural language. Mostly read-only (the setlist.fm REST API exposes no write endpoints), plus authenticated "I was there" attendance actions via your logged-in session.

This project was developed and is maintained by AI (Claude). Use at your own discretion.

What it does

Exposes 20 tools — 18 read-only over the setlist.fm REST API, plus 2 authenticated "I was there" attendance actions:

AreaTools
Artistssetlist_search_artists, setlist_get_artist, setlist_get_artist_setlists
Setlistssetlist_search_setlists, setlist_get_setlist, setlist_get_setlist_version
Venuessetlist_search_venues, setlist_get_venue, setlist_get_venue_setlists
Cities & countriessetlist_search_cities, setlist_get_city, setlist_search_countries
Userssetlist_get_user, setlist_get_user_attended, setlist_get_user_edited
Resolvesetlist_resolve_concerts
Attendance (authenticated writes)setlist_mark_attended, setlist_unmark_attended
Utilitysetlist_healthcheck, setlist_id_from_url

Setup

Get a free API key (non-commercial use) at setlist.fm/settings/api, then add the server to your .mcp.json:

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

Optional: SETLIST_ACCEPT_LANGUAGE (one of en, es, fr, de, pt, tr, it, pl) localizes city/country names.

The attendance tools (setlist_mark_attended / setlist_unmark_attended) need your logged-in www.setlist.fm session. Either set SETLIST_SESSION_COOKIE to the Cookie header of a logged-in request, or install ContextMint Bridge (Chrome: load the chrome zip unpacked; Safari isn't available yet — it will ship inside the ContextMint app, which has no public download — so use Chrome for now) and stay signed in to www.setlist.fm — the server lifts the session cookie from your browser on first use. Set SETLIST_DISABLE_FETCHPROXY=1 to turn the browser fallback off.

ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README points to it. Its source is public at nullnet-app/contextmint-bridge: build it yourself, or check a release zip against the .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256).

See skills/setlist/SKILL.md for from-source setup, the full tool reference, and example flows.

Attribution & terms

Use is governed by the setlist.fm API terms. In short:

  • Attribute setlist.fm. Every result carries a url; surface it as a followable source link (no nofollow) wherever the data is shown. The tool descriptions instruct the model to do this, and results pass the url through verbatim.
  • Non-commercial only under a free key — commercial use requires setlist.fm's permission.
  • No persistent caching — this server makes a live API call per tool invocation and keeps no datastore. Please don't add one.
  • Keep your API key private — it lives in SETLIST_API_KEY (.env is gitignored) and never appears in tool output.

Development

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

For local runs, put SETLIST_API_KEY=<key> in a .env file (gitignored) next to the project root.

See CLAUDE.md for architecture, conventions, and gotchas.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.