Spotify MCP server for AI agents
Search Spotify's catalogue, read albums, artists, shows and the user's library and listening history, manage playlists, and control playback.
Runs with your users' own Spotify accounts. Credentials stay on prompt-tm.com.
29 tools · 0 triggers
- Auth
- OAuth 2.0 (sign in with the app)
- Tools
- 29
- Triggers
- 0
- Category
- Media
Tools and triggers
Get the current user
SPOTIFY_GET_CURRENT_USERS_PROFILE
Returns the connected user's profile: Spotify user ID, display name, profile images and URI. Spotify has deprecated the email, country and plan (product) fields.read-only
Search the catalogue
SPOTIFY_SEARCH
Searches Spotify for albums, artists, playlists, tracks, shows, episodes or audiobooks matching a query. Field filters work in the query: `artist:`, `album:`, `track:`, `year:1990-1999`, `genre:`.read-only
Get a track
SPOTIFY_GET_TRACK
Returns one track: name, artists, album, duration, explicit flag and external URL.read-only
Get an album
SPOTIFY_GET_AN_ALBUM
Returns one album with its artists, release date, images and first page of tracks.read-only
List album tracks
SPOTIFY_GET_AN_ALBUMS_TRACKS
Lists the tracks of an album, one page at a time.read-only
Get an artist
SPOTIFY_GET_AN_ARTIST
Returns one artist: name, images and external URL.read-only
List an artist's albums
SPOTIFY_GET_AN_ARTISTS_ALBUMS
Lists an artist's albums, singles, compilations and appearances.read-only
Get a show
SPOTIFY_GET_A_SHOW
Returns one podcast show with its description, languages and first page of episodes.read-only
List show episodes
SPOTIFY_GET_A_SHOWS_EPISODES
Lists the episodes of a podcast show, one page at a time.read-only
Get an episode
SPOTIFY_GET_AN_EPISODE
Returns one podcast episode: name, description, release date, duration and show.read-only
List my playlists
SPOTIFY_GET_A_LIST_OF_CURRENT_USERS_PLAYLISTS
Lists the playlists the connected user owns or follows.read-only
Get a playlist
SPOTIFY_GET_PLAYLIST
Returns a playlist's name, description, owner and snapshot ID. The first page of items comes only for a playlist the user owns or collaborates on.read-only
List playlist items
SPOTIFY_GET_PLAYLISTS_ITEMS
Lists the tracks and episodes of a playlist, one page at a time, with who added each one and when. Only for a playlist the user owns or collaborates on; others answer 403.read-only
Create a playlist
SPOTIFY_CREATE_PLAYLIST
Creates an empty playlist for the connected user. Add tracks with Add items to a playlist.
Update a playlist
SPOTIFY_CHANGE_PLAYLIST_DETAILS
Changes a playlist's name, description, public or collaborative setting. The user must own the playlist. Fields left out stay as they are.destructive
Add items to a playlist
SPOTIFY_ADD_ITEMS_TO_PLAYLIST
Adds up to 100 tracks or episodes to a playlist, appended at the end or inserted at a position. Returns the playlist's new snapshot ID.
Remove items from a playlist
SPOTIFY_REMOVE_ITEMS_PLAYLIST
Removes tracks or episodes from a playlist. Returns the playlist's new snapshot ID.destructive
List saved tracks
SPOTIFY_GET_USERS_SAVED_TRACKS
Lists the tracks saved in the connected user's library (Liked Songs).read-only
Save to library
SPOTIFY_SAVE_LIBRARY_ITEMS
Saves tracks, albums, episodes, shows, audiobooks, playlists or users to the connected user's library.
Remove from library
SPOTIFY_REMOVE_LIBRARY_ITEMS
Removes tracks, albums, episodes, shows, audiobooks, playlists or users from the connected user's library.destructive
Check the library
SPOTIFY_CHECK_LIBRARY_CONTAINS
Checks whether items are in the connected user's library. Returns one true or false per URI, in order.read-only
List top artists or tracks
SPOTIFY_GET_USERS_TOP_ARTISTS_AND_TRACKS
Lists the connected user's most listened-to artists or tracks over a time range.read-only
List recently played tracks
SPOTIFY_GET_RECENTLY_PLAYED
Lists the tracks the connected user played most recently, with when each was played. Podcast episodes aren't included.read-only
Get playback state
SPOTIFY_GET_INFORMATION_ABOUT_THE_USERS_CURRENT_PLAYBACK
Returns what the connected user is playing now: the track or episode, progress, active device, shuffle and repeat. Answers 204 with no content when nothing is playing.read-only
List available devices
SPOTIFY_GET_A_USERS_AVAILABLE_DEVICES
Lists the Spotify Connect devices the connected user can play on, with their IDs and which is active.read-only
Start or resume playback
SPOTIFY_START_A_USERS_PLAYBACK
Starts playing an album, artist or playlist, or a list of tracks, or resumes the current playback. Needs Spotify Premium.
Pause playback
SPOTIFY_PAUSE_A_USERS_PLAYBACK
Pauses playback. Needs Spotify Premium.
Skip to next
SPOTIFY_SKIP_USERS_PLAYBACK_TO_NEXT_TRACK
Skips to the next item in the user's queue. Needs Spotify Premium.
Add to queue
SPOTIFY_ADD_TO_QUEUE
Adds a track or episode to the end of the user's playback queue. Needs Spotify Premium.
Try Spotify now
Sign in, connect your account and run any of these in the playground, or ask your agent through the router.
- “Get the current user”SPOTIFY_GET_CURRENT_USERS_PROFILE
- “Search the catalogue”SPOTIFY_SEARCH
- “Get a track”SPOTIFY_GET_TRACK
Connect via MCP
Create an MCP server for Spotify in the dashboard, then add its URL to your client. This is the Claude Code command; the client guide has the others.
claude mcp add --transport http spotify \
"https://www.prompt-tm.com/mcp/<server id>?user_id=<your user>" \
--header "x-api-key: ptm_…"Connect via REST
Run a tool with one request. The response is { data, error, successful, log_id } for every tool.
curl -X POST https://www.prompt-tm.com/api/v3/tools/execute/SPOTIFY_GET_CURRENT_USERS_PROFILE \
-H "x-api-key: $PROMPT_TM_KEY" -H "content-type: application/json" \
-d '{ "user_id": "alice", "arguments": {} }'