Spotify Model Context Protocol

by belljustin
MIT License

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPOTIFY_CLIENT_IDYesYour Spotify Developer Client ID
SPOTIFY_CLIENT_SECRETYesYour Spotify Developer Client Secret

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
create_playlist
Create a new playlist on Spotify and add tracks to it. Args: name: Name of the playlist track_uris: List of Spotify track URIs to add to the playlist description: Optional description for the playlist public: Whether the playlist should be public (default: False)
get_track_uris
Look up Spotify track URIs for a list of songs. Args: songs: List of dictionaries containing song information. Each dictionary should have 'name' and 'artist' keys. Example: [{"name": "Yesterday", "artist": "The Beatles"}] Returns: List of Spotify track URIs for the found songs. Songs that couldn't be found will be skipped.
update_playlist
Update an existing Spotify playlist's details and/or tracks. Args: playlist_id: The Spotify ID of the playlist to update name: New name for the playlist (optional) track_uris: New list of track URIs to replace the playlist's tracks (optional) description: New description for the playlist (optional) public: New public/private status for the playlist (optional)
ID: 4bz9ehbqc6