{"name":"io.github.chrischall/setlist-mcp","slug":"chrischall-setlist-mcp","title":null,"description":"setlist.fm concert data for Claude — setlists, artists, venues, tours, and cities","url":"https://mcp.market/server/chrischall-setlist-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":31,"stars":1,"forks":0,"downloads_week":481,"last_push_at":"2026-09-19T13:07:44.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/chrischall/setlist-mcp","website":null,"version":"1.0.0","remotes":[],"packages":[{"registryType":"npm","identifier":"setlist-mcp","version":"1.0.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Your setlist.fm API key (apply at setlist.fm/settings/api)","isRequired":true,"format":"string","isSecret":true,"name":"SETLIST_API_KEY"},{"description":"Optional language for city/country names (en, es, fr, de, pt, tr, it, pl)","format":"string","name":"SETLIST_ACCEPT_LANGUAGE"},{"description":"Optional. Logged-in www.setlist.fm Cookie header — enables the attendance write tools.","format":"string","isSecret":true,"name":"SETLIST_SESSION_COOKIE"}]}],"tools":[{"name":"setlist_get_artist","description":"Get a setlist.fm artist by their MusicBrainz ID (mbid).","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_get_artist_setlists","description":"Get an artist's setlists (most recent first) by their MusicBrainz ID (mbid). Paginated via `p`.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_get_city","description":"Get a city by its geoId.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_get_setlist","description":"Get a setlist.fm setlist by its ID, including the full song list and event details.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_get_setlist_version","description":"Get 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_get_user","description":"Get a setlist.fm user's public profile by their userId (their setlist.fm username).","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_get_user_attended","description":"Get the concerts a setlist.fm user has marked as attended. Paginated via `p`.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_get_user_edited","description":"Get the setlists a setlist.fm user has created or edited. Paginated via `p`.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_get_venue","description":"Get a setlist.fm venue by its ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_get_venue_setlists","description":"Get setlists performed at a venue, by venue ID (most recent first). Paginated via `p`.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_healthcheck","description":"Confirm the API key is configured and works by calling the setlist.fm countries endpoint. Reports {ok, authenticated, country_count} with a plain-English hint distinguishing \"no key\" vs \"bad key\" vs \"API error\". Read-only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_id_from_url","description":"Parse the setlist ID out of a setlist.fm setlist URL so you can paste a link instead of hunting for the ID. Returns {setlistId} (the trailing hex token before .html), ready to feed into setlist_get_setlist / setlist_mark_attended. Scoped to /setlist/ pages — artist (/setlists/) and venue (/venue/) URLs are rejected. Tolerates http/https, with/without www, trailing slash, query/fragment, and a miss","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_mark_attended","description":"Record on YOUR setlist.fm account that you attended a show — the site's \"I was there\" marker — by setlist ID. Authenticated via your session (needs SETLIST_SESSION_COOKIE). Idempotent: a no-op if already marked. Without confirm: true it returns a dry-run preview and makes NO change; with confirm: true it toggles attendance and verifies by re-reading your attended list.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_resolve_concerts","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_search_artists","description":"Search 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_search_cities","description":"Search 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_search_countries","description":"List all countries supported by setlist.fm, with their ISO country codes. Use a code as countryCode in setlist_search_setlists.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_search_setlists","description":"Search 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_search_venues","description":"Search 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"setlist_unmark_attended","description":"Remove a show from YOUR attended list on setlist.fm, by setlist ID (reverses setlist_mark_attended). Authenticated via your session. Idempotent: a no-op if not currently attended. Without confirm: true it returns a dry-run preview and makes NO change; with confirm: true it removes the attendance and verifies by re-reading.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-19T19:48:35.715Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:48:35.635Z","components":{"code":{"score":25,"max":25,"notes":["23 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"setlist-mcp","version":"1.0.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":6,"publishedAt":"2026-09-19T11:18:08.140Z","repositoryUrl":"git+https://github.com/chrischall/setlist-mcp.git"}],"repo":{"found":true,"owner":"chrischall","repo":"setlist-mcp","archived":false,"pushedAt":"2026-09-19T13:07:44Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/10564245?v=4","ownerCreatedAt":"2015-01-16T16:58:09Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":1,"forks":0,"downloadsWeek":481,"license":"MIT","lastPushAt":"2026-09-19T13:07:44.000Z","score":31}}}},"grade_history":[],"reviews":[]}