io.github.khglynn/spotify-bulk-actions-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | Yes | Your Spotify API client ID from the Spotify Developer Dashboard. | |
| SPOTIFY_CLIENT_SECRET | Yes | Your Spotify API client secret from the Spotify Developer Dashboard. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_auth_statusA | Check if Spotify authentication is set up and working. Returns current user info if authenticated. |
| get_top_artistsA | Get your top artists based on listening history. Great for understanding your music taste and finding festival lineups. |
| get_top_tracksA | Get your top tracks based on listening history. |
| get_recently_playedC | Get your recently played tracks. |
| get_followed_artistsB | Get all artists you follow on Spotify. |
| get_saved_tracksA | Get all your liked/saved songs on Spotify. Note: This may take 1-2 minutes for large libraries (10k songs). |
| get_library_artistsA | Get unique artists from your saved songs, sorted by song count. This shows artists you have saved songs from (even if not followed), ranked by how many songs you've saved. |
| get_albums_by_song_countA | Find albums where you have N or more saved songs. Great for finding albums worth buying on vinyl! |
| export_library_summaryA | Export a complete summary of your Spotify library. Includes:
|
| follow_artistsB | Follow artists on Spotify. |
| unfollow_artistsA | Unfollow artists on Spotify. For safety, returns a preview unless confirm=True. |
| save_tracksA | Save tracks to your Spotify library (like/heart them). |
| unsave_tracksA | Remove tracks from your Spotify library. For safety, returns a preview unless confirm=True. |
| search_trackC | Search for a single track and get matches with confidence scores. |
| search_track_fuzzyA | Broader fuzzy search when exact match fails. Tries multiple strategies:
|
| batch_search_tracksA | Search for multiple tracks with confidence scoring. Categorizes results:
|
| get_track_preview_urlA | Get the 30-second preview URL for a track. |
| create_playlistC | Create a new Spotify playlist. |
| add_tracks_to_playlistA | Add tracks to an existing playlist. Handles batching automatically (Spotify max 100 per request). |
| create_playlist_from_search_resultsB | Create a playlist from batch search results. |
| import_and_create_playlistA | Full workflow: Parse song list CSV, search all tracks, create playlist. This is the main tool for bulk playlist creation from a list of songs. |
| add_reviewed_tracksA | Add tracks from a reviewed CSV to an existing playlist. Use this after reviewing uncertain matches from a batch search. The CSV should have an 'action' column:
|
| get_playlist_infoC | Get information about a playlist. |
| update_playlistB | Update playlist details (name, description, public status). Only provide the fields you want to change. |
| get_playlist_tracksA | Get all tracks from a playlist. |
| export_playlist_to_csvA | Export a playlist to CSV format. Great for backing up playlists or sharing song lists. |
| compare_playlistsB | Compare two playlists to find shared and unique tracks. |
| find_duplicate_tracksB | Find duplicate tracks in a playlist. |
| remove_duplicate_tracksA | Remove duplicate tracks from a playlist, keeping the first occurrence. For safety, returns a preview unless confirm=True. |
| remove_tracks_from_playlistA | Remove specific tracks from a playlist. For safety, returns a preview unless confirm=True. |
| reorder_playlist_tracksC | Move tracks within a playlist. |
| parse_song_list_csvA | Parse a CSV of songs into a structured list. Use this to validate your CSV before batch searching. |
| export_review_csvA | Export medium/low confidence matches to a CSV for human review. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
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