Allows searching, playing, and managing Spotify music, including track search, playback control, device management, playlist browsing, and playing tracks or playlists directly on active Spotify devices.
Vuples Spotify MCP Server
A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with Spotify, allowing them to search for and play tracks.
Features
Search for tracks by artist, title, or any query
Play tracks directly on your active Spotify device
Get information about your currently playing track
Find available Spotify playback devices
Combined search-and-play functionality
List user's Spotify playlists
View tracks within playlists
Play playlists (with optional shuffle mode)
Find and play playlists by name
Requirements
Node.js (v16+)
Spotify Developer Account
Spotify Premium account (for playback functionality)
An MCP-compatible client (e.g., Claude Desktop)
Installation
Clone this repository:
git clone https://github.com/yourusername/spotify-mcp.git cd spotify-mcpInstall dependencies:
npm installCreate a
.env
file with your Spotify API credentials:SPOTIFY_CLIENT_ID=your_client_id SPOTIFY_CLIENT_SECRET=your_client_secret SPOTIFY_REDIRECT_URI=http://localhost:8888 # Optional: For playback control SPOTIFY_REFRESH_TOKEN=your_refresh_tokenYou can get your Client ID and Secret from the Spotify Developer Dashboard.
Generate a refresh token (required for playback control):
There are two ways to get a refresh token:
Option 1: Use the built-in script
npm run get-tokenThis will start a local server and provide instructions in the terminal.
Option 2: Use the simple script (if option 1 doesn't work)
node src/simple-auth.jsThis will give you a URL to open in your browser. After authorizing, you'll be redirected to a URL. Copy that URL back to the terminal, and it will show you a curl command to get the refresh token.
Required scopes (already included in the scripts):
user-read-playback-state
user-modify-playback-state
user-read-currently-playing
playlist-read-private
playlist-read-collaborative
Add the refresh token to your
.env
file:SPOTIFY_REFRESH_TOKEN=your_refresh_tokenBuild the project:
npm run build
Usage with Claude Desktop
First, ensure Spotify is open and playing on your device
Add this server to your Claude Desktop configuration:
Edit your
claude_desktop_config.json
file (typically in~/Library/Application Support/Claude/
on macOS or%APPDATA%\\Claude\\
on Windows):{ "mcpServers": { "spotify": { "command": "node", "args": ["/absolute/path/to/vulpes-spotify-mcp/dist/index.js"], "env": { "SPOTIFY_CLIENT_ID": "your_client_id", "SPOTIFY_CLIENT_SECRET": "your_client_secret", "SPOTIFY_REDIRECT_URI": "http://localhost:8888", "SPOTIFY_REFRESH_TOKEN": "your_refresh_token" } } } }Make sure to replace
/absolute/path/to/vulpes-spotify-mcp
with the actual path to your project.Restart Claude Desktop
You should now see the Spotify tools available when you click on the hammer icon in Claude Desktop
Available Tools
spotify-search: Search for tracks by query
spotify-play: Play a specific track by ID or URI
spotify-currently-playing: Get information about the currently playing track
spotify-devices: List available Spotify playback devices
spotify-search-and-play: Search for a track and automatically play the top result
spotify-playlists: Get a list of the user's Spotify playlists
spotify-playlist-tracks: Get tracks from a specific playlist
spotify-play-playlist: Play a specific playlist (with optional shuffle)
spotify-find-playlist: Find a playlist by name and play it (recommended for AI use)
Troubleshooting
"No active device found": Make sure Spotify is open and playing on at least one of your devices
"Missing permissions": Your refresh token may not have the required scopes
"Not premium": Playback control requires a Spotify Premium account
"Issues with refresh token": If your token expires, generate a new one using the steps in the installation section
Important Notes
Always ensure Spotify is open on at least one device before using playback controls
The refresh token in your
.env
file and Claude Desktop config must matchAfter making changes to your configuration, restart Claude Desktop
License
MIT
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A Model Context Protocol server that enables AI assistants like Claude to interact with Spotify, allowing them to search for tracks, control playback, and manage playlists.
Related MCP Servers
- AsecurityFlicenseAqualityA lightweight Model Context Protocol server that enables AI assistants like Cursor & Claude to control Spotify playback and manage playlists.Last updated -18149
- -securityFlicense-qualityA Model Context Protocol server that enables controlling Spotify playback through natural language commands in MCP clients like Cursor or Claude for Desktop.Last updated -2
- -securityFlicense-qualityIntegrates with Spotify Web API through the Model Context Protocol, allowing users to search tracks, control playback, and manage playlists programmatically.Last updated -
- AsecurityFlicenseAqualityA Model Context Protocol server that enables Claude to interact with Spotify, allowing users to search for songs, create playlists, add tracks, and get recommendations using their Spotify account.Last updated -74