spotify-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPOTIFY_CLIENT_ID | Yes | Spotify app Client ID used for OAuth 2.0 with PKCE. Obtain it from the Spotify Developer Dashboard. |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| my_listening_profileB | Top artists and tracks for a time window in one call - answers 'what am I into lately'. |
| taste_evolutionA | Compares top artists across all three time windows to show who is rising, fading, and constant. Spotify exposes no listening history, so this diff is the only way to see direction of travel. |
| recently_playedB | The most recent plays, with the artists repeated most and which parts of the day the listening clustered in. Spotify caps this at 50 items. |
| my_playlistsA | Playlists the user owns or follows, with track counts. Use this to find a name to pass to analyze_playlist. |
| analyze_playlistA | Full breakdown of one playlist: dominant artists, how concentrated it is, release decades and total runtime. Accepts a playlist name (matched against the user's own playlists) or a Spotify playlist ID. |
| artist_profileA | Look up an artist by name and return their catalogue - recent albums and singles - in one call. |
| search_catalogA | Search the public catalog for tracks, artists or albums. |
| now_playingA | What the user is listening to right now, if anything. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Tools are mostly distinct, but artist_profile and search_catalog both handle lookups, and my_listening_profile vs taste_evolution both surface top artists. Descriptions clarify the differences well.
All names use snake_case and are readable, but the pattern mixes noun-phrases (my_playlists, now_playing) with verb-phrases (analyze_playlist, search_catalog). Minor inconsistency, no chaos.
8 tools is well-scoped for a personal music insights server. Each tool covers a distinct aspect of the user's listening data and catalog access without redundancy.
The set covers listening profile, taste trends, recent plays, playlists, playlist analysis, artist catalog, search, and current playback. Missing playback control or playlist editing, but those appear outside the server's analytics-focused purpose.