Control Spotify playback, search content, and manage playlists via an MCP server interface.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Spotify.
DescriptionSearch for tracks, albums, artists, or playlists on Spotify
ReturnsList of matching items with their IDs, names, and additional details
Example`searchSpotify("bohemian rhapsody", "track", 10)`
ParametersNone
Alternative`playMusic({ type: "track", id: "6rqhFgbbKwnb9MLmUQDhG6" })`
A lightweight Model Context Protocol (MCP) server that enables AI assistants like Cursor & Claude to control Spotify playback and manage playlists.
searchSpotify
query (string): The search termtype (string): Type of item to search for (track, album, artist, playlist)limit (number, optional): Maximum number of results to return (1-10, default: 10)offset (number, optional): Index of the first result to return (default: 0)searchSpotify("bohemian rhapsody", "track", 10)getNowPlaying
getNowPlaying()getMyPlaylists
limit (number, optional): Maximum number of playlists to return (default: 20)offset (number, optional): Index of the first playlist to return (default: 0)getMyPlaylists(10, 0)getPlaylistTracks
playlistId (string): The Spotify ID of the playlistlimit (number, optional): Maximum number of tracks to return (default: 100)offset (number, optional): Index of the first track to return (default: 0)getPlaylistTracks("37i9dQZEVXcJZyENOWUFo7")getRecentlyPlayed
limit (number, optional): A number specifying the maximum number of tracks to return.getRecentlyPlayed({ limit: 10 })getUsersSavedTracks
limit (number, optional): Maximum number of tracks to return (1-50, default: 50)offset (number, optional): Offset for pagination (0-based index, default: 0)getUsersSavedTracks({ limit: 20, offset: 0 })getQueue
limit (number, optional): Maximum number of upcoming items to show (1-50, default: 10)getQueue({ limit: 20 })getAvailableDevices
getAvailableDevices()removeUsersSavedTracks
trackIds (array): Array of Spotify track IDs to remove (max 40)removeUsersSavedTracks({ trackIds: ["4iV5W9uYEdYUVa79Axb7Rh", "1301WleyT98MSxVHPZCA6M"] })playMusic
uri (string, optional): Spotify URI of the item to play (overrides type and id)type (string, optional): Type of item to play (track, album, artist, playlist)id (string, optional): Spotify ID of the item to playdeviceId (string, optional): ID of the device to play onplayMusic({ uri: "spotify:track:6rqhFgbbKwnb9MLmUQDhG6" })playMusic({ type: "track", id: "6rqhFgbbKwnb9MLmUQDhG6" })pausePlayback
deviceId (string, optional): ID of the device to pausepausePlayback()resumePlayback
deviceId (string, optional): ID of the device to resume playback onresumePlayback()skipToNext
deviceId (string, optional): ID of the deviceskipToNext()skipToPrevious
deviceId (string, optional): ID of the deviceskipToPrevious()createPlaylist
name (string): Name for the new playlistdescription (string, optional): Description for the playlistpublic (boolean, optional): Whether the playlist should be public (default: false)createPlaylist({ name: "Workout Mix", description: "Songs to get pumped up", public: false })addTracksToPlaylist
playlistId (string): ID of the playlisttrackUris (array): Array of track URIs or IDs to addposition (number, optional): Position to insert tracksaddTracksToPlaylist({ playlistId: "3cEYpjA9oz9GiPac4AsH4n", trackUris: ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh"] })addToQueue
uri (string, optional): Spotify URI of the item to add to queue (overrides type and id)type (string, optional): Type of item to queue (track, album, artist, playlist)id (string, optional): Spotify ID of the item to queuedeviceId (string, optional): ID of the device to queue onaddToQueue({ uri: "spotify:track:6rqhFgbbKwnb9MLmUQDhG6" })addToQueue({ type: "track", id: "6rqhFgbbKwnb9MLmUQDhG6" })setVolume
volumePercent (number): The volume to set (0-100)deviceId (string, optional): ID of the device to set volume onsetVolume({ volumePercent: 50 })adjustVolume
adjustment (number): The amount to adjust volume by (-100 to 100). Positive values increase volume, negative values decrease it.deviceId (string, optional): ID of the device to adjust volume onadjustVolume({ adjustment: 10 }) (increase by 10%)adjustVolume({ adjustment: -20 }) (decrease by 20%)Factual signals from GitHub, npm, and our automated checks — not a rating.
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/marcelmarais-spotify)<a href="https://allmcps.com/mcp/marcelmarais-spotify"><img src="https://allmcps.com/api/badge/marcelmarais-spotify?style=directory" alt="Spotify on AllMCPs" /></a>