io.github.khglynn/spotify-bulk-actions-mcp
Allows batch playlist creation, library exports, and large-scale library management with confidence scoring for track matching and human-in-the-loop review.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@io.github.khglynn/spotify-bulk-actions-mcpimport CSV of podcast songs and create playlist"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: Tempo
Listed On
Directory | Link |
PyPI | |
mcp.so | |
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 | |
Festival Navigator | Navigate multi-day festivals with friends |
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
Listening Insights:
Your top artists and tracks (short/medium/long term)
Recently played history
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
Playlist Maintenance:
Find and remove duplicate tracks
Compare two playlists (shared vs unique tracks)
Bulk remove and reorder tracks, update playlist details
Export any playlist to CSV
Bulk Library Actions:
Follow/unfollow artists in bulk
Save/unsave tracks in bulk
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_SECRETAlso 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.pyAfter login, your token is saved locally in .spotify_cache/.
4. Test It Works
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')"Option B: Hosted (claude.ai custom connector)
This server also runs as a remote MCP over streamable HTTP (MCP_TRANSPORT=http),
fronted by OAuth 2.1 (WorkOS AuthKit) with a fail-closed user allowlist. That's how
the author runs it: Cloud Run + Secret Manager for the Spotify refresh token, added
to claude.ai as a custom connector. Tools carry readOnlyHint/destructiveHint
annotations so clients can group read vs write actions. See Dockerfile and the
deploy notes in the parent collection repo.
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/spotify-bulk-actions-mcp"
}
}
}Restart Claude Code after adding this.
Available Tools (33)
Library Analysis
Tool | Description |
| Verify Spotify auth is working |
| Get all artists you follow |
| Get all your liked songs |
| Artists from saved songs, ranked by count |
| Albums with N+ saved songs |
| Complete library export |
Listening Insights
Tool | Description |
| Your top artists (short/medium/long term) |
| Your top tracks (short/medium/long term) |
| Recently played tracks |
Bulk Library Actions
Tool | Description |
| Follow artists in bulk |
| Unfollow artists in bulk |
| Like/save tracks in bulk |
| Un-like tracks in bulk |
Search
Tool | Description |
| Search for a single track |
| Broader search when exact fails |
| Search many tracks with confidence scores |
| Get 30-second preview URL |
Playlist Creation
Tool | Description |
| Create a new playlist |
| Add tracks to existing playlist |
| Full CSV → playlist workflow |
| Create from batch search |
| Add reviewed/corrected tracks |
Playlist Management
Tool | Description |
| Get playlist details |
| Update name, description, public status |
| Get all tracks in a playlist |
| Export a playlist to CSV |
| Shared vs unique tracks between two playlists |
| Find duplicates in a playlist |
| Remove duplicates, keeping first occurrence |
| Bulk remove specific tracks |
| Move tracks within a playlist |
Utilities
Tool | Description |
| Validate a song CSV |
| Export uncertain matches for review |
How This Differs From the Official Spotify Connector
Claude has an official Spotify connector (built by Spotify, April 2026). It's excellent at what it does — but its tool surface is small, and this MCP exists for everything it doesn't cover. As of August 2026 the official connector exposes 8 tools: Search Spotify, Create Playlist, Get Currently Playing, Add to Library, Remove from Library, Fetch Playlist Tracks, and two auth utilities.
Capability | Official connector | This MCP |
Search, playback context, mood playlists | ✅ | Search only |
Create a playlist | ✅ | ✅ (plus CSV import w/ confidence scoring) |
Add/remove Liked Songs | ✅ (one at a time) | ✅ bulk |
Read your full library (saved tracks, followed artists) | ❌ | ✅ |
Listening insights (top artists/tracks, recently played) | ❌ | ✅ |
Edit existing playlists (bulk remove, reorder, update details) | ❌ | ✅ |
Dedupe / compare / export playlists to CSV | ❌ | ✅ |
Bulk follow/unfollow artists | ❌ | ✅ |
One more difference: the official connector runs on Spotify's partner-gated MCP gateway (no dynamic client registration; tokens from ordinary developer apps are rejected), so it's only usable inside partnered AI surfaces. This MCP runs under your own Spotify developer app — Development Mode limits apply (5 allowlisted users per Client ID as of February 2026), but you control it end to end.
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 JacksonAsk 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 listReview the results (HIGH goes in automatically)
Use
export_review_csvto get uncertain matchesReview/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 |
| Your Spotify credentials (gitignored) |
| Auth tokens and cached data (gitignored) |
| Main MCP server |
| Tool implementations |
Troubleshooting
"Not authenticated" error:
python setup_auth.pyRate 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 filesIf 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!
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceAn MCP server that enables users to control Spotify playback, search music, and manage playlists through natural conversation. It is updated for the February 2026 Spotify Web API changes and supports full playlist CRUD operations.167MIT
- Alicense-qualityCmaintenanceAn MCP server for Spotify control and synchronized lyrics retrieval that enables playback management, queue navigation, and music search capabilities. It also features perception tools for real-time track analysis, including BPM, key detection, and timestamped lyrics.1293Apache 2.0
- Alicense-qualityFmaintenanceAn MCP server that enables users to control Spotify playback, search for music, and manage playlists through MCP-compatible clients. It supports features like track recommendations and playback management using secure OAuth authentication.MIT
- Alicense-qualityBmaintenanceA remote MCP server for Spotify with brokered OAuth and server-side intelligence, enabling search, playlist management, playback control, library analysis, and listening trends via natural language.1164MIT
Related MCP Connectors
Spotify MCP — Web API via client_credentials OAuth
MCP server for Producer/Riffusion AI music generation
Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/khglynn/spotify-bulk-actions-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server