mcpField
S
Spotify Bulk Actions Mcp

Spotify Bulk Actions Mcp

本地服务
github.com/khglynn媒体与设计23 周前更新

关于 Spotify Bulk Actions Mcp

Spotify Bulk Actions MCP 是面向 Spotify 用户的批量管理 MCP 服务,适合整理音乐库和从歌单清单创建播放列表。它为批量搜索结果提供置信度评分,并支持人工复核不确定匹配。

主要功能

  1. 01批量搜索歌曲并评估匹配置信度
  2. 02从 CSV 创建播放列表
  3. 03导出音乐库和播放列表
  4. 04批量关注艺人及保存歌曲
  5. 05管理、比较和清理播放列表

适用场景

  1. 01从播客节目单批量创建播放列表
  2. 02复核低置信度歌曲匹配
  3. 03导出音乐库或播放列表以作整理
  4. 04查找重复曲目并批量调整播放列表

MCP 相关

该 MCP 服务通过工具向 MCP 客户端提供 Spotify 音乐库、播放列表、搜索和批量操作功能;支持本地运行,也可通过 Streamable HTTP 提供远程连接。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"spotify-bulk-actions": {
"command": "uvx",
"args": [
"spotify-bulk-actions-mcp"
],
"env": {
"SPOTIFY_CLIENT_ID": "<SPOTIFY_CLIENT_ID>",
"SPOTIFY_CLIENT_SECRET": "<SPOTIFY_CLIENT_SECRET>"
}
}
}
}
启动命令uvx spotify-bulk-actions-mcp
需要配置的环境变量
SPOTIFY_CLIENT_IDSpotify API Client ID from developer.spotify.com
SPOTIFY_CLIENT_SECRET密钥Spotify API Client Secret from developer.spotify.com

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

安装包
pypispotify-bulk-actions-mcp0.1.1

工具

32

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

此工具无需参数。

详细介绍

Spotify 批量操作 MCP

Spotify 批量操作 MCP

用于 Spotify 批量操作的模型上下文协议(MCP)服务——批量创建播放列表、导出曲库,以及大规模管理曲库。

它与其他 Spotify MCP 有何不同?

  • 置信度评分——批量搜索会为每个匹配结果返回 HIGH/MEDIUM/LOW 置信度
  • 人工参与流程——不确定的匹配结果会导出供人工审核,之后再重新导入
  • 批量操作——高效处理 500 首以上的歌曲,内置速率限制
  • 曲库导出——导出完整的曲库数据
  • 专注于播客播放列表——专为从播客节目备注中导入歌曲列表而构建

支持此项目

开发这个项目是因为我离不开耳机,想管理我订阅的 8 万多个播客。支持我:请我喝杯咖啡


收录于

目录链接
PyPIpypi.org/project/spotify-bulk-actions-mcp
mcp.somcp.so/server/spotify-bulk-actions-mcp
awesome-mcp-serversPR #1541 (待处理)

我用它构建的项目

项目描述链接
recordOS你最喜欢哪些专辑?一款可视化专辑收藏应用在线体验 · 代码库
Festival Navigator与朋友一起探索多日音乐节代码库
使用此 MCP 维护的播放列表

即将推出:Switched On Pop、This American Life 等播客播放列表


功能介绍

曲库分析:

  • 获取所有已关注的艺人
  • 获取所有已保存/点赞的歌曲(支持多达 1 万首歌曲的曲库)
  • 按歌曲数量排名,查找曲库中不重复的艺人
  • 查找已保存歌曲数量达到 6 首及以上的专辑(非常适合挑选黑胶唱片!)
  • 导出完整的曲库摘要

收听洞察:

  • 收听次数最多的艺人和曲目(短期/中期/长期)
  • 最近播放记录

批量创建播放列表:

  • 从 CSV 文件导入歌曲列表(用于播客播放列表等)
  • 按置信度评分进行批量搜索(HIGH/MEDIUM/LOW)
  • 自动处理不确定的匹配结果,以供人工审核
  • 根据搜索结果创建播放列表

播放列表维护:

  • 查找并移除重复曲目
  • 比较两个播放列表(共有曲目与各自独有的曲目)
  • 批量移除和重新排序曲目,更新播放列表详情
  • 将任意播放列表导出为 CSV

