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 client ID | |
| SPOTIFY_REDIRECT_URI | No | Redirect URI for PKCE auth (must be http://127.0.0.1:8888/callback) | http://127.0.0.1:8888/callback |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_songA | Search Spotify for tracks matching a query string. |
| playA | Resume playback on the active Spotify device or an optional device ID. |
| pauseA | Pause playback on the active Spotify device or an optional device ID. |
| skip_forwardA | Skip to the next track on the active Spotify device or an optional device ID. |
| skip_backwardsA | Skip to the previous track on the active Spotify device or an optional device ID. |
| get_currently_playingB | Get the track or episode currently playing on the user's Spotify account. |
| create_playlistB | Create an empty playlist for the current Spotify user. |
| add_songs_to_playlistA | Search for songs and add the best match for each query to a playlist. |
| create_vibe_playlistA | Create a playlist from a vibe prompt by searching and adding matched songs. The LLM should provide song_queries that fit the requested vibe. This tool creates the playlist, resolves each query to a Spotify track, and adds them. |
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 9 tools
Most tools have distinct purposes, such as search_song vs. play, and the playback controls are clearly separate actions. However, add_songs_to_playlist and create_vibe_playlist overlap in that both add songs to a playlist, but the descriptions clarify that one adds to an existing playlist while the other creates a new one.
Names mix styles: verb_noun (search_song, create_playlist), bare verb (play, pause), and verb_adverb (skip_forward, skip_backwards). While intuitive, the lack of a uniform pattern makes the naming less predictable.
With 9 tools covering playback control and playlist creation, the scope is well-sized for a Spotify-focused MCP server. Each tool addresses a distinct need without excessive fragmentation.
Core playback and playlist creation are covered, but there is no way to list or retrieve existing playlists, which creates a gap when adding songs to an existing playlist. Additional playback controls like shuffle/repeat are also missing.