Spotify MCP Tools for AI Agents
Let an agent search music, play tracks or artists, pause or resume playback, and skip through each user's queue.
Available Tools
20 tools available in this integration
Spotify.AdjustPlaybackPosition Adjust the playback position within the currently playing track.
Spotify.GetAvailableDevices Get the available devices
Spotify.GetCurrentlyPlaying Get information about the user's currently playing track
Spotify.GetPlaybackState Get what is playing now on the user's Spotify account: the track or episode, the progress
Spotify.GetTrack Get information about a track
Spotify.GetTrackFromId Get information about a track
Spotify.ListDevices Get the available devices
Spotify.PausePlayback Pause the currently playing track, if any
Spotify.PlayArtist Play a song by an artist and queue four more songs by the same artist
Spotify.PlayArtistByName Play a song by an artist and queue four more songs by the same artist
Spotify.PlayTrack Play a song by name
Spotify.PlayTrackByName Play a song by name
Spotify.PlayTracks Start playback of a list of tracks (songs)
Spotify.ResumePlayback Resume the currently playing track, if any
Spotify.Search Search Spotify catalog information
Spotify.SearchItems Search Spotify catalog information
Spotify.SetPlaybackPosition Adjust the playback position within the currently playing track.
Spotify.SkipToNextTrack Skip to the next track in the user's queue, if any
Spotify.SkipToPreviousTrack Skip to the previous track in the user's queue, if any
Spotify.StartTracksPlaybackById Start playback of a list of tracks (songs)
Why agent-optimized tools matter
Built for intent, not API schemas
Ask the agent to "play four songs by the artist I name and tell me what started." Arcade picks the right Spotify actions without guessing artist or track identifiers first.
Up to 100x fewer tokens
Spotify search and playback reads return focused catalog or state details, so the agent can find a track or inspect what's playing without loading unrelated albums, artists, or listening history into the model.
Complete the workflow end to end
Search the catalog, inspect the current track, start a set of songs, pause or resume playback, and skip or seek through one toolkit designed around the complete listening task.
Make actions predictable and controlled
Arcade tools return structured results and useful errors across users and runs. Teams can apply scope restrictions, redaction, and approval policies so agents follow the same controls every time.
Securing Spotify
The more capabilities agents get, the more useful they are. However, more capabilities bring more risks of undesired effects such as data loss and exfiltration.
This is why Arcade provides you with contextual rules that dictate how and when a tool is allowed to run. Arcade’s contextual access lets you govern tool visibility and behavior at every stage of execution and control who can see a tool, what inputs are allowed, and what comes back.
Learn about Contextual Access PoliciesFor Spotify, you can implement some of these policies:
- Hide Spotify.StartTracksPlaybackById from read-only agents, so an agent cannot start playback for users who are only allowed to inspect their account.
- Restrict Spotify.PlayArtistByName to agents operating under the roles your IDP marks as playback managers, so unapproved automation cannot take over a user's queue.
- Deny Spotify.PlayTrackByName to guest agents, so they cannot interrupt a user's current listening session.
- Hide Spotify.PlayArtist from agents without the roles your IDP assigns to playlist or playback operators, so an agent cannot start an artist queue for an unapproved user.
- Restrict Spotify.PlayTrack to agents running in an approved listening workflow, so casual assistants cannot replace a user's current track.
- Deny Spotify.PlayTracks to guest and read-only agents, so they cannot start a multi-track session on a user's account.
- Require human approval before Spotify.AdjustPlaybackPosition runs, so an agent cannot unexpectedly jump through a user's current track.
- Block Spotify.PausePlayback unless the request comes from an approved playback-control workflow, so background automation cannot stop a user's music without review.
- Require human approval before Spotify.SkipToNextTrack runs, so an agent cannot discard the track a user is currently listening to.
- Require human approval before Spotify.SetPlaybackPosition changes progress, so an agent cannot skip past part of a track the user is listening to.
- Block Spotify.PlayTrack when the requested song is not on your approved content list, so an agent cannot start restricted or unsuitable audio.
- Require approval before Spotify.PlayTracks starts more than five tracks, so an automated request cannot replace a user's listening session with an unchecked queue.
- Redact device names and device identifiers from Spotify.GetAvailableDevices results, so the model cannot infer a user's personal hardware or location clues.
- Deny the output of Spotify.GetCurrentlyPlaying, so the model cannot inspect a user's current listening activity.
- Strip device names, device identifiers, and active-track details from Spotify.GetPlaybackState results before they reach the model.
- Strip track IDs, artist IDs, and external URLs from Spotify.GetTrack results before they reach the model, so catalog lookups cannot be turned directly into unapproved playback requests.
- Redact device names, device IDs, and device types from Spotify.ListDevices results, so the model cannot identify a user's personal hardware or infer where they are listening.
- Remove track IDs, artist IDs, album IDs, and external URLs from Spotify.SearchItems results, so the model receives searchable titles and names without reusable playback identifiers.
How to use Spotify with your agent
Follow the walkthrough to connect Spotify to an MCP client and let each user authorize their own account. Then try the example prompts to control playback and search the music catalog.
Your questions, answered
A Spotify MCP server exposes Spotify capabilities as structured tools that an AI agent can call through the Model Context Protocol. After a user authorizes their Spotify account, the agent can search the catalog, inspect playback, and control permitted playback actions.
Arcade provides Spotify access through an MCP gateway and adds user-level OAuth, agent-optimized actions, approval workflows, redaction, and scope controls. The integration is built by Arcade, so the actions are shaped around requests such as playing an artist, checking what is playing, or skipping a track.
Arcade agents can search for tracks and artists, retrieve track details, inspect the currently playing song and playback state, list available devices, start one or more tracks, play an artist with four additional songs queued, pause or resume playback, adjust the playback position, and skip forward or back.
Spotify read access can require permissions such as user-read-playback-state and user-read-currently-playing. Playback changes require user-modify-playback-state; Arcade requests the scopes needed by the actions you enable.
Yes. Each user authorizes their own Spotify account through OAuth. Actions run under that user's authorization, so the agent can access and control only the account and permissions that user approved.
Yes. Contextual Access policies can require human approval before consequential Spotify actions such as starting, pausing, seeking, or skipping playback. The call proceeds only after the policy's conditions have been satisfied.
Arcade proxies Spotify API calls and does not persist your content as part of normal tool execution. OAuth credentials are brokered and stored encrypted at rest, and the model never receives raw credentials.
Any framework or client that can connect to Arcade's MCP gateway or tool APIs works, including LangChain, OpenAI Agents, CrewAI, Claude Desktop, Claude Code, Cursor, Visual Studio Code, Microsoft Copilot Studio, and GitHub Copilot.
Arcade refreshes Spotify access while the user's authorization remains valid. If access is revoked, rotated, or can no longer be refreshed, calls stop until the user reconnects Spotify.
Spotify's Web API rate limits and account-level playback restrictions still apply to calls made through Arcade. Requests can also fail when the account has no active playback device or when Spotify does not allow the requested playback action.