loading…
Search for a command to run...
loading…
Bulk Spotify operations with confidence-scored song matching, batch playlist creation from CSV/podcast lists, and library exports for discovering your most-save
Bulk Spotify operations with confidence-scored song matching, batch playlist creation from CSV/podcast lists, and library exports for discovering your most-saved artists and albums.
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?
Made cause I can't not have headphones on, support my 80k+ pocast subscriptions. Buy Me A Coffee
| 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) |
| 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 |
Coming soon: Switched On Pop, This American Life, and more podcast playlists
Library Analysis:
Bulk Playlist Creation:
# 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.
This opens a browser for you to log in:
python setup_auth.py
After login, your token is saved locally in .spotify_cache/.
source venv/bin/activate
python -c "from src.utils.auth import is_authenticated; print('Auth OK!' if is_authenticated() else 'Not authenticated')"
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.
| 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 |
| 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 |
| 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 |
| Tool | Description |
|---|---|
parse_song_list_csv |
Validate a song CSV |
export_review_csv |
Export uncertain matches for review |
Ask Claude:
"What artists do I have the most saved songs from?"
Claude will use get_library_artists and show you.
Ask Claude:
"Find albums where I have 6 or more saved songs"
Claude will use get_albums_by_song_count with min_songs=6.
title,artist
Bohemian Rhapsody,Queen
Hotel California,Eagles
Billie Jean,Michael Jackson
"Create a playlist called 'My Mix' from this CSV: [paste CSV]"
Claude will:
For large lists (500+ songs):
batch_search_tracks with your song listexport_review_csv to get uncertain matchesadd_reviewed_tracks to add your correctionsThe server handles Spotify's rate limits automatically:
For 10k songs, expect the initial library fetch to take 2-3 minutes.
| 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 |
"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.
.env (gitignored, never committed).spotify_cache/.env or token filesMIT
Made cause I can't not have headphones on. If this helps you, buy me a coffee!
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"khglynn-spotify-bulk-actions-mcp": {
"command": "npx",
"args": []
}
}
}Transcripts, channel stats, search
AI image generation using various models.
Unified GPU inference API with 30 AI services (LLM, image gen, video, TTS, whisper, embeddings, reranking, OCR) as MCP tools. Pay-per-use via x402 USDC or API k
A powerful image generation tool using Google's Imagen 3.0 API through MCP. Generate high-quality images from text prompts with advanced photography, artistic,