Spotify MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | No | Your Spotify app's Client ID. Overrides the one stored in the config file. | |
| SPOTIFY_REDIRECT_PORT | No | Port for the OAuth callback redirect. Default is 8888. Must match the registered redirect URI. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| authenticateA | Connects the user's Spotify account via OAuth. Opens a browser on this machine for approval and stores tokens locally. Use when other tools report you are not authenticated, or to switch accounts. |
| playA | Plays music by free-text query (searches and starts the best match) or by Spotify URI. Handles "play some Radiohead", "play the album Kind of Blue", "play my Discover Weekly". Reports what it picked — relay that to the user so they can correct it. |
| playbackB | Transport controls for the active playback: pause, resume, next, previous, seek (value = seconds), volume (value = 0-100), shuffle (value = on/off), repeat (value = off/context/track). |
| now_playingA | Current track, artist, album, progress, device, and shuffle/repeat state. |
| queueC | action=add queues a track by query or URI; action=list shows what's playing and up next. |
| devicesA | action=list shows available Spotify devices; action=transfer moves playback to a device by name or id. |
| searchA | Searches the Spotify catalog. Use when the user wants options to choose from; for a direct 'play X' request, prefer the play tool. Results include URIs usable with play, queue, playlists, and library. Max 10 results per type (API limit). |
| get_playlistsB | Lists the user's playlists with item counts and URIs. |
| get_playlist_itemsA | Lists the tracks in one of the user's own or collaborative playlists (Spotify no longer exposes other users' playlist contents). Accepts a playlist id, URI, or URL. |
| modify_playlistA | action=create makes a new playlist (private by default); action=add_items appends track URIs to an existing playlist. Does not delete or remove anything. |
| libraryA | Saves, removes, or checks items in the user's Spotify library ('liked'). Works with any content URI: tracks, albums, artists (follow), shows, episodes. To save the current song, get its URI from now_playing first. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/XavierFabregat/spotify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server