曲库批量操作:

  • 批量关注/取消关注艺人
  • 批量保存/取消保存曲目

快速开始

1. 前置条件
  • Python 3.10+
  • Spotify 账号
  • Spotify 开发者凭据(在此获取)
2. 克隆并设置
# Clone the repo
git clone https://github.com/khglynn/spotify-bulk-actions-mcp.git
cd spotify-bulk-actions-mcp

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install the package
pip install -e .

# Copy env example and add your credentials
cp .env.example .env
# Edit .env with your SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET

也可通过 PyPI 安装: pip install spotify-bulk-actions-mcp——但仍需在本地设置 .env 并完成身份验证。

3. 使用 Spotify 进行身份验证(一次性)

这会打开浏览器供你登录:

python setup_auth.py

登录后,你的令牌会保存在本地的 .spotify_cache/ 中。

4. 测试是否正常运行
source venv/bin/activate
python -c "from spotify_bulk_actions_mcp.utils.auth import is_authenticated; print('Auth OK!' if is_authenticated() else 'Not authenticated')"
选项 B:托管服务(claude.ai 自定义连接器)

此服务也可作为基于流式 HTTP 的远程 MCP 服务运行(MCP_TRANSPORT=http), 前置 OAuth 2.1(WorkOS AuthKit),并使用默认拒绝的用户允许列表。这就是 作者的运行方式:在 Cloud Run 上运行,通过 Secret Manager 保存 Spotify 刷新令牌, 并将其作为自定义连接器添加到 claude.ai。工具带有 readOnlyHint/destructiveHint 注释,客户端可据此区分读取操作与写入操作。请参阅 Dockerfile 和 上级集合代码库中的部署说明。

5. 连接到 Claude Code

将以下内容添加到 Claude Code 设置中(~/.claude/settings.local.json):

{
  "mcpServers": {
    "spotify": {
      "command": "/path/to/spotify-bulk-actions-mcp/venv/bin/spotify-bulk-actions-mcp"
    }
  }
}

添加后重启 Claude Code。

可用工具(33 个)

媒体库分析
工具描述
check_auth_status验证 Spotify 身份验证是否正常
get_followed_artists获取你关注的所有艺人
get_saved_tracks获取你所有点赞的歌曲
get_library_artists根据保存歌曲的数量对艺人进行排名
get_albums_by_song_count获取至少有 N 首已保存歌曲的专辑
export_library_summary导出完整媒体库
收听洞察
工具描述
get_top_artists获取你最常听的艺人(短期/中期/长期)
get_top_tracks获取你最常听的曲目(短期/中期/长期)
get_recently_played获取最近播放的曲目
媒体库批量操作
工具描述
follow_artists批量关注艺人
unfollow_artists批量取消关注艺人
save_tracks批量点赞/保存曲目
unsave_tracks批量取消点赞/移除已保存曲目
搜索
工具描述
search_track搜索单首曲目
search_track_fuzzy精确搜索失败时进行更宽泛的搜索
batch_search_tracks批量搜索曲目并提供置信度分数
get_track_preview_url获取 30 秒试听链接
创建播放列表
工具描述
create_playlist创建新播放列表
add_tracks_to_playlist将曲目添加到现有播放列表
import_and_create_playlist完整的 CSV → 播放列表工作流
create_playlist_from_search_results根据批量搜索结果创建播放列表
add_reviewed_tracks添加已审核/更正的曲目
播放列表管理
工具描述
get_playlist_info获取播放列表详情
update_playlist更新名称、描述和公开状态
get_playlist_tracks获取播放列表中的所有曲目
export_playlist_to_csv将播放列表导出为 CSV
compare_playlists比较两个播放列表中的共有和独有曲目
find_duplicate_tracks查找播放列表中的重复曲目
remove_duplicate_tracks移除重复曲目,并保留首次出现的曲目
remove_tracks_from_playlist批量移除指定曲目
reorder_playlist_tracks调整播放列表中曲目的顺序
实用工具
工具描述
parse_song_list_csv验证歌曲 CSV
export_review_csv导出不确定的匹配项以供审核

