Back to Browse

Spotify MCP Server

Content & MediaModerate6.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

MCP server for Spotify - let AI agents control playback, search music, and manage playlists

About

MCP server for Spotify - let AI agents control playback, search music, and manage playlists

Security Report

6.0
Moderate6.0Moderate Risk

Valid MCP server (2 strong, 4 medium validity signals). 3 known CVEs in dependencies (0 critical, 3 high severity) ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry.

5 files analyzed · 4 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-markswendsen-code-spotify": {
      "args": [
        "-y",
        "@striderlabs/mcp-spotify"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

@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

  1. Go to the Spotify Developer Dashboard
  2. Click Create App
  3. Set Redirect URI to: http://localhost:8888/callback
  4. 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

VariableRequiredDescription
SPOTIFY_CLIENT_IDYesYour Spotify app's Client ID

Tools

Authentication

ToolDescription
spotify_statusCheck connection status and logged-in account
spotify_authAuthorize via browser (OAuth 2.0 PKCE)
spotify_logoutClear stored tokens

Search

ToolParametersDescription
search_tracksquery, limit?Search for songs
search_artistsquery, limit?Search for artists
search_albumsquery, limit?Search for albums
search_playlistsquery, limit?Search for playlists

Playlists

ToolParametersDescription
get_playlistslimit?Get your playlists
create_playlistname, description?, public?Create a new playlist
add_to_playlistplaylistId, uris[], position?Add tracks
remove_from_playlistplaylistId, uris[]Remove tracks

Playback

ToolParametersDescription
get_currently_playingCurrent track, progress, device
playdeviceId?, contextUri?, uris?[], offsetPosition?, positionMs?Start/resume playback
pausedeviceId?Pause playback
next_trackdeviceId?Skip to next track
previous_trackdeviceId?Go to previous track
set_volumevolumePercent, deviceId?Set volume (0–100)
get_devicesList Spotify Connect devices
transfer_playbackdeviceId, 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

Reviews

No reviews yet

Be the first to review this server!