mcpField
S
setlist-mcp

setlist-mcp

本地服务
github.com/chrischall游戏娱乐13 天前更新

关于 setlist-mcp

setlist-mcp 为 Claude 提供 setlist.fm 演出信息,包括歌单、艺人、场馆、巡演和城市。它以只读功能为主,也提供经身份验证的到场标记工具。

主要功能

  1. 01搜索和获取演出歌单
  2. 02查询艺人及其演出歌单
  3. 03搜索场馆及场馆演出歌单
  4. 04查找城市和国家
  5. 05标记或取消标记演出到场

适用场景

  1. 01探索艺人的演出历史
  2. 02查询某场演出播放的歌曲
  3. 03查找场馆或城市中的演出歌单
  4. 04记录参加过的演出

MCP 相关

它将 setlist.fm 数据和到场操作作为工具提供给 MCP 客户端。读取操作使用 setlist.fm REST API;修改到场状态需要经过身份验证的会话 Cookie。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"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>"
}
}
}
}
启动命令npx -y setlist-mcp
需要配置的环境变量
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/).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmsetlist-mcp1.1.9

工具

20

收录的工具列表 · 更新于 2 周前

参数类型必填说明
pinteger否结果页码(默认值为 1)
sortenum否排序方式(sortName = 默认值,或 relevance)sortName | relevance
viewenum否响应格式:"compact"(默认值)会省略响应中其他位置已有的字段;"full" 会返回此服务器支持的所有字段。compact 会从响应中移除图片/头像 URL;"full" 会原样返回 Setlist.fm 的载荷。不进行字段投影:此服务器没有经过验证的记录说明哪些 Setlist.fm 字段重要,自行设定可能会遗漏调用方需要的字段。compact | full
artistMbidstring否艺人的 MusicBrainz ID(mbid)
artistNamestring否要搜索的艺人名称

详细介绍

setlist-mcp

CI npm license

适用于 setlist.fm 的 MCP 服务——通过自然语言在 Claude 中搜索演唱会歌单、艺人、场馆、巡演和城市。主要为只读操作(setlist.fm REST API 不提供写入端点),还支持通过已登录会话执行经过身份验证的「我去过」出席操作。

本项目由 AI(Claude)开发并维护。请自行斟酌使用。

功能

提供 20 个工具——其中 18 个通过 setlist.fm REST API 执行只读操作,另外 2 个用于经过身份验证的「我去过」出席操作:

类别工具
艺人setlist_search_artists、setlist_get_artist、setlist_get_artist_setlists
歌单setlist_search_setlists、setlist_get_setlist、setlist_get_setlist_version
场馆setlist_search_venues、setlist_get_venue、setlist_get_venue_setlists
城市和国家/地区setlist_search_cities、setlist_get_city、setlist_search_countries
用户setlist_get_user、setlist_get_user_attended、setlist_get_user_edited
解析setlist_resolve_concerts
出席(经过身份验证的写入操作)setlist_mark_attended、setlist_unmark_attended
实用工具setlist_healthcheck、setlist_id_from_url

设置

在 setlist.fm/settings/api 获取免费 API 密钥(限非商业用途),然后将服务添加到 .mcp.json:

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

可选:SETLIST_ACCEPT_LANGUAGE(可选值为 en, es, fr, de, pt, tr, it, pl)可用于本地化城市/国家名称。

出席工具(setlist_mark_attended / setlist_unmark_attended)需要你已登录的 www.setlist.fm 会话。你可以将已登录请求的 Cookie 标头设置为 SETLIST_SESSION_COOKIE,也可以安装 ContextMint Bridge(Chrome:解压加载 Chrome zip;Safari 暂不可用——它将随 ContextMint 应用一起发布,但该应用没有公开下载渠道,因此目前请使用 Chrome),并保持登录 www.setlist.fm——服务会在首次使用时从浏览器获取会话 Cookie。设置 SETLIST_DISABLE_FETCHPROXY=1 可关闭浏览器回退功能。

ContextMint Bridge 是更名后的 fetchproxy 浏览器扩展,维护者仍是原来的维护者——fetchproxy 自身的 README 中提供了它的链接。它的源代码公开于 nullnet-app/contextmint-bridge:你可以自行构建,也可以使用同目录发布的 .sha256 文件校验 release zip(shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256)。

有关源码设置、完整工具参考和示例流程,请参阅 skills/setlist/SKILL.md。

署名与条款

使用须遵守 setlist.fm API 条款。简而言之:

  • 注明 setlist.fm。 每条结果都包含 url;在展示数据的任何位置,都应将其显示为可点击跳转的来源链接(不要使用 nofollow)。工具描述会指示模型这样做,结果也会原样传递 url。
  • 使用免费密钥仅限非商业用途——商业用途须获得 setlist.fm 的许可。
  • 不得持久缓存——本服务在每次调用工具时都会实时调用 API,不保留任何数据存储。请勿添加缓存。
  • 妥善保管 API 密钥——密钥保存在 SETLIST_API_KEY 中(.env 已加入 gitignore),不会出现在工具输出中。

开发

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

本地运行时,请在项目根目录旁的 .env 文件中设置 SETLIST_API_KEY=<key>(该文件已加入 gitignore)。

有关架构、约定和注意事项,请参阅 CLAUDE.md。

License

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。