Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | Yes | Your Spotify API client ID from the Spotify Developer Dashboard | |
| SPOTIFY_REDIRECT_URI | Yes | The redirect URI configured in your Spotify Developer Dashboard | |
| SPOTIFY_CLIENT_SECRET | Yes | Your Spotify API client secret from the Spotify Developer Dashboard |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |