Spotify MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | Yes | Your Spotify Client ID from developer.spotify.com | |
| SPOTIFY_REDIRECT_URI | No | The redirect URI configured in your Spotify app | http://localhost:8888 |
| SPOTIFY_CLIENT_SECRET | Yes | Your Spotify Client Secret from developer.spotify.com |
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 |
|---|---|
| playback_controlB | Control Spotify playback. |
| search_tracksA | Search Spotify for tracks, albums, artists, or playlists. |
| add_to_queueA | Add a track to the playback queue. |
| get_queueA | Get the current playback queue. Returns: Currently playing track and queue of upcoming tracks |
| get_track_infoA | Get detailed information about one or more Spotify tracks. |
| get_artist_infoA | Get detailed information about a Spotify artist. |
| get_playlist_infoA | Get basic information about a Spotify playlist. |
| create_playlistA | Create a new Spotify playlist. |
| add_tracks_to_playlistC | Add tracks to a playlist. |
| get_user_playlistsA | Get current user's playlists with pagination support. |
| get_playlist_tracksA | Get tracks from a playlist with full pagination support. |
| remove_tracks_from_playlistB | Remove tracks from a playlist. |
| modify_playlist_detailsC | Modify playlist details. |
| reorder_playlist_tracksA | Move a contiguous block of tracks to a new position within a playlist. |
| get_album_infoA | Get detailed information about a Spotify album. |
| get_saved_tracksA | Get user's saved/liked tracks (Liked Songs library). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| create_mood_playlist | Create a playlist based on mood and preferences. |
| analyze_large_playlist | Analyze a large playlist efficiently using pagination. |
| discover_music_systematically | Systematically discover music using search pagination. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| current_user | Current user's profile. |
| current_playback_resource | Current playback state. |
TDQS
Scored across 16 tools
Each tool has a clearly distinct purpose. Playlist info and tracks are separated, and search covers multiple types via parameter. No ambiguity between tools.
All tools follow a consistent verb_noun pattern in snake_case, e.g., get_album_info, create_playlist, remove_tracks_from_playlist. Even 'playback_control' is a slight deviation but still clear.
16 tools cover the core aspects of Spotify (search, playlist management, playback control). Slightly above the typical well-scoped range but still reasonable and not excessive.
Covers most essential workflows: playlist CRUD (missing delete), search, playback control, and info retrieval. Notable gaps include playlist deletion and volume control, but the surface is functional.