mcpField
M
musicbrainz-mcp

musicbrainz-mcp

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

关于 musicbrainz-mcp

这是一个 Node MCP 服务,为客户端提供 MusicBrainz 元数据和 Cover Art Archive 图片链接。可选的 OAuth 工具支持提交标签、评分和收藏集修改,每次写入前都需确认。

主要功能

  1. 01使用 Lucene 查询搜索音乐实体
  2. 02按 MBID 查询实体
  3. 03浏览关联实体
  4. 04获取封面图片链接
  5. 05提交标签、评分和收藏集修改

适用场景

  1. 01查找录音、艺人、发行物或厂牌
  2. 02浏览艺人关联的发行物
  3. 03获取发行物的封面链接
  4. 04更新个人标签、评分或收藏集

MCP 相关

向 MCP 客户端提供 MusicBrainz 搜索、查询、浏览、封面获取及可选的 OAuth 写入工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"chrischall-musicbrainz": {
"command": "npx",
"args": [
"-y",
"musicbrainz-mcp"
],
"env": {
"MUSICBRAINZ_USER_AGENT": "<MUSICBRAINZ_USER_AGENT>",
"MUSICBRAINZ_OAUTH_CLIENT_ID": "<MUSICBRAINZ_OAUTH_CLIENT_ID>",
"MUSICBRAINZ_OAUTH_CLIENT_SECRET": "<MUSICBRAINZ_OAUTH_CLIENT_SECRET>",
"MUSICBRAINZ_OAUTH_REFRESH_TOKEN": "<MUSICBRAINZ_OAUTH_REFRESH_TOKEN>"
}
}
}
}
启动命令npx -y musicbrainz-mcp
需要配置的环境变量
MUSICBRAINZ_USER_AGENTOptional override for the User-Agent sent to MusicBrainz.
MUSICBRAINZ_OAUTH_CLIENT_ID密钥OAuth client ID (write tools only). Register at musicbrainz.org/account/applications.
MUSICBRAINZ_OAUTH_CLIENT_SECRET密钥OAuth client secret (write tools only).
MUSICBRAINZ_OAUTH_REFRESH_TOKEN密钥OAuth refresh token with tag/rating/collection scopes (enables the write tools).

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

安装包
npmmusicbrainz-mcp1.2.7

工具

9

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

参数类型必填说明
incarray否要包含的子查询/关系,例如 ["releases","url-rels","tags"]
mbidstring是实体 MBID(UUID)
viewenum否响应格式:"compact"(默认)会省略响应中其他位置已有的字段;"full" 会返回此服务器支持的所有字段。compact 会从响应中移除图像/头像 URL;"full" 会原样返回 MusicBrainz 的载荷。不支持字段投影:此服务器没有经过验证的记录说明哪些 MusicBrainz 字段重要,臆造字段列表可能会遗漏调用方需要的字段。compact | full
entityenum是要查询的实体类型area | artist | event | genre | instrument | label | place | recording | release | release-group | series | work | url

详细介绍

musicbrainz-mcp

CI npm license

面向 MusicBrainz(开放音乐百科全书)的 MCP 服务。它让 Claude 能够实时访问 MusicBrainz 元数据,包括艺术家、发行物、录音、厂牌、作品等,还能访问 Cover Art Archive 图片;此外,(可选)还允许你提交自己的标签、评分和收藏集修改。

由 AI(Claude Code)开发和维护。请自行斟酌使用。

工具

读取(无需凭据):

工具功能
musicbrainz_search使用 Lucene 查询搜索任意实体类型;返回按相关性排序的匹配项和 MBID
musicbrainz_lookup根据 MBID 查找实体,并通过 inc 子查询获取关联数据
musicbrainz_browse列出与另一实体关联的所有实体(例如某位艺术家的所有发行物)
musicbrainz_cover_art获取发行物 / 发行组的 Cover Art Archive 图片 URL
musicbrainz_resolve将粘贴的 musicbrainz.org URL 转换为对应实体
musicbrainz_healthcheck验证连接状态,以及是否已配置 OAuth 写入功能

