This connects Claude to the Spotify Web API with full OAuth 2.0 PKCE flow and automatic token refresh. You get search across tracks, artists, albums, and playlists, plus complete playback control: play, pause, skip, volume adjustment, and device switching via Spotify Connect. It also handles playlist management, letting you create, view, and edit playlists programmatically. Setup requires a Spotify Developer app with localhost callback, then one browser authorization that persists tokens locally. Note that playback control and volume require Spotify Premium. Built by Strider Labs, this is the server to reach for when you want Claude to DJ or automate your Spotify workflows without manual API wrangling.
Public tool metadata for what this MCP can expose to an agent.
track.statsGet stream count and metadata for a Spotify track. Returns title, artist, total play count, duration in ms, content rating, track number, album info, and artist info.1 paramsGet stream count and metadata for a Spotify track. Returns title, artist, total play count, duration in ms, content rating, track number, album info, and artist info.
track_idstringalbum.statsGet album statistics with per-track stream counts. Returns album name, type, release date, label, copyright, cover art, per-track stream counts and durations, and related albums.1 paramsGet album statistics with per-track stream counts. Returns album name, type, release date, label, copyright, cover art, per-track stream counts and durations, and related albums.
album_idstringartist.statsGet artist statistics including monthly listeners and top tracks. Returns monthly listeners, follower count, world rank, top 5 listener cities, top 10 tracks with stream counts, biography, external links, albums, singles, and verified status.1 paramsGet artist statistics including monthly listeners and top tracks. Returns monthly listeners, follower count, world rank, top 5 listener cities, top 10 tracks with stream counts, biography, external links, albums, singles, and verified status.
artist_idstringsearchSearch Spotify for artists, albums, tracks, and playlists. Returns matching results across all types. Track results include current stream counts.1 paramsSearch Spotify for artists, albums, tracks, and playlists. Returns matching results across all types. Track results include current stream counts.
qstringartist.getGet metadata for one or more artists in a single request. Returns artist names, images, genres, and follower counts.1 paramsGet metadata for one or more artists in a single request. Returns artist names, images, genres, and follower counts.
idsstringartist.overviewGet overview data for an artist. Returns detailed artist profile including biography, images, top tracks, discography summary, and related artists.1 paramsGet overview data for an artist. Returns detailed artist profile including biography, images, top tracks, discography summary, and related artists.
artist_idstringartist.albumsGet all albums in an artist's discography, paginated. Returns album names, IDs, types, release dates, and cover art.3 paramsGet all albums in an artist's discography, paginated. Returns album names, IDs, types, release dates, and cover art.
limitintegeroffsetintegerartist_idstringartist.singlesGet all singles in an artist's discography, paginated. Returns single names, IDs, release dates, and cover art.3 paramsGet all singles in an artist's discography, paginated. Returns single names, IDs, release dates, and cover art.
limitintegeroffsetintegerartist_idstringartist.relatedGet artists similar to the given artist. Returns a list of related artists with their names, IDs, images, and follower counts.1 paramsGet artists similar to the given artist. Returns a list of related artists with their names, IDs, images, and follower counts.
artist_idstringalbum.getGet metadata for one or more albums in a single request. Returns album names, artists, release dates, track listings, and cover art.1 paramsGet metadata for one or more albums in a single request. Returns album names, artists, release dates, track listings, and cover art.
idsstringtrack.getGet metadata for one or more tracks in a single request. Returns track names, artists, albums, durations, and preview URLs.1 paramsGet metadata for one or more tracks in a single request. Returns track names, artists, albums, durations, and preview URLs.
idsstringtrack.previewGet preview audio URL for a Spotify track. Returns a short preview URL that can be used to listen to a snippet of the track.1 paramsGet preview audio URL for a Spotify track. Returns a short preview URL that can be used to listen to a snippet of the track.
track_idstringplaylist.getGet metadata for a Spotify playlist. Returns playlist name, description, owner, follower count, and cover image.1 paramsGet metadata for a Spotify playlist. Returns playlist name, description, owner, follower count, and cover image.
playlist_idstringplaylist.tracksGet tracks in a Spotify playlist, paginated. Returns track names, artists, albums, durations, and add dates.3 paramsGet tracks in a Spotify playlist, paginated. Returns track names, artists, albums, durations, and add dates.
limitintegeroffsetintegerplaylist_idstringplaylist.permissionsGet permissions for a Spotify playlist. Returns whether the playlist is collaborative, public, and who can modify it.1 paramsGet permissions for a Spotify playlist. Returns whether the playlist is collaborative, public, and who can modify it.
playlist_idstringMCP server for Spotify — let AI agents search music, control playback, and manage playlists via the Spotify Web API.
Built by Strider Labs.
http://localhost:8888/callbacknpx @striderlabs/mcp-spotify
Or install globally:
npm install -g @striderlabs/mcp-spotify
Add to your claude_desktop_config.json:
{
"mcpServers": {
"spotify": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-spotify"],
"env": {
"SPOTIFY_CLIENT_ID": "your_client_id_here"
}
}
}
}
In Claude, call the auth tool once:
spotify_auth
A browser window will open for you to authorize access. After approving, tokens are saved locally at ~/.striderlabs/spotify/tokens.json and auto-refreshed.
| Variable | Required | Description |
|---|---|---|
SPOTIFY_CLIENT_ID | Yes | Your Spotify app's Client ID |
| Tool | Description |
|---|---|
spotify_status | Check connection status and logged-in account |
spotify_auth | Authorize via browser (OAuth 2.0 PKCE) |
spotify_logout | Clear stored tokens |
| Tool | Parameters | Description |
|---|---|---|
search_tracks | query, limit? | Search for songs |
search_artists | query, limit? | Search for artists |
search_albums | query, limit? | Search for albums |
search_playlists | query, limit? | Search for playlists |
| Tool | Parameters | Description |
|---|---|---|
get_playlists | limit? | Get your playlists |
create_playlist | name, description?, public? | Create a new playlist |
add_to_playlist | playlistId, uris[], position? | Add tracks |
remove_from_playlist | playlistId, uris[] | Remove tracks |
| Tool | Parameters | Description |
|---|---|---|
get_currently_playing | — | Current track, progress, device |
play | deviceId?, contextUri?, uris?[], offsetPosition?, positionMs? | Start/resume playback |
pause | deviceId? | Pause playback |
next_track | deviceId? | Skip to next track |
previous_track | deviceId? | Go to previous track |
set_volume | volumePercent, deviceId? | Set volume (0–100) |
get_devices | — | List Spotify Connect devices |
transfer_playback | deviceId, play? | Switch playback device |
1. spotify_status → check if authenticated
2. spotify_auth → open browser to authorize (first time)
3. search_tracks query="Bohemian Rhapsody"
4. get_devices → list available devices
5. play uris=["spotify:track:..."] deviceId="..."
6. get_currently_playing → see what's playing
7. set_volume volumePercent=70
8. next_track → skip to next
9. get_playlists → see your playlists
10. create_playlist name="AI Picks"
11. add_to_playlist playlistId="..." uris=["spotify:track:..."]
~/.striderlabs/spotify/tokens.jsonMIT — Strider Labs
com.mcparmory/google-search
io.github.pipeworx-io/brave-search
marcopesani/mcp-server-serper
brave/brave-search-mcp-server
com.mcparmory/google-search-console
acamolese/google-search-console-mcp