SpotifyMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_now_playingB | Get the currently playing track or episode and full playback state |
| get_currently_playingA | Lightweight poll of what is playing right now: the item, progress, and playing state |
| play_from_searchA | Search Spotify by name and immediately play the best match. Works for songs and podcast episodes — no URI needed. |
| playB | Start or resume playback. Optionally target specific content. |
| pauseA | Pause playback on the active device |
| skip_nextB | Skip to the next track in the queue or context |
| skip_previousA | Skip to the previous track. If more than 3 seconds in, restarts the current track first. |
| seekB | Seek to a position in the current track |
| set_volumeA | Set playback volume (0–100) |
| set_shuffleB | Enable or disable shuffle mode |
| set_repeatA | Set repeat mode: off, context (repeat playlist/album), or track (repeat single track) |
| get_queueB | Get the current playback queue |
| add_to_queueB | Add a track or episode to the end of the playback queue |
| get_devicesA | List available Spotify Connect devices |
| transfer_playbackC | Move playback to a different Spotify Connect device |
| searchA | Search Spotify's catalog for tracks, artists, albums, playlists, shows, or episodes. Pass |
| get_trackA | Get full details for a track by ID |
| get_artistA | Get artist info by ID |
| get_artist_albumsB | List an artist's albums and singles |
| get_albumB | Get album details and track list by ID |
| get_album_tracksA | List the tracks of an album with pagination |
| get_showB | Get full details for a podcast show |
| get_show_episodesB | List a podcast show's episodes with pagination. Resume positions require the user-read-playback-position scope. |
| get_episodeC | Get full details for a podcast episode |
| get_meA | Get the current user's Spotify profile: display name, user ID, email, country, and subscription level. Email requires the user-read-email scope; country and product require user-read-private. |
| get_top_tracksB | Get the user's most-played tracks |
| get_top_artistsA | Get the user's most-played artists |
| get_recently_playedC | Get recently played tracks with timestamps |
| get_saved_tracksA | Get tracks saved in the user's Liked Songs. Set fetch_all=true to retrieve the entire collection (capped at 500 items). |
| get_saved_albumsA | Get albums saved in the user's library. Set fetch_all=true to retrieve the entire collection (capped at 500 items). |
| get_saved_showsA | Get podcast shows saved in the user's library. Set fetch_all=true to retrieve the entire collection (capped at 500 items). |
| get_saved_episodesA | Get podcast episodes saved in the user's library. Set fetch_all=true to retrieve the entire collection (capped at 500 items). |
| save_itemsA | Save one or more items to the user's library. Accepts track, album, show, and episode URIs (e.g. spotify:track:abc). Max 50. |
| remove_saved_itemsC | Remove one or more items from the user's library. Max 50. |
| check_saved_itemsA | Check whether items are saved in the user's library. Returns a boolean per URI. Max 40. |
| get_followed_artistsB | Get all artists the user follows (cursor-based pagination) |
| check_following_artistsA | Check if the user follows specific artists. Returns a boolean per ID. Max 50. |
| get_audiobookA | Get full details for an audiobook by ID. Audiobooks are only available in the US, UK, Canada, Ireland, New Zealand and Australia markets. |
| get_audiobook_chaptersB | List the chapters of an audiobook with pagination. Audiobooks are only available in the US, UK, Canada, Ireland, New Zealand and Australia markets. |
| get_chapterA | Get full details for a single audiobook chapter by ID. Resume position requires the user-read-playback-position scope. Audiobooks are only available in the US, UK, Canada, Ireland, New Zealand and Australia markets. |
| get_saved_audiobooksA | List the audiobooks saved in the current user's Spotify library. Requires the user-library-read scope. |
| get_user_playlistsA | List the current user's playlists |
| get_playlistA | Get a playlist's metadata (including cover image) and items |
| get_playlist_coverC | Get a playlist's cover image URLs |
| upload_playlist_coverA | Replace a playlist's cover image with a base64-encoded JPEG. Requires the ugc-image-upload scope on the Spotify developer dashboard app (plus playlist-modify-public/private); without it Spotify rejects the upload with 403. |
| create_playlistA | Create a new playlist for the current user |
| add_to_playlistB | Add tracks or episodes to a playlist. Max 100 URIs per call. |
| remove_from_playlistB | Remove tracks or episodes from a playlist |
| update_playlistC | Update a playlist's name, description, or visibility |
| reorder_playlist_itemsB | Move a range of items within a playlist |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| dj | Act as a DJ. Based on my top artists and current mood, queue up a set of songs. |
| playlist_from_mood | Create a playlist for a given mood. Searches for tracks and adds them to a new playlist. |
| music_taste_summary | Summarize the user's music taste based on their top tracks and artists across all time ranges. |
| discover_weekly_alternative | Based on my top tracks and recently played songs, find 20 lesser-known songs I probably haven't heard. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| me | Current user profile |
| player-state | Current Spotify playback state |
| player-queue | Current playback queue |
| top-tracks | User's top tracks (medium term) |
| top-artists | User's top artists (medium term) |
| recently-played | Last 20 recently played tracks |
| playlists | All user playlists (names and IDs) |
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/NovaLux12/spotify-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server