写入(OAuth,发送前需确认):

工具功能
musicbrainz_submit_tags将用户标签应用到你账户中的实体
musicbrainz_submit_rating设置你对某个实体的 0–100 分评分
musicbrainz_modify_collection在你的收藏集中添加或移除实体

每次写入操作都会先要求你确认,然后才会发起网络请求——请参阅确认。

除 musicbrainz_cover_art 外,上述所有读取工具都接受 view 参数。默认值为 compact,会移除图片和头像 URL——这是一条只会减少字段的规则,因此不会 丢弃未知字段;view: "full" 则原样返回 MusicBrainz 的响应内容。 musicbrainz_cover_art 刻意不接受该参数:图片 URL 就是 它的结果,移除这些 URL 不会缩小响应内容,只会让响应变空。

安装

这是一个 Node MCP 服务(stdio)。将 MCP 宿主指向它:

{
  "mcpServers": {
    "musicbrainz": {
      "command": "npx",
      "args": ["-y", "musicbrainz-mcp"]
    }
  }
}

读取功能立即可用。MusicBrainz 要求客户端每秒最多发送一个请求——服务会自行限流以遵守此限制,因此大型浏览操作会自动控制请求节奏。

启用写入工具(可选)

  1. 在 musicbrainz.org/account/applications 注册应用(重定向 URI 为 urn:ietf:wg:oauth:2.0:oob)。
  2. 使用 tag、rating 和 collection 权限范围完成 OAuth 流程,以获取刷新令牌。
  3. 通过 MCP 宿主的环境变量(或本地 .env)提供以下内容:
MUSICBRAINZ_OAUTH_CLIENT_ID=...
MUSICBRAINZ_OAUTH_CLIENT_SECRET=...
MUSICBRAINZ_OAUTH_REFRESH_TOKEN=...

确认

每次写入都会先征求你的确认。能够显示确认提示的客户端(Claude Code)会显示提示,其中包含实体、标签/评分/合集变更。不支持显示确认提示的客户端(claude.ai、Claude Desktop)则使用两步流程:首次调用不会提交任何内容,而是返回 confirmation-required 预览——标签和评分对应的确切 XML,合集对应的方法和路径——以及 confirmToken;只有使用该令牌重复相同调用才会提交。令牌只能使用一次,且两次调用之间任何参数发生变化都会使令牌失效。

变量默认值
MCP_CONFIRM_MODEask-user在无法显示确认提示的客户端(claude.ai、Claude Desktop)上,写入操作的处理方式。ask-user:分两步进行——首次调用不执行任何操作,并返回预览和令牌;模型必须先在聊天中获得你的批准,才能使用该令牌再次调用。auto:同样分两步进行,但模型查看预览后可以自行使用令牌。refuse:在此类客户端上拒绝写入。能够显示提示的客户端(Claude Code)始终会显示实际提示,除非 MCP_CONFIRM_ELICITATION=off。无法识别的值会按 refuse 处理。
MCP_CONFIRM_ELICITATIONonoff 表示绝不显示确认提示,因此所有客户端都会遵循 MCP_CONFIRM_MODE 的行为。如果某个客户端声称能够显示提示,却始终不显示(写入操作会一直挂起——opencode 2.0.x),请设置此项。其他任何值都会按 on 处理,并在 stderr 上显示警告。
MCP_CONFIRM_TTL_SECONDS600令牌的有效时长。
MCP_CONFIRM_SECRET每个进程随机生成签名密钥;仅当令牌必须在服务重启后仍然有效时才设置。

开发

npm install
npm run build
npm test

架构请参阅 CLAUDE.md,固定的 API 结构请参阅 docs/MUSICBRAINZ-API.md。

许可证

MIT。MusicBrainz 数据采用 CC0 / CC BY-NC-SA 许可。

评论

支持 Markdown

第一次接触 MCP?

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

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