spotify-mcp
This project is an MCP server that interacts with Spotify, enabling users to search for music, create playlists, and get recommendations through Claude. It leverages the Spotify API to provide a seamless music management experience.
MCP Server for Spotify
This MCP server integrates with the Spotify API to allow you to manage and create playlists through Claude.
Features
- Search for tracks, artists, and albums
- Create and modify playlists
- Browse user playlists
- Get recommendations based on tracks, artists, and genres
Authentication Setup
- Create a Spotify App in the Spotify Developer Dashboard
- Set the redirect URI to
http://localhost:8888/callback
- Use the included auth app to get your refresh token:
# Go to the auth-app directory
cd auth-app
# Install dependencies
npm install
# Run the auth app
npm start
-
Follow the instructions in the browser to authorize and obtain your refresh token
-
Set the required environment variables:
export SPOTIFY_CLIENT_ID="your-client-id"
export SPOTIFY_CLIENT_SECRET="your-client-secret"
export SPOTIFY_REFRESH_TOKEN="your-refresh-token"
Running the Server
Once you have the required environment variables, you can run the server:
# From the root directory
npm install
npm run build
node dist/index.js
Docker Usage
You can also build and run the server using Docker:
# Build the Docker image
podman build -t mcp/spotify -f src/spotify/Dockerfile .
# Run the container with environment variables
podman run -e SPOTIFY_CLIENT_ID="your-client-id" \
-e SPOTIFY_CLIENT_SECRET="your-client-secret" \
-e SPOTIFY_REFRESH_TOKEN="your-refresh-token" \
mcp/spotify
Usage with Claude
Add the following to your server configuration
{
"mcpServers": {
"spotify": {
"command": "podman",
"args": [
"run",
"-i",
"--rm",
"-e",
"SPOTIFY_CLIENT_ID=your-client-id",
"-e",
"SPOTIFY_CLIENT_SECRET=your-client-secret",
"-e",
"SPOTIFY_REFRESH_TOKEN=your-refresh-token",
"mcp/spotify"
]
}
}
}
Prompting
Once the MCP server is running, Claude can utilize it to:
- Search for music on Spotify
- Create playlists based on themes or genres
- Add tracks to playlists
- Explore your existing playlists
- Get recommendations based on your music preferences
Simply ask Claude to create a playlist or find music, and it will utilize the appropriate Spotify API tools through the MCP server.