MCP Hub
Back to servers

mcp-server-spotify

MCP server for the Spotify Web API — gives Claude and other AI assistants tools to search music, control playback, manage playlists, library, and podcasts.

glama
Stars
1
Updated
May 5, 2026

Spotify MCP Server

PyPI

A Model Context Protocol (MCP) server that provides tools for interacting with the Spotify Web API. Enables AI assistants like Claude to search music, control playback, manage playlists, and more.

Features

  • Search - Find tracks, albums, artists, playlists, shows, episodes, and audiobooks
  • Playback Control - Play, pause, skip, seek, volume, shuffle, repeat, queue management
  • Playlists - Create, update, add/remove/reorder tracks
  • Library - View and manage saved tracks, albums, shows, episodes, and audiobooks
  • Browse - Get album details, artist info, track metadata
  • Podcasts & Audiobooks - Browse shows, episodes, audiobooks, and chapters
  • User Profile - View profile, top artists/tracks, followed artists
  • 44 tools covering non-deprecated Spotify Web API endpoints

Prerequisites

  • uv — install with curl -LsSf https://astral.sh/uv/install.sh | sh
  • A Spotify Developer account
  • A Spotify app with Client ID and Client Secret

Getting Your Spotify Credentials

  1. Go to the Spotify Developer Dashboard
  2. Click Create App
  3. Fill in the app details:
    • App name: Choose any name (e.g., "My MCP Server")
    • App description: Optional
    • Redirect URI: http://127.0.0.1:8888/callback
    • Which API/SDKs are you planning to use?: Select Web API
  4. Click Save
  5. On your app's page, find your Client ID
  6. Click Show client secret to reveal your Client Secret

Important: The redirect URI must exactly match http://127.0.0.1:8888/callback (or whatever you set in SPOTIFY_REDIRECT_URI). Do not use localhost — use 127.0.0.1.

Installation

Pick your client below. All examples use uvx to fetch the server on demand — no clone, no manual install.

Claude Code

claude mcp add spotify \
  -e SPOTIFY_CLIENT_ID=your_client_id \
  -e SPOTIFY_CLIENT_SECRET=your_client_secret \
  -- uvx mcp-server-spotify

Other MCP clients

Most MCP clients configure servers via a JSON file. Add this entry to your client's MCP config:

{
  "mcpServers": {
    "spotify": {
      "command": "uvx",
      "args": ["mcp-server-spotify"],
      "env": {
        "SPOTIFY_CLIENT_ID": "your_client_id",
        "SPOTIFY_CLIENT_SECRET": "your_client_secret"
      }
    }
  }
}

Running from a local checkout

For development, or if you want to run a modified copy:

git clone https://github.com/llyfn/spotify-mcp.git
cd spotify-mcp && uv sync

Then point your client at the local checkout instead of uvx:

"command": "uv",
"args": ["--directory", "/absolute/path/to/spotify-mcp", "run", "mcp-server-spotify"]

Configuration

VariableRequiredDefaultDescription
SPOTIFY_CLIENT_IDYesYour Spotify app's Client ID
SPOTIFY_CLIENT_SECRETYesYour Spotify app's Client Secret
SPOTIFY_REDIRECT_URINohttp://127.0.0.1:8888/callbackOAuth redirect URI

Authentication

The server uses Spotify's Authorization Code flow:

  1. On first use, the server opens your browser to Spotify's login page
  2. Spotify will ask you to approve access — the server requests all scopes needed for the full tool set (playback, library, playlists, and user data)
  3. After you authorize, Spotify redirects to the local callback server
  4. The server exchanges the authorization code for access/refresh tokens
  5. Tokens are stored securely in ~/.spotify-mcp/credentials.json
  6. Tokens are automatically refreshed when they expire

If running in a headless environment (SSH, Docker), the auth URL will be printed to stderr — copy and paste it into a browser manually.

Re-authenticating

To re-authenticate (e.g., after revoking access), delete the stored credentials:

rm ~/.spotify-mcp/credentials.json

Available Tools

Search

ToolDescription
searchSearch for tracks, albums, artists, playlists, shows, episodes, or audiobooks

Albums

ToolDescription
get_albumGet album details by ID
get_album_tracksGet tracks in an album

Artists

ToolDescription
get_artistGet artist details by ID
get_artist_albumsGet albums by an artist

Tracks

ToolDescription
get_trackGet track details by ID

Playlists

ToolDescription
get_playlistGet playlist details
update_playlistUpdate playlist name, description, or visibility
get_playlist_itemsGet items in a playlist
add_playlist_itemsAdd tracks/episodes to a playlist
remove_playlist_itemsRemove items from a playlist
reorder_playlist_itemsReorder items in a playlist
get_my_playlistsGet the current user's playlists
create_playlistCreate a new playlist

Library

ToolDescription
get_saved_tracksGet saved tracks
get_saved_albumsGet saved albums
get_saved_showsGet saved shows
get_saved_episodesGet saved episodes
get_saved_audiobooksGet saved audiobooks
save_to_librarySave items to library
remove_from_libraryRemove items from library
check_saved_in_libraryCheck if items are in library

Player

ToolDescription
get_playback_stateGet current playback state
get_currently_playingGet the currently playing track
playStart or resume playback
pausePause playback
next_trackSkip to next track
previous_trackSkip to previous track
seekSeek to position in track
set_repeatSet repeat mode (track/context/off)
set_volumeSet playback volume
toggle_shuffleToggle shuffle mode
transfer_playbackTransfer playback to another device
get_devicesGet available devices
add_to_queueAdd item to playback queue
get_queueGet the playback queue
get_recently_playedGet recently played tracks

Shows & Podcasts

ToolDescription
get_showGet show details
get_show_episodesGet episodes of a show

Audiobooks

ToolDescription
get_audiobookGet audiobook details
get_audiobook_chaptersGet chapters of an audiobook
get_chapterGet chapter details

Users

ToolDescription
get_my_profileGet current user's profile
get_my_top_itemsGet top artists or tracks

Following artists/users uses the same save_to_library / remove_from_library / check_saved_in_library tools — pass an artist or user URI.

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT - see LICENSE for details.

Reviews

No reviews yet

Sign in to write a review