Spotify MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | Yes | Your Spotify application client ID | |
| SPOTIFY_REDIRECT_URI | Yes | Redirect URI for OAuth callback (e.g., http://localhost:8888/callback) | |
| SPOTIFY_CLIENT_SECRET | Yes | Your Spotify application client secret |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_playlistA | Create a new Spotify playlist Arguments: request (PlaylistCreateRequest): - name (str): Name of the playlist to create - description (str, optional): Description of the playlist (default: "") - public (bool, optional): Whether the playlist is public (default: False) - collaborative (bool, optional): Whether the playlist is collaborative (default: False) Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - playlist_id (str): ID of the created playlist - playlist_name (str): Name of the created playlist - playlist_url (str): Spotify URL of the playlist - message (str): Success message - error (str, optional): Error message if failed |
| search_artistsA | Search for artists on Spotify Arguments: request (ArtistSearchRequest): - query (str): Search query for artist name - limit (int, optional): Maximum number of results to return (default: 10, max: 50) Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - artists (List[Dict]): List of artist objects containing: - id (str): Spotify artist ID - name (str): Artist name - popularity (int): Artist popularity score (0-100) - followers (int): Number of followers - genres (List[str]): List of genres - spotify_url (str): Spotify profile URL - total_found (int): Number of artists found - message (str): Success message - error (str, optional): Error message if failed |
| get_artistA | Get detailed information about an artist Arguments: artist_id (str): Spotify artist ID to get information for Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - artist (Dict): Detailed artist information containing: - id (str): Spotify artist ID - name (str): Artist name - popularity (int): Artist popularity score (0-100) - followers (int): Number of followers - genres (List[str]): List of genres - spotify_url (str): Spotify profile URL - images (List[Dict]): List of artist images with: - url (str): Image URL - height (int): Image height - width (int): Image width - message (str): Success message - error (str, optional): Error message if failed |
| get_artist_albumsA | Get albums for an artist Arguments: artist_id (str): Spotify artist ID to get albums for include_groups (str, optional): Album types to include (default: "album,single") - "album": Full albums - "single": Singles - "appears_on": Appearances on other albums - "compilation": Compilation albums limit (int, optional): Maximum number of albums to return (default: 20, max: 50) Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - artist (Dict): Basic artist information: - id (str): Artist ID - name (str): Artist name - albums (List[Dict]): List of album objects containing: - id (str): Spotify album ID - name (str): Album name - album_type (str): Type of album (album, single, compilation) - release_date (str): Release date - total_tracks (int): Number of tracks - spotify_url (str): Spotify album URL - images (List[Dict]): Album cover images - total_albums (int): Number of albums found - message (str): Success message - error (str, optional): Error message if failed |
| get_artist_top_tracksA | Get top tracks for an artist Arguments: artist_id (str): Spotify artist ID to get top tracks for market (str, optional): Market/country code for track availability (default: "US") Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - artist (Dict): Information about the artist: - id (str): Artist ID - name (str): Artist name - tracks (List[Dict]): List of track objects containing: - id (str): Spotify track ID - name (str): Track name - album (str): Album name - popularity (int): Track popularity score (0-100) - duration_ms (int): Track duration in milliseconds - spotify_url (str): Spotify track URL - message (str): Success message - error (str, optional): Error message if failed |
| add_tracks_to_playlistA | Add tracks to an existing playlist Arguments: request (AddTracksRequest): - playlist_id (str): Spotify playlist ID to add tracks to - track_uris (List[str]): List of Spotify track URIs to add Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - playlist_id (str): ID of the playlist - tracks_added (int): Number of tracks added - message (str): Success message - error (str, optional): Error message if failed |
| get_user_playlistsA | Get current user's playlists Arguments: None (no parameters required) Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - playlists (List[Dict]): List of playlist objects containing: - id (str): Spotify playlist ID - name (str): Playlist name - description (str): Playlist description - public (bool): Whether the playlist is public - tracks_count (int): Number of tracks in the playlist - spotify_url (str): Spotify playlist URL - total_playlists (int): Total number of playlists - message (str): Success message - error (str, optional): Error message if failed |
| get_albumA | Get detailed information about an album Arguments: album_id (str): Spotify album ID to get information for market (str, optional): Market/country code for album availability (default: "US") Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - album (Dict): Detailed album information containing: - id (str): Spotify album ID - name (str): Album name - album_type (str): Type of album (album, single, compilation) - release_date (str): Release date - total_tracks (int): Number of tracks - popularity (int): Album popularity score (0-100) - spotify_url (str): Spotify album URL - artists (List[Dict]): List of artists with: - id (str): Artist ID - name (str): Artist name - images (List[Dict]): Album cover images - genres (List[str]): List of genres - message (str): Success message - error (str, optional): Error message if failed |
| get_album_tracksA | Get tracks from an album Arguments: album_id (str): Spotify album ID to get tracks for market (str, optional): Market/country code for track availability (default: "US") limit (int, optional): Maximum number of tracks to return (default: 20, max: 50) offset (int, optional): Index of the first track to return (default: 0) Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - album (Dict): Basic album information: - id (str): Album ID - name (str): Album name - tracks (List[Dict]): List of track objects containing: - id (str): Spotify track ID - name (str): Track name - track_number (int): Track number on the album - duration_ms (int): Track duration in milliseconds - spotify_url (str): Spotify track URL - artists (List[Dict]): List of artists with: - id (str): Artist ID - name (str): Artist name - total_tracks (int): Total number of tracks in the album - message (str): Success message - error (str, optional): Error message if failed |
| get_new_releasesA | Get new album releases Arguments: country (str, optional): Country code to get new releases for (default: "US") limit (int, optional): Maximum number of albums to return (default: 20, max: 50) offset (int, optional): Index of the first album to return (default: 0) Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - albums (List[Dict]): List of new release albums containing: - id (str): Spotify album ID - name (str): Album name - album_type (str): Type of album (album, single, compilation) - release_date (str): Release date - total_tracks (int): Number of tracks - spotify_url (str): Spotify album URL - artists (List[Dict]): List of artists with: - id (str): Artist ID - name (str): Artist name - images (List[Dict]): Album cover images - total_albums (int): Number of albums found - message (str): Success message - error (str, optional): Error message if failed |
| get_user_top_artistsA | Get user's top artists from Spotify Arguments:
time_range (str, optional): Time period for top artists (default: "medium_term")
- "short_term": Last 4 weeks
- "medium_term": Last 6 months Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - artists (List[Dict]): List of artist objects containing: - id (str): Spotify artist ID - name (str): Artist name - popularity (int): Artist popularity score (0-100) - followers (int): Number of followers - genres (List[str]): List of genres - spotify_url (str): Spotify profile URL - images (List[Dict]): Artist images with url, height, width - time_range (str): Time range used for the query - total_artists (int): Number of artists returned - message (str): Success message - error (str, optional): Error message if failed |
| get_user_top_tracksA | Get user's top tracks from Spotify Arguments: time_range (str, optional): Time period for top tracks (default: "medium_term") - "short_term": Last 4 weeks - "medium_term": Last 6 months - "long_term": Several years limit (int, optional): Maximum number of tracks to return (default: 20, max: 50) offset (int, optional): Index of the first track to return (default: 0) Returns: Dict[str, Any]: - success (bool): Whether the operation was successful - tracks (List[Dict]): List of track objects containing: - id (str): Spotify track ID - name (str): Track name - album (Dict): Album info with id, name, images - artists (List[Dict]): List of artists with id, name - popularity (int): Track popularity score (0-100) - duration_ms (int): Track duration in milliseconds - spotify_url (str): Spotify track URL - time_range (str): Time range used for the query - total_tracks (int): Number of tracks returned - message (str): Success message - error (str, optional): Error message if failed |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nlevy/spotify-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server