io.github.chrischall/setlist-mcp
setlist.fm concert data for Claude — setlists, artists, venues, tours, and cities
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
setlist-mcpclaude mcp add setlist-mcp -e 'SETLIST_API_KEY=<your setlist_api_key>' -e 'SETLIST_ACCEPT_LANGUAGE=<SETLIST_ACCEPT_LANGUAGE>' -e 'SETLIST_SESSION_COOKIE=<your setlist_session_cookie>' -e 'SETLIST_DISABLE_FETCHPROXY=<SETLIST_DISABLE_FETCHPROXY>' -e 'FETCHPROXY_WS_PORT=<FETCHPROXY_WS_PORT>' -e 'FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST>' -e 'FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR>' -- npx -y setlist-mcp@1.1.9
{
"mcpServers": {
"setlist-mcp": {
"command": "npx",
"args": [
"-y",
"setlist-mcp@1.1.9"
],
"env": {
"SETLIST_API_KEY": "<your setlist_api_key>",
"SETLIST_ACCEPT_LANGUAGE": "<SETLIST_ACCEPT_LANGUAGE>",
"SETLIST_SESSION_COOKIE": "<your 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>"
}
}
}
}
متغيرات البيئة
SETLIST_API_KEYسري Your 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_COOKIEسري Optional. 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/).
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
setlist-mcp
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:
| Area | Tools |
|---|---|
| Artists | setlist_search_artists, setlist_get_artist, setlist_get_artist_setlists |
| Setlists | setlist_search_setlists, setlist_get_setlist, setlist_get_setlist_version |
| Venues | setlist_search_venues, setlist_get_venue, setlist_get_venue_setlists |
| Cities & countries | setlist_search_cities, setlist_get_city, setlist_search_countries |
| Users | setlist_get_user, setlist_get_user_attended, setlist_get_user_edited |
| Resolve | setlist_resolve_concerts |
| Attendance (authenticated writes) | setlist_mark_attended, setlist_unmark_attended |
| Utility | setlist_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 (nonofollow) wherever the data is shown. The tool descriptions instruct the model to do this, and results pass theurlthrough 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(.envis 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
الأسئلة الشائعة
ما هو io.github.chrischall/setlist-mcp؟
setlist.fm concert data for Claude — setlists, artists, venues, tours, and cities
كيف أثبّت io.github.chrischall/setlist-mcp؟
يعمل على جهازك. في Claude Code: claude mcp add setlist-mcp -e 'SETLIST_API_KEY=<your setlist_api_key>' -e 'SETLIST_ACCEPT_LANGUAGE=<SETLIST_ACCEPT_LANGUAGE>' -e 'SETLIST_SESSION_COOKIE=<your setlist_session_cookie>' -e 'SETLIST_DISABLE_FETCHPROXY=<SETLIST_DISABLE_FETCHPROXY>' -e 'FETCHPROXY_WS_PORT=<FETCHPROXY_WS_PORT>' -e 'FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST>' -e 'FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR>' -- npx -y setlist-mcp@1.1.9. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج io.github.chrischall/setlist-mcp إلى مفتاح API؟
نعم. يتطلب SETLIST_API_KEY, SETLIST_SESSION_COOKIE، وتضبطها في إعداداته.
هل io.github.chrischall/setlist-mcp مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون io.github.chrischall/setlist-mcp؟
ينشره chrischall. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.