Back to MCP Servers

Spotify

93-tool Spotify server with smart shuffle, natural language song search, vibe analysis, artist network mapping, taste evolution, and playlist power tools. Works after Spotify's Feb 2026 API changes.

art-cultureapi
By gupta-kush
72Updated 3 months agoPythonMIT

Installation

npx -y spotify-mcp

Configuration

{
  "mcpServers": {
    "spotify-mcp": {
      "command": "npx",
      "args": ["-y", "spotify-mcp"]
    }
  }
}

How to use

  1. Run the installation command above (if needed)
  2. Open your Claude Code settings file (~/.claude/settings.json)
  3. Add the configuration to the mcpServers section
  4. Restart Claude Code to apply changes
<!-- mcp-name: io.github.gupta-kush/spotify-mcp -->

Spotify MCP Server

PyPI Tests 100+ Tools License: MIT Python 3.10+ Install in Cursor

Control Spotify from Claude, Cursor, or any MCP client. 100+ tools for playback, search, playlist management, smart shuffle, vibe analysis, natural language song search, artist exploration, and library indexing. Just uvx spotify-mcp to get started.

<!-- TODO: Replace with actual demo GIF -->

Quick Start

1. Get a Spotify Client ID

Go to the Spotify Developer Dashboard, create an app, set the redirect URI to http://127.0.0.1:8888/callback, check Web API, and copy your Client ID. No client secret needed (PKCE auth).

2. Install and Configure

Claude Code (one command):

claude mcp add spotify -- uvx spotify-mcp

Then set your client ID: claude mcp add spotify -e SPOTIFY_CLIENT_ID=your_client_id -- uvx spotify-mcp

Claude Desktop (add to claude_desktop_config.json):

{
  "mcpServers": {
    "spotify": {
      "command": "uvx",
      "args": ["spotify-mcp"],
      "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id"
      }
    }
  }
}

Cursor / VS Code (same config, but load only core tools to stay under the 40-tool limit):

{
  "mcpServers": {
    "spotify": {
      "command": "uvx",
      "args": ["spotify-mcp", "--toolsets=core"],
      "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id"
      }
    }
  }
}

Or install with pip: pip install spotify-mcp

3. Authorize

The first time you use a Spotify tool, your browser opens for OAuth. Grant access and the token is cached locally.

Why this one?

There are 30+ Spotify MCP servers out there. Most have 10-15 tools covering play, pause, and search.

spotify-mcpTypical server
Tools100+5-15
Smart shuffle (6 strategies incl. energy arcs)YesNo
Vibe engine (mood analysis without audio-features)YesNo
Natural language song searchYesNo
Artist network mapping (100 related artists)YesNo
Taste evolution trackingYesNo
Library index (AI playlists from your own songs)YesNo
Destructive tools stripped by defaultYesNo
Merge / diff / deduplicate playlistsYesNo
Works after Feb 2026 API changesYesMost broke
PKCE auth (no client secret needed)YesRare

What can you do with it?

Some things you can ask:

  • "Play Bohemian Rhapsody"
  • "Make my playlist start chill and build to high energy"
  • "Find that sad song with strings by Pink Floyd from the 90s"
  • "How has my music taste changed over time?"
  • "Map Radiohead's related artist network"
  • "Compare my Gym and Running playlists"
  • "Clean up my old playlist" (removes unavailable tracks and duplicates)
  • "What's the vibe of my Summer playlist?"
  • "Create a radio playlist based on Radiohead"
  • "When do I listen to music the most?"

Toolsets

All tools load by default, minus destructive tools (see Safety). For clients with tool limits, use --toolsets:

spotify-mcp --toolsets=core              # ~27 tools: playback, playlists, search, library, browse, stats
spotify-mcp --toolsets=core,discovery    # Add music discovery
spotify-mcp --toolsets=core,power        # Add power tools (smart shuffle, vibe engine, etc.)
spotify-mcp --toolsets=all               # All tools (default, destructive excluded)
spotify-mcp --toolsets=all,destructive   # All tools including remove/unfollow

Or via environment variable: SPOTIFY_MCP_TOOLSETS=core,power

Available toolsets: core, social, discovery, power, destructive, all

Safety

Destructive tools (remove tracks, unfollow artists, delete content) are not loaded unless you opt in with --toolsets=all,destructive. Safe for auto-accept mode since the AI cannot call tools that don't exist.

Affected tools: spotify_remove_from_playlist, spotify_remove_saved_tracks, spotify_remove_saved_albums, spotify_remove_saved_shows, spotify_unfollow_playlist, spotify_unfollow_artists, spotify_unfollow_users

Even when enabled, destructive tools default to dry_run=True, showing a preview without executing. Pass dry_run=False to perform the action.

Tool Reference

