The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Spotify listing page.
MCP 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/callbackOr install globally:
Add to your claude_desktop_config.json:
In Claude, call the auth tool once:
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 |
~/.striderlabs/spotify/tokens.jsonMIT — Strider Labs