Spotify MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | Yes | Your Spotify Developer App Client ID from https://developer.spotify.com/dashboard | |
| SPOTIFY_REDIRECT_URI | Yes | The redirect URI configured in your Spotify Developer App (must match exactly) | http://localhost:8888/callback |
| SPOTIFY_CLIENT_SECRET | Yes | Your Spotify Developer App Client Secret from https://developer.spotify.com/dashboard |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| spotify_get_playback_stateA | Get complete information about the user's current playback state, including track, artist, album, progress, device, and all settings. Returns comprehensive JSON data. |
| spotify_get_current_trackB | Get complete information about the currently playing track, including all metadata. Returns comprehensive JSON data. |
| spotify_get_track_nameA | Get ONLY the name of the currently playing track. Returns plain text - perfect for HUD displays. |
| spotify_get_artist_nameA | Get ONLY the primary artist name of the currently playing track. Returns plain text - perfect for HUD displays. |
| spotify_get_all_artistsA | Get all artist names of the currently playing track (comma-separated). Returns plain text. |
| spotify_get_album_nameA | Get ONLY the album name of the currently playing track. Returns plain text - perfect for HUD displays. |
| spotify_get_track_duration_msA | Get ONLY the total duration of the current track in milliseconds. Returns number as text. |
| spotify_get_track_duration_formattedA | Get ONLY the total duration of the current track in formatted time (M:SS or H:MM:SS). Returns formatted text - perfect for HUD displays. |
| spotify_get_track_progress_msA | Get ONLY the current playback position in milliseconds. Returns number as text. |
| spotify_get_track_progress_formattedA | Get ONLY the current playback position in formatted time (M:SS or H:MM:SS). Returns formatted text - perfect for HUD displays. |
| spotify_get_time_remaining_msA | Get ONLY the time remaining in the current track in milliseconds. Returns number as text - perfect for countdown timers. |
| spotify_get_time_remaining_formattedA | Get ONLY the time remaining in the current track in formatted time (M:SS or H:MM:SS). Returns formatted text - perfect for HUD countdown displays. |
| spotify_get_track_progress_percentageA | Get ONLY the playback progress as a percentage (0-100). Returns number as text - perfect for progress bars in HUDs. |
| spotify_get_track_uriA | Get ONLY the Spotify URI of the currently playing track. Returns URI as text. |
| spotify_get_track_idA | Get ONLY the Spotify ID of the currently playing track. Returns ID as text. |
| spotify_get_album_art_urlA | Get ONLY the URL of the album artwork for the currently playing track. Returns the largest available image URL - perfect for displaying in HUDs. |
| spotify_get_track_explicitA | Get ONLY whether the current track is explicit. Returns 'true' or 'false' as text. |
| spotify_get_track_popularityA | Get ONLY the popularity score of the current track (0-100). Returns number as text. |
| spotify_get_device_nameA | Get ONLY the name of the currently active playback device. Returns plain text - perfect for HUD displays. |
| spotify_get_device_typeA | Get ONLY the type of the currently active playback device (Computer, Smartphone, Speaker, etc.). Returns plain text. |
| spotify_get_device_volumeA | Get ONLY the current volume percentage of the active device (0-100). Returns number as text - perfect for volume displays. |
| spotify_get_device_idA | Get ONLY the ID of the currently active playback device. Returns ID as text. |
| spotify_is_device_activeA | Get ONLY whether a device is currently active. Returns 'true' or 'false' as text. |
| spotify_get_available_devicesA | Get a list of all available Spotify devices. Returns JSON array of devices with their details. |
| spotify_is_playingA | Get ONLY whether music is currently playing. Returns 'true' or 'false' as text - perfect for play/pause button states in HUDs. |
| spotify_get_shuffle_stateA | Get ONLY whether shuffle is enabled. Returns 'true' or 'false' as text - perfect for shuffle button states in HUDs. |
| spotify_get_repeat_modeA | Get ONLY the current repeat mode. Returns 'off', 'track', or 'context' as text - perfect for repeat button states in HUDs. |
| spotify_get_context_typeA | Get ONLY the type of playback context (album, artist, playlist, etc.). Returns context type as text. |
| spotify_get_context_uriA | Get ONLY the URI of the playback context (album, playlist, etc.). Returns URI as text. |
| spotify_playB | Start or resume playback. Can optionally specify device, context (album/playlist URI), specific tracks, or starting position. |
| spotify_pauseB | Pause playback on the user's account. |
| spotify_nextB | Skip to the next track in the user's queue. |
| spotify_previousA | Skip to the previous track in the user's queue. |
| spotify_seekB | Seek to a specific position in the currently playing track. |
| spotify_set_shuffleC | Toggle shuffle mode on or off. |
| spotify_set_repeatB | Set the repeat mode for playback. |
| spotify_set_volumeC | Set the volume for the user's current playback device. |
| spotify_transfer_playbackB | Transfer playback to a different device. |
| spotify_get_queueA | Get the user's current playback queue, including currently playing and upcoming tracks. |
| spotify_add_to_queueB | Add a track to the user's playback queue. |
| spotify_get_recently_playedB | Get tracks from the user's recently played history. |
| spotify_searchC | Search for tracks, albums, artists, or playlists on Spotify. |
| spotify_get_track_infoA | Get detailed information about a specific track by its Spotify ID. |
| spotify_get_album_infoB | Get detailed information about a specific album by its Spotify ID. |
| spotify_get_artist_infoB | Get detailed information about a specific artist by their Spotify ID. |
| spotify_get_artist_top_tracksC | Get an artist's top tracks. |
| spotify_get_saved_tracksB | Get the user's saved (liked) tracks. |
| spotify_save_trackB | Save (like) a track to the user's library. |
| spotify_remove_saved_trackB | Remove (unlike) a track from the user's library. |
| spotify_get_playlistsC | Get the user's playlists. |
| spotify_get_playlistB | Get detailed information about a specific playlist. |
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
- 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/LLMTooling/spotify-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server