Spotify MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | Yes | Your Spotify app Client ID from the Developer Dashboard. | |
| SPOTIFY_MCP_CACHE | No | Path to cache OAuth tokens. Default: ~/.spotify-mcp/token.json | |
| SPOTIFY_REDIRECT_URI | No | Redirect URI for OAuth. Must match exactly one in your app. Default: http://127.0.0.1:8888/callback | |
| SPOTIFY_CLIENT_SECRET | No | Optional. If set, uses classic Authorization Code flow instead of PKCE. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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 |
|---|---|
| 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.
|
| get_trackA | Get detailed information about a single song. Args:
track_id: A Spotify track ID, |
| 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, |
| 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, |
| get_currently_playingA | Show the track currently playing on the user's Spotify account (if any). |
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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