Skip to main content
Glama
nlevy

Spotify MCP Server

by nlevy

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPOTIFY_CLIENT_IDYesYour Spotify application client ID
SPOTIFY_REDIRECT_URIYesRedirect URI for OAuth callback (e.g., http://localhost:8888/callback)
SPOTIFY_CLIENT_SECRETYesYour Spotify application client secret

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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
- "long_term": Several years limit (int, optional): Maximum number of artists to return (default: 20, max: 50) offset (int, optional): Index of the first artist to return (default: 0)

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

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