Skip to main content
Glama
abenke

Spotify MCP

by abenke

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPOTIFY_CLIENT_IDYesYour Spotify app Client ID from the Developer Dashboard.
SPOTIFY_MCP_CACHENoPath to cache OAuth tokens. Default: ~/.spotify-mcp/token.json
SPOTIFY_REDIRECT_URINoRedirect URI for OAuth. Must match exactly one in your app. Default: http://127.0.0.1:8888/callback
SPOTIFY_CLIENT_SECRETNoOptional. If set, uses classic Authorization Code flow instead of PKCE.

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
authenticateA

Sign in to Spotify via OAuth (opens a browser window).

Run this once before using the other tools. Tokens are cached locally and refreshed automatically, so you normally only need to authenticate a single time per machine.

Args: force: If true, force Spotify to re-show the consent screen (useful to switch accounts or re-grant scopes).

auth_statusA

Report whether the server is currently authenticated with Spotify.

get_current_userA

Get the profile of the signed-in Spotify user (id, name, country, etc.).

searchA

Search the Spotify catalog.

Args: query: Search text. Supports Spotify field filters, e.g. artist:radiohead track:creep or year:2020 genre:jazz. types: Comma-separated result types to return. Any of: track, album, artist, playlist. Defaults to track. limit: Max results per type (1-50). Defaults to 10.

get_trackA

Get detailed information about a single song.

Args: track_id: A Spotify track ID, spotify:track:... URI, or open.spotify.com track URL.

list_my_playlistsA

List the playlists owned or followed by the signed-in user.

Args: limit: Number of playlists to return (1-50). Defaults to 20. offset: Index to start from, for paging through large libraries.

get_playlistA

Get a playlist's details and its tracks.

Args: playlist_id: A Spotify playlist ID, spotify:playlist:... URI, or open.spotify.com playlist URL. tracks_limit: Max number of tracks to include (default 100). If the playlist has more, tracks_truncated will be true.

create_playlistA

Create a new playlist for the signed-in user.

Args: name: The playlist name. public: Whether the playlist is public. Defaults to false (private). description: Optional playlist description. collaborative: If true, others can edit it (forces the playlist private). track_uris: Optional list of track IDs/URIs/URLs to add on creation.

add_tracks_to_playlistA

Add one or more songs to an existing playlist.

Args: playlist_id: A Spotify playlist ID, URI, or URL. track_uris: List of track IDs, spotify:track:... URIs, or track URLs. position: Optional zero-based index to insert at (defaults to the end).

get_currently_playingA

Show the track currently playing on the user's Spotify account (if any).

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/abenke/spotify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server