Spotify MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | Yes | Your Spotify app's Client ID | |
| SPOTIFY_REDIRECT_URI | No | OAuth redirect URI | http://127.0.0.1:8888/callback |
| SPOTIFY_CLIENT_SECRET | Yes | Your Spotify app's Client Secret |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_albumA | Get details of a Spotify album by its ID. |
| get_albumsA | Get details of multiple albums in one call (up to 20 IDs). |
| get_album_tracksA | Get tracks of a Spotify album. |
| get_artistA | Get details of a Spotify artist by their ID. |
| get_artistsA | Get details of multiple artists in one call (up to 50 IDs). |
| get_artist_albumsA | Get albums by a Spotify artist. |
| get_trackA | Get details of a Spotify track by its ID. |
| get_tracksA | Get details of multiple tracks in one call (up to 50 IDs). |
| searchA | Search for tracks, albums, artists, playlists, shows, episodes, or audiobooks on Spotify. |
| get_playlistA | Get details of a Spotify playlist. |
| update_playlistB | Update a playlist's name, description, or visibility. |
| get_playlist_itemsA | Get items (tracks/episodes) in a playlist. |
| add_playlist_itemsA | Add tracks or episodes to a playlist. Auto-chunks at 100 items per request. |
| remove_playlist_itemsA | Remove tracks or episodes from a playlist. Auto-chunks at 100 items per request. |
| reorder_playlist_itemsB | Reorder items in a playlist. |
| get_my_playlistsA | Get the current user's playlists. |
| create_playlistB | Create a new playlist for the current user. |
| get_saved_tracksA | Get the current user's saved tracks. |
| get_saved_albumsA | Get the current user's saved albums. |
| get_saved_showsA | Get the current user's saved shows (podcasts). |
| get_saved_episodesA | Get the current user's saved episodes. |
| get_saved_audiobooksA | Get the current user's saved audiobooks. |
| save_to_libraryA | Save items (tracks/albums/shows/episodes/audiobooks) to the user's library. |
| remove_from_libraryA | Remove items from the current user's library. Auto-chunks at 50 items per request. |
| check_saved_in_libraryA | Check if items are saved in the current user's library. |
| get_showA | Get details of a Spotify show (podcast). |
| get_showsA | Get details of multiple shows in one call (up to 50 IDs). |
| get_show_episodesA | Get episodes of a Spotify show. |
| get_episodeA | Get details of a podcast episode. |
| get_episodesA | Get details of multiple episodes in one call (up to 50 IDs). |
| get_audiobookB | Get details of a Spotify audiobook. |
| get_audiobooksA | Get details of multiple audiobooks in one call (up to 50 IDs). |
| get_audiobook_chaptersA | Get chapters of a Spotify audiobook. |
| get_chapterA | Get details of a specific audiobook chapter. |
| get_chaptersA | Get details of multiple chapters in one call (up to 50 IDs). |
| get_my_profileA | Get the current user's Spotify profile. |
| get_my_top_itemsB | Get the current user's top artists or tracks. |
| whoamiA | Diagnostic: show auth status, profile basics, active device, and configured scopes. |
| get_playback_stateA | Get the current playback state including track, device, and progress. |
| get_currently_playingB | Get the currently playing track or episode. |
| playA | Start or resume playback. |
| pauseB | Pause playback on the active device. |
| next_trackA | Skip to the next track. |
| previous_trackA | Skip to the previous track. |
| seekA | Seek to a position in the currently playing track. |
| set_repeatA | Set the repeat mode for playback. |
| set_volumeA | Set the playback volume. |
| toggle_shuffleA | Set or toggle shuffle mode for playback. |
| transfer_playbackA | Transfer playback to a different device. |
| get_devicesA | Get the user's available Spotify devices. |
| add_to_queueA | Add a track or episode to the playback queue. |
| get_queueB | Get the current playback queue. |
| get_recently_playedB | Get the user's recently played tracks. |
| get_followed_artistsA | Get the current user's followed artists. Cursor-paginated. |
| follow_artists_or_usersA | Follow one or more artists or users. Auto-chunks at 50 IDs per request. |
| unfollow_artists_or_usersA | Unfollow one or more artists or users. Auto-chunks at 50 IDs per request. |
| check_followingA | Check whether the current user follows the given artists or users. |
| follow_playlistA | Follow a playlist. |
| unfollow_playlistC | Unfollow a playlist. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| build_playlist_from_recent | Build a new playlist from the user's recent listening. |
| weekly_listening_summary | Summarize what the user listened to in the past week. |
| playlist_from_artists | Build a playlist seeded by a comma-separated list of artists. Args: artists: Comma-separated list of artist names. tracks_per_artist: How many tracks to pull per artist (default 5). |
| library_cleanup | Review the user's saved library and suggest cleanup candidates. Args: scan_size: How many recently-saved tracks to scan (default 100). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| me_profile | |
| me_playback | |
| me_queue | |
| me_top_tracks | |
| me_top_artists |
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/llyfn/spotify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server