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. |
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
} |
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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