io.github.khglynn/spotify-bulk-actions-mcp

平台与服务

by khglynn

面向 Spotify 批量操作的 MCP 服务器,支持批量创建播放列表、内容导出与统一管理。

什么是 io.github.khglynn/spotify-bulk-actions-mcp

面向 Spotify 批量操作的 MCP 服务器,支持批量创建播放列表、内容导出与统一管理。

README

<p align="center"> <img src="logo.png" alt="Spotify Bulk Actions MCP" width="200"> </p>

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. Buy Me A Coffee


Listed On

DirectoryLink
PyPIpypi.org/project/spotify-bulk-actions-mcp
mcp.somcp.so/server/spotify-bulk-actions-mcp
awesome-mcp-serversPR #1541 (pending)

Projects I've Built With This

ProjectDescriptionLinks
recordOSWhich albums do you love most? A visual album collection appLive · Repo
Festival NavigatorNavigate multi-day festivals with friendsRepo

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

bash
# 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 .env and auth setup.

3. Authenticate with Spotify (One-Time)

This opens a browser for you to log in:

bash
python setup_auth.py

After login, your token is saved locally in .spotify_cache/.

4. Test It Works

bash
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):

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

ToolDescription
check_auth_statusVerify Spotify auth is working
get_followed_artistsGet all artists you follow
get_saved_tracksGet all your liked songs
get_library_artistsArtists from saved songs, ranked by count
get_albums_by_song_countAlbums with N+ saved songs
export_library_summaryComplete library export

Search

ToolDescription
search_trackSearch for a single track
search_track_fuzzyBroader search when exact fails
batch_search_tracksSearch many tracks with confidence scores
get_track_preview_urlGet 30-second preview URL

Playlists

ToolDescription
create_playlistCreate a new playlist
add_tracks_to_playlistAdd tracks to existing playlist
import_and_create_playlistFull CSV → playlist workflow
create_playlist_from_search_resultsCreate from batch search
add_reviewed_tracksAdd reviewed/corrected tracks
get_playlist_infoGet playlist details

Utilities

ToolDescription
parse_song_list_csvValidate a song CSV
export_review_csvExport 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

  1. Create a CSV file:
csv
title,artist
Bohemian Rhapsody,Queen
Hotel California,Eagles
Billie Jean,Michael Jackson
  1. Ask Claude:

"Create a playlist called 'My Mix' from this CSV: [paste CSV]"

Claude will:

  1. Parse the CSV
  2. Search each song with confidence scoring
  3. Create the playlist with high-confidence matches
  4. Show you uncertain matches to review

Bulk Podcast Playlist

For large lists (500+ songs):

  1. Ask Claude to use batch_search_tracks with your song list
  2. Review the results (HIGH goes in automatically)
  3. Use export_review_csv to get uncertain matches
  4. Review/correct in a spreadsheet
  5. Use add_reviewed_tracks to 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

LocationPurpose
.envYour Spotify credentials (gitignored)
.spotify_cache/Auth tokens and cached data (gitignored)
src/server.pyMain MCP server
src/tools/Tool implementations

Troubleshooting

"Not authenticated" error:

bash
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 .env or 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

Universal
热门

聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。

想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。

平台与服务
未扫描123.0k

Slack动图

by anthropics

Universal
热门

面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。

帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。

平台与服务
未扫描123.0k

邮件模板

by alirezarezvani

Universal
热门

快速搭建生产可用的事务邮件系统:生成 React Email/MJML 模板,接入 Resend、Postmark、SendGrid 或 AWS SES,并支持本地预览、i18n、暗色模式、反垃圾优化与追踪埋点。

面向营销与服务场景,快速搭建高质量邮件模板,省去反复设计与切图成本,成熟度和社区认可都很高。

平台与服务
未扫描12.5k

相关 MCP Server

Slack 消息

编辑精选

by Anthropic

热门

Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。

这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。

平台与服务
84.2k

by netdata

热门

io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。

这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。

平台与服务
78.5k

by d4vinci

热门

Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。

这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。

平台与服务
38.1k

评论