Spotify MCP
Model Context Protocol

Spotify, fluent
in Claude.

An MCP server that lets Claude control playback, search the catalog, and manage playlists — in plain language.

What it does

Everything Spotify, exposed as clean tools.

A focused set of typed MCP tools — each does one thing well, with structured output Claude can reason about.

Playback control

Play, pause, skip, and steer the queue. Claude drives your active device directly.

Smart search

Find tracks, albums, artists, and playlists with pagination for deep catalog dives.

Playlist management

Create, edit, and curate playlists with batch operations that scale to large collections.

Efficient by design

Intelligent batching minimizes API calls, keeping playlist edits fast and within rate limits.

Type-safe

Built on FastMCP with full Pydantic validation and MyPy compliance for predictable behavior.

Real-time state

Read live playback status and profile data, plus detailed track and artist info on demand.

The toolbox

One tool, one job.

No overloaded action parameters — just focused tools that compose.

Playback & queue
playback_controlGet state, start, pause, and skip tracks
add_to_queueQueue up tracks for the active device
get_queueView the current playback queue
get_track_infoDetailed metadata for any track
get_artist_infoArtist details and top tracks
search_tracksSearch tracks, albums, artists, or playlists
Playlists
create_playlistCreate new playlists with custom settings
get_playlist_infoPlaylist metadata and details
get_playlist_tracksRetrieve tracks with full pagination for large playlists
get_user_playlistsList all your playlists with pagination
add_tracks_to_playlistBatch-add tracks in a single operation
remove_tracks_from_playlistBatch-remove tracks from a playlist
modify_playlist_detailsUpdate name, description, and privacy
reorder_playlist_tracksMove tracks to a new position within a playlist
Two minutes to set up

Install with one command.

Published on PyPI — no clone, no local path. Run it with uvx.

terminal
$ claude mcp add spotify \
  -e SPOTIFY_CLIENT_ID=your_client_id \
  -e SPOTIFY_CLIENT_SECRET=your_client_secret \
  -e SPOTIFY_REDIRECT_URI=http://127.0.0.1:8888 \
  -- uvx spotify-mcp-jamiew
$ codex mcp add spotify \
  --env SPOTIFY_CLIENT_ID=your_client_id \
  --env SPOTIFY_CLIENT_SECRET=your_client_secret \
  --env SPOTIFY_REDIRECT_URI=http://127.0.0.1:8888 \
  -- uvx spotify-mcp-jamiew
{
  "mcpServers": {
    "spotify": {
      "command": "uvx",
      "args": ["spotify-mcp-jamiew"],
      "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id",
        "SPOTIFY_CLIENT_SECRET": "your_client_secret",
        "SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8888"
      }
    }
  }
}
{
  "mcpServers": {
    "spotify": {
      "command": "uvx",
      "args": ["spotify-mcp-jamiew"],
      "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id",
        "SPOTIFY_CLIENT_SECRET": "your_client_secret",
        "SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8888"
      }
    }
  }
}
{
  "mcpServers": {
    "spotify": {
      "command": "uvx",
      "args": ["spotify-mcp-jamiew"],
      "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id",
        "SPOTIFY_CLIENT_SECRET": "your_client_secret",
        "SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8888"
      }
    }
  }
}
mcp_servers:
  spotify:
    command: uvx
    args: [spotify-mcp-jamiew]
    env:
      SPOTIFY_CLIENT_ID: your_client_id
      SPOTIFY_CLIENT_SECRET: your_client_secret
      SPOTIFY_REDIRECT_URI: http://127.0.0.1:8888

Add -s user to install across all projects.

Same command everywhere: uvx spotify-mcp-jamiew. Requires a Spotify Premium account and uv >= 0.54.

Another client? Paste this to your agent

Install the spotify-mcp MCP server from https://github.com/jamiew/spotify-mcp — it's on PyPI as spotify-mcp-jamiew, run it with uvx spotify-mcp-jamiew, and set env vars SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET, and SPOTIFY_REDIRECT_URI=http://127.0.0.1:8888.

Just ask

What it feels like to use.

Create a chill study playlist

Claude searches for fitting tracks, spins up a new playlist, and batch-adds songs in one smooth flow.

Show me my Liked Songs

Handles large libraries gracefully with pagination — even collections of many thousands of tracks.

Find similar artists to Radiohead

Combines search and artist info to surface related artists and queue up their top tracks.