npm @striderlabs/mcp-spotifystdioupdated 6mo ago
MCP server for Spotify — let AI agents search music, control playback, and manage playlists via the Spotify Web API.
Was kannst du mit spotify machen?
@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/callback - Copy your Client ID
2. Install
npx @striderlabs/mcp-spotify
Or install globally:
npm install -g @striderlabs/mcp-spotify
3. 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_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.
Environment Variables
| Variable | Required | Description |
|---|---|---|
SPOTIFY_CLIENT_ID |
Yes | Your Spotify app's Client ID |
Tools
Authentication
| 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 |
Search
| 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 |
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 |
Playback
| 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 |
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.json - Browser automation: Playwright (for OAuth browser launch)
License
MIT — Strider Labs
Installation
spotify zu deinem Client hinzufügen. Wähl den, den du nutzt.
claude mcp add mcp-spotify -- npx -y @striderlabs/mcp-spotifycodex mcp add mcp-spotify -- npx -y @striderlabs/mcp-spotifyamp mcp add mcp-spotify -- npx -y @striderlabs/mcp-spotify{
"mcpServers": {
"mcp-spotify": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-spotify"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp-spotify": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-spotify"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mcp-spotify","command":"npx","args":["-y","@striderlabs/mcp-spotify"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mcp-spotify": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-spotify"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp-spotify": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-spotify"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp-spotify": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-spotify"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp-spotify": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-spotify"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp-spotify": {
"command": {
"path": "npx",
"args": [
"-y",
"@striderlabs/mcp-spotify"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @striderlabs/mcp-spotifyRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Score
39 / 100
Unvollständig
- Dokumentation25/25
- Pflege13/25
- Vertrauen6/20
- Funktionsumfang0/15
- Installation12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 174 days ago
- Has a release history
- Repository is not archived
- No licence detected
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Versionsverlauf
| Versionen | Veröffentlicht |
|---|---|
| 0.1.0Aktuell | 15. März 2026 |