与 Spotify 官方连接器的区别

Claude 有一个由 Spotify 于 2026 年 4 月构建的官方 Spotify 连接器。它在自身功能方面表现出色,但提供的工具种类不多;这个 MCP 则涵盖了它未涉及的功能。截至 2026 年 8 月,官方连接器提供 8 个工具:搜索 Spotify、创建播放列表、获取当前播放内容、添加到媒体库、从媒体库移除、获取播放列表曲目,以及两个身份验证工具。

功能官方连接器此 MCP
搜索、播放上下文、情绪播放列表✅仅搜索
创建播放列表✅✅(另支持 CSV 导入和置信度评分)
添加/移除已点赞歌曲✅(一次一首)✅ 批量操作
读取完整媒体库(已保存曲目、关注的艺人)❌✅
收听洞察(最常听的艺人/曲目、最近播放)❌✅
编辑现有播放列表(批量移除、调整顺序、更新详情)❌✅
去重/比较/将播放列表导出为 CSV❌✅
批量关注/取消关注艺人❌✅

还有一点不同:官方连接器运行在 Spotify 的合作伙伴专用 MCP 网关上(不支持动态客户端注册;普通开发者应用获取的令牌会被拒绝),因此只能在合作伙伴提供的 AI 平台中使用。此 MCP 使用你自己的 Spotify 开发者应用运行——开发模式限制仍然适用(截至 2026 年 2 月,每个 Client ID 最多允许 5 位用户),但你可以全程自行掌控。

示例工作流

获取你的资料库统计信息

询问 Claude:

“我保存的歌曲中,哪些艺人的歌曲最多?”

Claude 会使用 get_library_artists 并向你展示结果。

查找适合黑胶唱片的专辑

询问 Claude:

“查找我保存了 6 首或更多歌曲的专辑”

Claude 会使用 get_albums_by_song_count,并设置 min_songs=6。

根据歌曲列表创建播放列表
  1. 创建一个 CSV 文件:
title,artist
Bohemian Rhapsody,Queen
Hotel California,Eagles
Billie Jean,Michael Jackson
  1. 询问 Claude:

“根据这个 CSV 创建一个名为 ‘My Mix’ 的播放列表:[粘贴 CSV]”

Claude 会:

  1. 解析 CSV
  2. 使用置信度评分搜索每首歌曲
  3. 根据高置信度匹配结果创建播放列表
  4. 显示不确定的匹配结果供你审核
批量播客播放列表

对于较长的列表(500 首以上歌曲):

  1. 让 Claude 使用 batch_search_tracks 搜索你的歌曲列表
  2. 检查结果(高置信度结果会自动添加)
  3. 使用 export_review_csv 导出不确定的匹配结果
  4. 在电子表格中审核并更正
  5. 使用 add_reviewed_tracks 添加你更正后的歌曲

速率限制

服务会自动处理 Spotify 的速率限制:

  • API 调用之间加入短暂延迟
  • 收到 429 错误时自动重试
  • 使用缓存减少重复调用

对于 10k 首歌曲,首次获取资料库预计需要 2-3 分钟。

文件和数据

位置用途
.env你的 Spotify 凭据(已加入 gitignore)
.spotify_cache/身份验证令牌和缓存数据(已加入 gitignore)
spotify_bulk_actions_mcp/server.py主要 MCP 服务
spotify_bulk_actions_mcp/tools/工具实现

故障排除

“未通过身份验证”错误:

python setup_auth.py

速率限制错误: 等待几分钟后重试。服务会自动重试。

令牌已过期: 服务会自动刷新令牌。如果问题仍然存在,请重新运行 setup_auth.py。

安全说明

  • 你的凭据位于 .env 中(已加入 gitignore,绝不会提交)
  • 身份验证令牌存储在本地的 .spotify_cache/ 中
  • 切勿分享你的 .env 或令牌文件
  • 如果凭据泄露,请在 Spotify 控制台中轮换凭据

许可证

MIT


制作这个是因为我离不开耳机。如果这对你有帮助,请给我买杯咖啡!

评论

支持 Markdown

第一次接触 MCP?

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

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