@striderlabs/mcp-spotify
@striderlabs/mcp-spotify
MCP server for Spotify — let AI agents search music, control playback, and manage playlists via the Spotify Web API.
Built by Strider Labs.
Features
Search — Find tracks, artists, albums, and playlists
Playlists — View, create, and edit your playlists
Playback Control — Play, pause, skip, go back, set volume
Multi-device — List and switch between Spotify Connect devices
OAuth 2.0 — Secure authorization with PKCE (no client secret needed)
Token persistence — Tokens stored locally, auto-refreshed
Setup
1. Create a Spotify App
Go to the Spotify Developer Dashboard
Click Create App
Set Redirect URI to:
http://localhost:8888/callbackCopy your Client ID
2. Install
npx @striderlabs/mcp-spotifyOr install globally:
npm install -g @striderlabs/mcp-spotify3. Configure Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"spotify": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-spotify"],
"env": {
"SPOTIFY_CLIENT_ID": "your_client_id_here"
}
}
}
}4. Authenticate
In Claude, call the auth tool once:
spotify_authA browser window will open for you to authorize access. After approving, tokens are saved locally at ~/.striderlabs/spotify/tokens.json and auto-refreshed.
Environment Variables
Variable | Required | Description |
| Yes | Your Spotify app's Client ID |
Tools
Authentication
Tool | Description |
| Check connection status and logged-in account |
| Authorize via browser (OAuth 2.0 PKCE) |
| Clear stored tokens |
Search
Tool | Parameters | Description |
|
| Search for songs |
|
| Search for artists |
|
| Search for albums |
|
| Search for playlists |
Playlists
Tool | Parameters | Description |
|
| Get your playlists |
|
| Create a new playlist |
|
| Add tracks |
|
| Remove tracks |
Playback
Tool | Parameters | Description |
| — | Current track, progress, device |
|
| Start/resume playback |
|
| Pause playback |
|
| Skip to next track |
|
| Go to previous track |
|
| Set volume (0–100) |
| — | List Spotify Connect devices |
|
| Switch playback device |
Example Workflow
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:..."]Requirements
Node.js 18+
Spotify account (Free or Premium)
Spotify Premium required for: volume control, playback control
Technical Details
Protocol: Model Context Protocol (MCP) over stdio
Auth: OAuth 2.0 Authorization Code with PKCE
API: Spotify Web API v1
Token storage:
~/.striderlabs/spotify/tokens.jsonBrowser automation: Playwright (for OAuth browser launch)
License
MIT — Strider Labs