Spotify MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPOTIFY_CLIENT_IDYesYour Spotify API client ID from the Spotify Developer Dashboard
SPOTIFY_REDIRECT_URIYesThe redirect URI configured in your Spotify Developer Dashboard
SPOTIFY_CLIENT_SECRETYesYour Spotify API client secret from the Spotify Developer Dashboard

Schema

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Tools

Functions exposed to the LLM to take actions

NameDescription
get_my_playlists
FastMCP tool to get user playlists using SpotifyClient.
start_playback
FastMCP tool to resume playback on the currently active Spotify device.
pause_playback
FastMCP tool to pause playback on spotify.
search_spotify
Search Spotify for tracks, artists, albums, or playlists. Args: query: Search term type: One of 'track', 'artist', 'album', 'playlist' limit: Max number of results
next_track

Skip to next track in queue

previous_track

Go back to previous track

seek_position
Seek to position in current track Args: position_ms: Position in milliseconds
get_playback_state

Get current playback information

get_recommendations
Get Spotify recommendations based on seeds Args: seed_artists: Comma-separated artist IDs seed_tracks: Comma-separated track IDs seed_genres: Comma-separated genres limit: Number of recommendations
get_item_info
Get detailed information about a Spotify item Args: item_id: Spotify ID type: One of 'track', 'album', 'artist', 'playlist'
start_playback_track
Start playback of a specific track on Spotify Args: track_uri: Spotify URI of the track (e.g. 'spotify:track:1234...') device_id: Optional device to play on
get_top_artists
Get user's top artists from Spotify Args: limit: Number of artists (max 50) time_range: One of 'short_term' (4 weeks), 'medium_term' (6 months), 'long_term' (all time)
get_queue

Get the current queue of tracks

add_to_queue
Add a track to the queue Args: track_id: Spotify track ID to add
skip_tracks
Skip multiple tracks at once Args: num_skips: Number of tracks to skip (default: 1)
get_current_track

Get information about the currently playing track

start_playlist_playback
Start playback of a specific playlist Args: playlist_id: Spotify playlist ID device_id: Optional device to play on
get_artist_top_tracks
Get top tracks for an artist Args: artist_id: Spotify artist ID
set_repeat_mode
Set repeat mode for playback Args: state: One of 'track', 'context', or 'off'
add_to_playlist
Add tracks to a playlist Args: playlist_id: Spotify playlist ID track_ids: List of track IDs to add
reorder_queue
Reorder tracks in queue by moving a track to a different position Args: range_start: Position of track to move insert_before: Position to insert the track