A Model Context Protocol (MCP) server for interacting with Spotify playlists. This server allows AI assistants to manage your Spotify playlists through the MCP standard.
- Think about songs → Open Spotify → Search each song individually → Navigate interfaces → Add tracks one by one → Repeat dozens of times
- Time-consuming process with constant context switching
- Easy to forget great song ideas while searching
- Describe playlist to AI → AI searches and creates playlist instantly on spotify
- Single conversation instead of multiple manual steps
- 10+ minutes ⏱️ → Just seconds ⚡
- 🎵 Get user profile information
- 📋 List user's playlists
- 🔍 Search for tracks, albums, artists, and playlists
- 📝 Create new playlists
- ➕ Add tracks to playlists
- 🔄 Get playlist details
- Node.js (v16+)
- A Spotify Developer account
- Spotify API credentials (Client ID and Client Secret)
You can install the package globally:
npm install -g spotify-mcp-playlist
Or use it directly with npx without installing:
# Authentication
npx spotify-mcp-auth --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
# MCP Server
npx spotify-mcp-playlist --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
-
Clone the repository:
git clone https://github.com/yourusername/spotify-mcp-playlist.git cd spotify-mcp-playlist
-
Install dependencies:
npm install
-
Build the project:
npm run build
-
Visit the Spotify Developer Dashboard and log in with your Spotify account.
-
Click the "Create app" button.
-
Fill in the application details:
- App name: Choose a name (e.g., "MCP Playlist Manager")
- App description: Brief description of your app
- Website: You can use
http://localhost
for personal use - Redirect URI: Add
http://127.0.0.1:8888/callback
- Accept the terms and conditions
-
After creating the app, you'll be taken to your app's dashboard.
-
You'll see your Client ID displayed on this page.
-
Click "Show Client Secret" to reveal your Client Secret.
-
Keep these credentials secure and don't share them publicly.
Before using the MCP server, you need to authenticate with Spotify:
# Run the authentication
spotify-mcp-playlist auth --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
Or with npx:
npx spotify-mcp-playlist auth --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
Your browser will open automatically. Log in to Spotify and authorize the application. After successful authorization, your credentials will be saved to ~/.spotify-mcp-credentials.json
.
If installed globally:
spotify-mcp-playlist --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
With npx:
npx spotify-mcp-playlist --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET
Add the following to your Cursor MCP configuration (~/.cursor/mcp.json
):
"Spotify Playlist": {
"command": "npx",
"args": [
"spotify-mcp-playlist",
"--client-id",
"YOUR_CLIENT_ID",
"--client-secret",
"YOUR_CLIENT_SECRET"
]
}
Alternatively, if you've installed the package globally:
"Spotify Playlist": {
"command": "spotify-mcp-playlist",
"args": [
"--client-id",
"YOUR_CLIENT_ID",
"--client-secret",
"YOUR_CLIENT_SECRET"
]
}
The server provides the following MCP tools:
get-spotify-profile
: Get the current user's Spotify profileget-spotify-playlists
: Get the current user's Spotify playlistsget-spotify-playlist-items
: Get items from a specific Spotify playlistsearch-spotify
: Search for content on Spotifyupdate-spotify-playlist
: Add new tracks to a specific Spotify playlistcreate-spotify-playlist
: Create a new Spotify playlist