spotify-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | Yes | Your Spotify developer app's Client ID. | |
| SPOTIFY_REDIRECT_URI | Yes | The Redirect URI configured in the Spotify dashboard; must be exactly http://127.0.0.1:8080/callback (http, loopback IP 127.0.0.1, not localhost). | |
| SPOTIFY_CLIENT_SECRET | Yes | Your Spotify developer app's Client secret. |
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 |
|---|---|
| SpotifyPlaybackB | Manages the current playback with the following actions: - get: Get information about user's current track. - start: Starts playing new item or resumes current playback if called with no uri. - pause: Pauses current playback. - skip: Skips current track. |
| SpotifySearchB | Search for tracks, albums, artists, or playlists on Spotify. |
| SpotifyQueueB | Manage the playback queue - get the queue or add tracks. |
| SpotifyGetInfoA | Get detailed information about a Spotify item (track, album, artist, or playlist). |
| SpotifyPlaylistC | Manage Spotify playlists. - get: Get a list of user's playlists. - get_tracks: Get tracks in a specific playlist. - add_tracks: Add tracks to a specific playlist. - remove_tracks: Remove tracks from a specific playlist. - change_details: Change details of a specific playlist. - create: Create a new 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 | |
TDQS
Scored across 5 tools
Most tools map cleanly to a resource (playback, queue, playlists), but SpotifySearch and SpotifyGetInfo overlap: an agent can search for a track and also fetch details for a track, and the boundary relies on the word 'detailed' to distinguish them. SpotifyPlayback 'start' with a uri versus SpotifyQueue 'add' is also a mild conceptual overlap, though the descriptions mostly disambiguate.
Every tool follows the identical 'Spotify' + resource PascalCase pattern, so the set is highly predictable even though the convention is noun-based rather than verb_noun. Actions are consistently expressed as subcommands within the description rather than as separate tool names.
Five top-level tools is well-scoped for a Spotify client, and each one earns its place by multiplexing a coherent action family (playback, queue, playlist CRUD). Nothing feels thin or bloated.
Playlist management is nearly full lifecycle (create, get, add/remove tracks, change details) but lacks delete/unfollow, and playback omits volume, shuffle, repeat, and seek. The queue can be read and added to but not cleared or reordered, and there is no access to liked songs or user profile, leaving notable gaps for common workflows.