Provides tools to control music playback, search for tracks, albums, and artists, manage the play queue, and perform full playlist management including creating, updating, and deleting playlists.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@spotify-mcpplay my 'Deep Focus' playlist and skip to the next track"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
spotify-mcp
A Model Context Protocol (MCP) server that connects Claude with Spotify. Control your Spotify playback, search music, manage playlists, and more -- all through natural conversation with Claude.
Fork Notice: This project is forked from varunneal/spotify-mcp and updated for the Spotify Web API February 2026 changes. Built and maintained with Claude Code.
What's Changed (v0.3.0)
Spotify API Feb 2026 Adaptation
Search limit: Default reduced to 5, max capped at 10 (Spotify Dev Mode restriction)
Playlist endpoints: Migrated from
/tracksto/items(new API requirement)Response field compatibility: Handles both old (
tracks/track) and new (items/item) field namesBatch endpoints removed: Artist genre lookups now use parallel individual fetches via
ThreadPoolExecutorPlaylist creation: Uses
POST /me/playlistsinstead of deprecatedPOST /users/{id}/playlists
Bug Fixes & Improvements
New: Playlist
deleteaction (unfollow/delete playlists)Fixed: Lazy client initialization -- no longer crashes at import time without credentials
Fixed:
assertcrash replaced with proper error handling for unknown tool namesFixed:
change_playlist_details()now returns the API responseFixed:
get_liked_songs()limit edge case -- stops fetching as soon as limit is reachedFixed: Null track handling in liked songs pagination
Improved: Search default limit aligned with Spotify's new default (5)
Improved:
.gitignoreexpanded to cover more edge cases (.cache-*,.env.*, build artifacts)Security: OAuth token cache (
.cache) excluded from repository
Original Features (from upstream)
Start, pause, and skip playback
Search for tracks, albums, artists, and playlists
Get detailed info about any Spotify item
Manage the playback queue
Full playlist CRUD (create, read, update, delete tracks)
Retrieve liked/saved songs with optional genre enrichment
How It Works
Claude sends tool calls (e.g.,
SpotifySearch,SpotifyPlayback) via the MCP protocolThe MCP server receives these calls and translates them into Spotify Web API requests
Authentication is handled via OAuth 2.0 (Authorization Code Flow) with automatic token refresh
Results are parsed into clean, concise JSON and returned to Claude
Available Tools
Tool | Actions | Description |
|
| Control music playback |
| -- | Search tracks, albums, artists, playlists |
|
| View and manage play queue |
| -- | Get detailed item info by Spotify URI |
|
| Full playlist management |
|
| Retrieve saved songs with optional genres |
Architecture
Prerequisites
Python 3.12+
Spotify Premium account (required for Dev Mode API access since Feb 2026)
Spotify Developer App credentials
Configuration
1. Create Spotify Developer App
Create a new app
Set redirect URI to
http://127.0.0.1:8080/callbackNote your Client ID and Client Secret
Important (Feb 2026): Dev Mode apps are limited to 5 authorized users and require the app owner to have Spotify Premium.
2. Set Up Environment
Copy the example environment file and fill in your credentials:
3. Add to MCP Client
Run locally (recommended)
Add to your MCP config (Claude Desktop, Cursor, etc.):
Run with uvx
Config File Locations
Claude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.jsonClaude Desktop (Windows):
%APPDATA%/Claude/claude_desktop_config.json
Troubleshooting
Make sure -- version
>=0.54recommendedFirst run OAuth: On the first tool call, a browser window will open for Spotify login. After authorizing, the token is cached locally in
.cacheNo active device error: Make sure Spotify is open and playing on at least one device
Permission errors on Linux/Mac:
chmod -R 755 /path/to/spotify-mcp
Debugging
Launch the MCP Inspector:
Logs are emitted to stderr. On Mac, Claude Desktop logs are at ~/Library/Logs/Claude.
Spotify API Feb 2026 Changes Summary
Key changes that affected this MCP:
Change | Impact | Status |
Search | Fewer results per search | Adapted |
Playlist endpoints | Endpoint URLs changed | Adapted |
Response field | Parsing updated | Adapted |
Batch GET endpoints removed | Must fetch individually | Adapted |
| No longer available | Handled |
Dev Mode: 5 user limit, Premium required | Access restriction | Documented |
For full details, see Spotify's migration guide.
Credits
Original project: varunneal/spotify-mcp by Varun Srivastava (MIT License)
Original contributors: @jamiew, @davidpadbury, @manncodes, @hyuma7, @aanurraj, @JJGO and others
Maintained with: Claude Code (Anthropic)
License
MIT License -- see LICENSE for details.