MCP server for Spotify - let AI agents control playback, search music, and manage playlists
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"spotify": {
"env": {
"SPOTIFY_CLIENT_ID": "your_client_id_here"
},
"args": [
"-y",
"@striderlabs/mcp-spotify"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP server for Spotify — let AI agents search music, control playback, and manage playlists via the Spotify Web API.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y '@striderlabs/mcp-spotify' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked @striderlabs/mcp-spotify against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in entertainment
The official MCP Server for the Mux API
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
A Model Context Protocol (MCP) server that gives Claude direct control over Strudel.cc for AI-assisted music generation and live coding.
MCP server for *arr media suite - Sonarr, Radarr, Lidarr, Readarr, Prowlarr
MCP Security Weekly
Get CVE alerts and security updates for Spotify MCP Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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/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:..."]