<details> <summary><strong>Playback (15 tools)</strong></summary>
ToolDescription
spotify_statusConnection status and current playback
spotify_now_playingCurrently playing track details
spotify_playStart playback (track, album, or playlist)
spotify_pausePause playback
spotify_resumeResume playback
spotify_skip_nextSkip to next track
spotify_skip_previousSkip to previous track
spotify_add_to_queueAdd a track to the queue
spotify_get_queueView the playback queue
spotify_get_devicesList available Spotify Connect devices
spotify_set_volumeSet volume (0-100)
spotify_seekSeek to a position in the current track
spotify_set_repeatSet repeat mode (off/context/track)
spotify_toggle_shuffleToggle shuffle on or off
spotify_transfer_playbackTransfer playback to another device
</details> <details> <summary><strong>Playlists (12 tools)</strong></summary>
ToolDescription
spotify_get_my_playlistsList your playlists
spotify_get_playlistGet playlist details and tracks
spotify_get_playlist_tracksGet playlist tracks with pagination
spotify_create_playlistCreate a new playlist
spotify_add_to_playlistAdd tracks to a playlist
spotify_remove_from_playlistRemove tracks from a playlist
spotify_reorder_playlistMove tracks within a playlist
spotify_update_playlistUpdate name, description, or visibility
spotify_follow_playlistFollow a playlist
spotify_unfollow_playlistUnfollow a playlist
spotify_get_playlist_coverGet the playlist's cover image URL
spotify_check_playlist_followersCheck if users follow a playlist
</details> <details> <summary><strong>Search & Discovery (6 tools)</strong></summary>
ToolDescription
spotify_searchSearch for tracks, artists, albums, or playlists
spotify_related_artistsFind artists similar to a given artist
spotify_discover_by_artistDiscover tracks via related artists
spotify_discover_by_moodFind tracks matching a mood
spotify_genre_explorerExplore tracks and artists in a genre
spotify_discover_deep_cutsFind album-only tracks (not singles)
</details> <details> <summary><strong>Stats & Insights (7 tools)</strong></summary>
ToolDescription
spotify_top_tracksYour top tracks by time range
spotify_top_artistsYour top artists by time range
spotify_recently_playedRecent listening history
spotify_listening_patternsWhen you listen (hour and day distributions)
spotify_taste_profileGenre diversity and niche artist analysis
spotify_playlist_compareCompare multiple playlists side by side
spotify_playlist_freshnessWhen each playlist was last updated, sorted by staleness
</details> <details> <summary><strong>Library (9 tools)</strong></summary>
ToolDescription
spotify_get_saved_tracksYour liked/saved tracks
spotify_save_tracksSave tracks to Liked Songs
spotify_remove_saved_tracksRemove tracks from Liked Songs
spotify_get_saved_albumsYour saved albums
spotify_save_albumsSave albums to library
spotify_remove_saved_albumsRemove albums from library
spotify_check_saved_tracksCheck if tracks are in Liked Songs
spotify_check_saved_albumsCheck if albums are in your library
spotify_get_saved_episodesYour saved podcast episodes
</details> <details> <summary><strong>Follow & Social (7 tools)</strong></summary>
ToolDescription
spotify_follow_artistsFollow artists
spotify_unfollow_artistsUnfollow artists
spotify_get_followed_artistsList your followed artists
spotify_check_following_artistsCheck if you follow specific artists
spotify_check_following_usersCheck if you follow specific users
spotify_follow_usersFollow Spotify users
spotify_unfollow_usersUnfollow Spotify users
</details> <details> <summary><strong>Shows & Podcasts (8 tools)</strong></summary>
ToolDescription
spotify_get_saved_showsYour saved podcasts and shows
spotify_get_showGet show details
spotify_get_show_episodesList episodes of a show
spotify_save_showsSave shows to your library
spotify_remove_saved_showsRemove shows from your library
spotify_check_saved_showsCheck if shows are in your library
spotify_save_episodesSave individual episodes
spotify_get_episodeGet episode details (duration, resume point)
</details> <details> <summary><strong>Browse (5 tools)</strong></summary>
ToolDescription
spotify_get_trackFull track details (popularity, ISRC, preview URL)
spotify_get_albumAlbum details with full tracklist
spotify_get_artistArtist profile (followers, popularity, genres)
spotify_get_artist_albumsList an artist's albums, singles, and compilations
spotify_get_userUser profile with public playlists
</details> <details> <summary><strong>Playlist Power Tools (8 tools)</strong></summary>
ToolDescription
spotify_merge_playlistsMerge multiple playlists into one
spotify_split_playlist_by_artistSplit a playlist by artist
spotify_deduplicate_playlistRemove duplicate tracks
spotify_export_playlistExport playlist data
spotify_playlist_diffCompare track differences between playlists
spotify_find_playlist_overlapsScan all playlists for shared tracks
spotify_find_playlist_subsetsFind playlists that are subsets of others
spotify_absorb_playlistMerge unique tracks from one playlist into another
</details> <details> <summary><strong>Reports & Analytics (3 tools)</strong></summary>
ToolDescription
spotify_listening_reportFull listening profile with genres and stats
spotify_playlist_analysisAnalyze playlist composition
spotify_taste_evolutionHow your taste has changed over time
</details> <details> <summary><strong>Smart Shuffle (1 tool, 6 strategies)</strong></summary>
ToolDescription
spotify_smart_shuffleReorder a playlist: variety, alphabetical_artist, chronological, genre_variety, energy_arc, reverse_chronological
</details> <details> <summary><strong>Playlist Generators (4 tools)</strong></summary>
ToolDescription
spotify_create_radioCreate a radio playlist from a seed track or artist
spotify_time_capsuleSnapshot your current top tracks into a playlist
spotify_vibe_playlistC

View source on GitHub