Spotify MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Optional logging level for the server, e.g. debug. | |
| SPOTIFY_CLIENT_ID | Yes | Your Spotify Developer app Client ID, from the Spotify Developer Dashboard. | |
| SPOTIFY_REDIRECT_URI | Yes | The OAuth redirect URI, e.g. http://127.0.0.1:3000/callback (use 127.0.0.1, not localhost). Must be added to your app's Redirect URIs in the Spotify Developer Dashboard. | |
| SPOTIFY_CLIENT_SECRET | Yes | Your Spotify Developer app Client Secret, from the Spotify Developer 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_playB | Start or resume playback of a track, album, artist, or playlist |
| spotify_pauseC | Pause current playback |
| spotify_nextB | Skip to next track |
| spotify_previousB | Skip to previous track |
| spotify_set_volumeC | Set playback volume (0-100) |
| spotify_get_playback_stateB | Get current playback state including track, artist, album, and playback status |
| spotify_get_devicesB | List available Spotify Connect devices |
| spotify_shuffleB | Enable or disable shuffle mode |
| spotify_repeatB | Set repeat mode: 'track' repeats current track, 'context' repeats album/playlist, 'off' disables repeat |
| spotify_searchB | Search for tracks, albums, artists, or playlists with optional field filters |
| spotify_get_playlistsC | Get current user's playlists |
| spotify_get_playlistC | Get details of a specific playlist |
| spotify_create_playlistC | Create a new playlist |
| spotify_add_to_playlistC | Add tracks to a playlist |
| spotify_remove_from_playlistC | Remove tracks from a playlist |
| spotify_reorder_playlist_tracksC | Reorder tracks in a playlist |
| spotify_delete_playlistA | Delete (unfollow) a playlist. You can only delete playlists you own. |
| spotify_update_playlistC | Update playlist details (name, description, public/private, collaborative) |
| spotify_get_user_profileB | Get current user's profile information |
| spotify_get_top_itemsC | Get user's top artists or tracks |
| spotify_get_recently_playedC | Get user's recently played tracks |
| spotify_get_saved_tracksC | Get tracks saved in the current user's library |
| spotify_get_saved_albumsB | Get albums saved in the current user's library |
| spotify_get_followed_artistsB | Get artists followed by the current user |
| spotify_save_tracksB | Save tracks to the current user's library |
| spotify_remove_saved_tracksC | Remove tracks from the current user's library |
| spotify_save_albumsC | Save albums to the current user's library |
| spotify_remove_saved_albumsB | Remove albums from the current user's library |
| spotify_follow_artistsC | Follow one or more artists |
| spotify_unfollow_artistsC | Unfollow one or more artists |
| spotify_transfer_playbackA | Transfer playback to a different device (use spotify_get_devices to find device IDs) |
| spotify_openB | Open the Spotify desktop app on this machine |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 32 tools
Most tools target a distinct resource and action, making the set easy to navigate. A few have minor boundary risk (spotify_play vs spotify_transfer_playback vs spotify_open, and singular spotify_get_playlist vs plural spotify_get_playlists), but descriptions clearly differentiate them.
Every tool uses the same spotify_ prefix with consistent snake_case, mostly verb_noun (spotify_create_playlist, spotify_remove_saved_tracks) and clean verb-only playback controls (spotify_play, spotify_pause). The pattern is predictable throughout.
At 32 tools the surface is heavy and sits just past the range where a set becomes unwieldy for an agent to select from. Each tool does earn its place given Spotify's breadth, so it's borderline rather than bloated.
The set covers playback control, full playlist CRUD, library save/remove, follow/unfollow, search, and user data retrieval rather thoroughly. Minor gaps exist (queue management, podcast/episode tools, album/artist detail retrieval), but core workflows are fully supported.