mcp-spotify
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | Yes | Spotify Developer Client ID | |
| SPOTIFY_REDIRECT_URI | Yes | Redirect URI for OAuth callback, must be http://127.0.0.1:8888/callback | |
| SPOTIFY_CLIENT_SECRET | Yes | Spotify Developer 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 |
|---|---|
| get_server_versionA | Return the installed version of the mcp-spotify server. |
| search_tracksA | Search for tracks on Spotify. Supports Spotify query syntax for filtering:
Returns track names, artists, albums, and IDs. |
| search_artistsA | Search for artists on Spotify. Supports the same query syntax as search_tracks. Returns artist names, genres, and IDs. Useful for finding an artist ID to explore their catalog. |
| search_albumsB | Search for albums on Spotify. Returns album names, artists, release dates, and IDs. Use get_album_tracks to list the tracks on a found album. |
| get_album_tracksB | Get all tracks on a Spotify album. Accepts a Spotify album ID or full URI. Returns track names, artists, and IDs. Useful for adding an entire album to a playlist. |
| get_saved_tracksA | Get the current user's saved (liked) tracks. Returns tracks from the user's library, sorted by most recently saved. Supports pagination via limit (max 50) and offset. A rich signal for playlist building since liked songs reflect explicit user preference. |
| create_playlistB | Create a new Spotify playlist for the current user. Returns the playlist ID and URI for use with other playlist tools. |
| add_tracks_to_playlistA | Add tracks to a Spotify playlist. Accepts a list of track IDs or URIs (max 100 per call). Tracks are appended to the end of the playlist. |
| remove_tracks_from_playlistA | Remove tracks from a Spotify playlist. Removes all occurrences of each track. Accepts track IDs or URIs (max 100 per call). |
| replace_playlist_tracksA | Replace all tracks in a playlist with the given list, in order. This is useful for reordering a playlist. First get the current tracks with get_playlist_tracks, reorder the IDs as desired, then pass the full ordered list here. The playlist will contain exactly these tracks in exactly this order. Accepts track IDs or URIs. No limit on total tracks (batched internally). |
| follow_playlistA | Follow (save) a Spotify playlist to your library. Accepts a playlist ID or URI. Use this to save playlists found via search or shared by others. |
| unfollow_playlistA | Unfollow (remove) a Spotify playlist from your library. For playlists you own, this is the only way to 'delete' them -- Spotify has no true delete. The playlist will no longer appear in your library or profile. |
| get_playlist_tracksA | Get the tracks in a Spotify playlist. Supports pagination via limit (max 100) and offset. Returns track names, artists, IDs, and total count. |
| get_my_playlistsC | List the current user's Spotify playlists. Returns playlist names, IDs, track counts, and ownership info. |
| get_my_top_tracksA | Get the current user's top tracks on Spotify. time_range options:
Useful as a seed for building personalized playlists. |
| get_my_top_artistsA | Get the current user's top artists on Spotify. time_range options:
Useful for discovering related artists when building playlists. |
| play_trackA | Start playing a track on Spotify. Requires an active Spotify device (open Spotify on any device first). Accepts a Spotify track URI (spotify:track:) or bare track ID. |
| pause_playbackA | Pause the current Spotify playback. |
| add_to_queueA | Add a track to the end of the playback queue. Requires an active Spotify device. Accepts a track URI or bare track ID. |
| get_now_playingA | Get information about the currently playing track on Spotify. Returns track name, artist, album, progress, and playback state.
Returns |
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/obrien-matthew/mcp-spotify'
If you have feedback or need assistance with the MCP directory API, please join our Discord server