MCP Claude Spotify
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | Yes | The Client ID obtained from the Spotify Developer Dashboard. | |
| SPOTIFY_CLIENT_SECRET | Yes | The Client Secret obtained 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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| auth-spotifyC | Authenticate with Spotify |
| search-spotifyB | Search for tracks, albums, artists, or playlists on Spotify |
| get-current-playbackB | Get information about the user's current playback state |
| play-trackC | Play a specific track on an active device |
| pause-playbackB | Pause the user's playback |
| next-trackB | Skip to the next track |
| previous-trackB | Skip to the previous track |
| get-user-playlistsC | Get a list of the user's playlists |
| create-playlistC | Create a new playlist for the current user |
| add-tracks-to-playlistC | Add tracks to a playlist |
| get-playlist-tracksC | Get the tracks in a playlist |
| delete-playlistA | Unfollow a playlist (removes it from your library, but the playlist still exists on Spotify) |
| remove-tracks-from-playlistC | Remove tracks from a playlist |
| update-playlistC | Update a playlist's name, description, public/private status, or collaborative setting |
| get-playlist-coverC | Get the cover image of a playlist |
| get-recently-playedC | Get the user's recently played tracks |
| upload-playlist-coverA | Upload a custom cover image for a playlist (base64 encoded JPEG, max 256KB) |
| reorder-playlist-tracksB | Reorder tracks in a playlist by moving a range of tracks to a new position |
| get-top-tracksB | Get the user's top played tracks over a specified time range |
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 19 tools
Each tool targets a distinct resource and action (playlist management, playback control, search, user data, auth). No two tools overlap in purpose; descriptions clearly differentiate similar-sounding operations like delete-playlist (unfollow) and remove-tracks-from-playlist.
Nearly all tools use kebab-case with an action-first pattern (get-, create-, add-, remove-, update-, upload-, reorder-). Minor deviations exist in next-track and previous-track, which are not verb_noun, and auth-spotify uses an abbreviation, but overall the convention is predictable.
19 tools is slightly above the ideal 3–15 range but remains reasonable for a Spotify controller covering playlists, playback, search, and user data. Each tool appears to earn its place, though a few could potentially be consolidated.
Playlist lifecycle is well covered (create, read, update, unfollow, track add/remove/reorder, cover management). Playback control is basic but missing common operations like volume, seek, shuffle, repeat, queue, and device transfer; these are notable gaps but agents can still perform core tasks.