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 |
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
} |
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
- 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/LLMTooling/spotify-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server