About Vulpes Spotify Server
Vulpes Spotify Server is an MCP server published by ejfox in the Search category: enable AI assistants to search, play, and control Spotify tracks and playlists seamlessly. Access your Spotify playback devices, currently playing track info, and manage playlists directly through AI interactions. Enhance your music experience by integrating Spotify controls into your AI workflows.
The repository has 1 stars and 1 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/ejfox/vulpes-spotify-mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (9)
spotify-currently-playingGet information about the currently playing track
Parameters not published.
spotify-devicesList available Spotify playback devices
Parameters not published.
spotify-find-playlistFind a playlist by name and play it (recommended for AI use)
Parameters not published.
spotify-playPlay a specific track by ID or URI
Parameters not published.
spotify-play-playlistPlay a specific playlist (with optional shuffle)
Parameters not published.
spotify-playlist-tracksGet tracks from a specific playlist
Parameters not published.
spotify-playlistsGet a list of the user's Spotify playlists
Parameters not published.
spotify-searchSearch for tracks by query
Parameters not published.
spotify-search-and-playSearch for a track and automatically play the top result
Parameters not published.
Ask AI
Ask AI about Vulpes Spotify Server
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
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
Installing via Smithery
To install Vulpes Spotify Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ejfox/vulpes-spotify-mcp --client claude
Manual Installation
-
Clone this repository:
git clone https://github.com/yourusername/spotify-mcp.git cd spotify-mcp -
Install dependencies:
npm install -
Create a
.envfile 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-stateuser-modify-playback-stateuser-read-currently-playingplaylist-read-privateplaylist-read-collaborative
-
Add the refresh token to your
.envfile:SPOTIFY_REFRESH_TOKEN=your_refresh_token -
Build 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.jsonfile (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-mcpwith 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
.envfile and Claude Desktop config must match - After making changes to your configuration, restart Claude Desktop
License
MIT
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.