io.github.khglynn/spotify-bulk-actions-mcp
平台与服务by khglynn
面向 Spotify 批量操作的 MCP 服务器,支持批量创建播放列表、内容导出与统一管理。
什么是 io.github.khglynn/spotify-bulk-actions-mcp?
面向 Spotify 批量操作的 MCP 服务器,支持批量创建播放列表、内容导出与统一管理。
README
Spotify Bulk Actions MCP
<!-- mcp-name: io.github.khglynn/spotify-bulk-actions-mcp -->A Model Context Protocol (MCP) server for bulk Spotify operations - batch playlist creation, library exports, and large-scale library management.
What makes this different from other Spotify MCPs?
- Confidence scoring - Batch searches return HIGH/MEDIUM/LOW confidence for each match
- Human-in-the-loop - Uncertain matches are exported for review, then re-imported
- Bulk operations - Handle 500+ songs efficiently with rate limiting built-in
- Library exports - Export your complete library data
- Podcast playlist focused - Built specifically for importing song lists from podcast show notes
Support This Project
Made cause I can't not have headphones on, support my 80k+ pocast subscriptions.
Listed On
| Directory | Link |
|---|---|
| PyPI | pypi.org/project/spotify-bulk-actions-mcp |
| mcp.so | mcp.so/server/spotify-bulk-actions-mcp |
| awesome-mcp-servers | PR #1541 (pending) |
Projects I've Built With This
| Project | Description | Links |
|---|---|---|
| recordOS | Which albums do you love most? A visual album collection app | Live · Repo |
| Festival Navigator | Navigate multi-day festivals with friends | Repo |
Playlists Maintained With This MCP
Coming soon: Switched On Pop, This American Life, and more podcast playlists
What This Does
Library Analysis:
- Get all your followed artists
- Get all saved/liked songs (handles libraries up to 10k songs)
- Find unique artists from your library ranked by song count
- Find albums where you have 6+ saved songs (great for vinyl shopping!)
- Export your complete library summary
Bulk Playlist Creation:
- Import song lists from CSV files (for podcast playlists, etc.)
- Batch search with confidence scoring (HIGH/MEDIUM/LOW)
- Automatic handling of uncertain matches for human review
- Create playlists from search results
Quick Start
1. Prerequisites
- Python 3.10+
- A Spotify account
- Spotify Developer credentials (get them here)
2. Clone & Setup
# 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
Also on PyPI:
pip install spotify-bulk-actions-mcp- but you'll still need local.envand auth setup.
3. Authenticate with Spotify (One-Time)
This opens a browser for you to log in:
python setup_auth.py
After login, your token is saved locally in .spotify_cache/.
4. Test It Works
source venv/bin/activate
python -c "from src.utils.auth import is_authenticated; print('Auth OK!' if is_authenticated() else 'Not authenticated')"
5. Connect to Claude Code
Add this to your Claude Code settings (~/.claude/settings.local.json):
{
"mcpServers": {
"spotify": {
"command": "/path/to/spotify-bulk-actions-mcp/venv/bin/python",
"args": ["/path/to/spotify-bulk-actions-mcp/src/server.py"]
}
}
}
Restart Claude Code after adding this.
Available Tools (18)
Library Analysis
| Tool | Description |
|---|---|
check_auth_status | Verify Spotify auth is working |
get_followed_artists | Get all artists you follow |
get_saved_tracks | Get all your liked songs |
get_library_artists | Artists from saved songs, ranked by count |
get_albums_by_song_count | Albums with N+ saved songs |
export_library_summary | Complete library export |
Search
| Tool | Description |
|---|---|
search_track | Search for a single track |
search_track_fuzzy | Broader search when exact fails |
batch_search_tracks | Search many tracks with confidence scores |
get_track_preview_url | Get 30-second preview URL |
Playlists
| Tool | Description |
|---|---|
create_playlist | Create a new playlist |
add_tracks_to_playlist | Add tracks to existing playlist |
import_and_create_playlist | Full CSV → playlist workflow |
create_playlist_from_search_results | Create from batch search |
add_reviewed_tracks | Add reviewed/corrected tracks |
get_playlist_info | Get playlist details |
Utilities
| Tool | Description |
|---|---|
parse_song_list_csv | Validate a song CSV |
export_review_csv | Export uncertain matches for review |
Example Workflows
Get Your Library Stats
Ask Claude:
"What artists do I have the most saved songs from?"
Claude will use get_library_artists and show you.
Find Albums for Vinyl
Ask Claude:
"Find albums where I have 6 or more saved songs"
Claude will use get_albums_by_song_count with min_songs=6.
Create Playlist from Song List
- Create a CSV file:
title,artist
Bohemian Rhapsody,Queen
Hotel California,Eagles
Billie Jean,Michael Jackson
- Ask Claude:
"Create a playlist called 'My Mix' from this CSV: [paste CSV]"
Claude will:
- Parse the CSV
- Search each song with confidence scoring
- Create the playlist with high-confidence matches
- Show you uncertain matches to review
Bulk Podcast Playlist
For large lists (500+ songs):
- Ask Claude to use
batch_search_trackswith your song list - Review the results (HIGH goes in automatically)
- Use
export_review_csvto get uncertain matches - Review/correct in a spreadsheet
- Use
add_reviewed_tracksto add your corrections
Rate Limits
The server handles Spotify's rate limits automatically:
- Small delays between API calls
- Automatic retry on 429 errors
- Caching to reduce repeat calls
For 10k songs, expect the initial library fetch to take 2-3 minutes.
Files & Data
| Location | Purpose |
|---|---|
.env | Your Spotify credentials (gitignored) |
.spotify_cache/ | Auth tokens and cached data (gitignored) |
src/server.py | Main MCP server |
src/tools/ | Tool implementations |
Troubleshooting
"Not authenticated" error:
python setup_auth.py
Rate limit errors: Wait a few minutes and try again. The server will auto-retry.
Token expired:
The server auto-refreshes tokens. If issues persist, re-run setup_auth.py.
Security Notes
- Your credentials are in
.env(gitignored, never committed) - Auth tokens are stored locally in
.spotify_cache/ - Never share your
.envor token files - If credentials are exposed, rotate them in Spotify Dashboard
License
MIT
Made cause I can't not have headphones on. If this helps you, buy me a coffee!
常见问题
io.github.khglynn/spotify-bulk-actions-mcp 是什么?
面向 Spotify 批量操作的 MCP 服务器,支持批量创建播放列表、内容导出与统一管理。
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
邮件模板
by alirezarezvani
快速搭建生产可用的事务邮件系统:生成 React Email/MJML 模板,接入 Resend、Postmark、SendGrid 或 AWS SES,并支持本地预览、i18n、暗色模式、反垃圾优化与追踪埋点。
✎ 面向营销与服务场景,快速搭建高质量邮件模板,省去反复设计与切图成本,成熟度和社区认可都很高。
相关 MCP Server
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。