A newer version of the Gradio SDK is available:
5.34.1
title: Spotify MCP Server
emoji: 🎵
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 5.33.1
app_file: server.py
pinned: false
Spotify MCP Server
A Gradio-based MCP server that provides a user-friendly interface to interact with Spotify's API. This server offers various tools for managing your Spotify experience, from authentication to playlist management and music playback control.
Demo Video
Features
- Authentication: Secure Spotify authentication using OAuth2
- Music Search: Search for tracks and get artist information
- Queue Management: Add songs to your Spotify queue (requires Spotify Premium)
- Recently Played: View your recently played tracks
- Playlist Management:
- Create new playlists
- View existing playlists
- Add songs to playlists
- User Insights:
- View top artists
- View top tracks
- Get genre information
Requirements
- Python 3.x
- Spotify Premium account (required for some queue management features)
- Spotify Developer account for API credentials
Setup
- Clone this repository
- Install the required dependencies:
pip install gradio spotipy
Configuration
Getting Spotify API Keys
- Create an account on developer.spotify.com
- Navigate to the dashboard
- Create a new app with the following settings:
- Redirect URI:
http://127.0.0.1:5000/callback
(you can choose any port, but must use http and an explicit loopback address) - Note: You may need to restart your MCP environment (e.g., Claude Desktop) once or twice before it works
- Redirect URI:
Environment Variables
The server uses the following environment variables: Please create a .env file with the credentials
CLIENT_ID
: Your Spotify API client IDCLIENT_SECRET
: Your Spotify API client secretREDIRECT_URI
: Your Spotify API redirect URI (default: http://127.0.0.1:5000/callback)
Running Locally
This project is designed to run locally and is not yet set up for ephemeral environments (e.g., uvx usage). To run:
- Clone this repository
- Set up your environment variables
- Run the server
Example Queries for Claude Desktop
Try these example queries in Claude Desktop to explore different features:
Music Discovery & Analytics
"Show me my top 10 artists and their genres from the last 6 months"
Smart Playlist Creation
"Create a playlist of my top 20 tracks from this month"
Queue Management
"Search for 'I Like Me Better' and add it to my queue"
Playlist Organization
"Show me all my playlists"
Music Curation
"Compare my top 10 tracks from this month with my all-time favorites"
Quick Actions
"Show me my 5 most recently played songs"
API Endpoints
The server exposes several endpoints through Gradio interfaces:
add_to_queue_song
: Add a song to the queue (Premium required)get_artist_and_track
: Search for tracksauth_with_spotify
: Authenticate with Spotifyget_recently_played_songs
: Get recently played trackscreate_playlist
: Create a new playlistget_playlist_name_and_id
: Get playlist informationadd_songs_to_playlist
: Add songs to a playlistget_users_top_artists
: Get user's top artistsget_user_top_tracks
: Get user's top tracks
Premium Features
The following features require a Spotify Premium account:
- Adding songs to queue
Claude Desktop Configuration
To use this MCP server with Claude Desktop, add the following configuration to your settings (port number can vary, please check):
{
"mcpServers": {
"gradio": {
"command": "npx",
"args": ["mcp-remote", "http://127.0.0.1:7860/gradio_api/mcp/sse"]
}
}
}
This configuration allows Claude Desktop to connect to the Gradio MCP server running on port 7860.
Tags
mcp-server-track