jamiew avatar

Spotify

jamiew/spotify-mcp

A fork of the original Spotify MCP that adds smart batching and large playlist tools on top of standard playback control, search, and queue management. The enhancements let you add or remove up to 100 tracks per API call and efficiently paginate through thousand-track playlists, cutting API usage by 60-80% for bulk operations. Built on FastMCP with typed schemas, progress notifications, and destructive action confirmations. Requires a Spotify Premium account and OAuth setup through the developer dashboard. Useful when you need Claude to build or reorganize large playlists, bulk-add search results to a queue, or handle discovery workflows that would otherwise hammer the Spotify API with dozens of single-track calls.

GitHub stars
12
tools
15
auth
Secret needed
transport
STDIO
env vars
3
last updated
Nov 7, 2026

Tools

15 tools

Public tool metadata for what this MCP can expose to an agent.

track.statsGet stream count and metadata for a Spotify track. Returns title, artist, total play count, duration in ms, content rating, track number, album info, and artist info.1 params

Get stream count and metadata for a Spotify track. Returns title, artist, total play count, duration in ms, content rating, track number, album info, and artist info.

Parameters* required
track_idstring
Spotify ID (22 alphanumeric characters)
album.statsGet album statistics with per-track stream counts. Returns album name, type, release date, label, copyright, cover art, per-track stream counts and durations, and related albums.1 params

Get album statistics with per-track stream counts. Returns album name, type, release date, label, copyright, cover art, per-track stream counts and durations, and related albums.

Parameters* required
album_idstring
Spotify ID (22 alphanumeric characters)
artist.statsGet artist statistics including monthly listeners and top tracks. Returns monthly listeners, follower count, world rank, top 5 listener cities, top 10 tracks with stream counts, biography, external links, albums, singles, and verified status.1 params

Get artist statistics including monthly listeners and top tracks. Returns monthly listeners, follower count, world rank, top 5 listener cities, top 10 tracks with stream counts, biography, external links, albums, singles, and verified status.

Parameters* required
artist_idstring
Spotify ID (22 alphanumeric characters)
searchSearch Spotify for artists, albums, tracks, and playlists. Returns matching results across all types. Track results include current stream counts.1 params

Search Spotify for artists, albums, tracks, and playlists. Returns matching results across all types. Track results include current stream counts.

Parameters* required
qstring
Search query, e.g. 'Arctic Monkeys'
artist.getGet metadata for one or more artists in a single request. Returns artist names, images, genres, and follower counts.1 params

Get metadata for one or more artists in a single request. Returns artist names, images, genres, and follower counts.

Parameters* required
idsstring
Comma-separated Spotify IDs (22 alphanumeric characters each)
artist.overviewGet overview data for an artist. Returns detailed artist profile including biography, images, top tracks, discography summary, and related artists.1 params

Get overview data for an artist. Returns detailed artist profile including biography, images, top tracks, discography summary, and related artists.

Parameters* required
artist_idstring
Spotify ID (22 alphanumeric characters)
artist.albumsGet all albums in an artist's discography, paginated. Returns album names, IDs, types, release dates, and cover art.3 params

Get all albums in an artist's discography, paginated. Returns album names, IDs, types, release dates, and cover art.

Parameters* required
artist_idstring
Spotify ID (22 alphanumeric characters)
limitinteger
Max results to returndefault: 100
offsetinteger
Pagination offsetdefault: 0
artist.singlesGet all singles in an artist's discography, paginated. Returns single names, IDs, release dates, and cover art.3 params

Get all singles in an artist's discography, paginated. Returns single names, IDs, release dates, and cover art.

Parameters* required
artist_idstring
Spotify ID (22 alphanumeric characters)
limitinteger
Max results to returndefault: 100
offsetinteger
Pagination offsetdefault: 0
artist.relatedGet artists similar to the given artist. Returns a list of related artists with their names, IDs, images, and follower counts.1 params

Get artists similar to the given artist. Returns a list of related artists with their names, IDs, images, and follower counts.

Parameters* required
artist_idstring
Spotify ID (22 alphanumeric characters)
album.getGet metadata for one or more albums in a single request. Returns album names, artists, release dates, track listings, and cover art.1 params

Get metadata for one or more albums in a single request. Returns album names, artists, release dates, track listings, and cover art.

Parameters* required
idsstring
Comma-separated Spotify IDs (22 alphanumeric characters each)
track.getGet metadata for one or more tracks in a single request. Returns track names, artists, albums, durations, and preview URLs.1 params

Get metadata for one or more tracks in a single request. Returns track names, artists, albums, durations, and preview URLs.

Parameters* required
idsstring
Comma-separated Spotify IDs (22 alphanumeric characters each)
track.previewGet preview audio URL for a Spotify track. Returns a short preview URL that can be used to listen to a snippet of the track.1 params

Get preview audio URL for a Spotify track. Returns a short preview URL that can be used to listen to a snippet of the track.

Parameters* required
track_idstring
Spotify ID (22 alphanumeric characters)
playlist.getGet metadata for a Spotify playlist. Returns playlist name, description, owner, follower count, and cover image.1 params

Get metadata for a Spotify playlist. Returns playlist name, description, owner, follower count, and cover image.

Parameters* required
playlist_idstring
Spotify ID (22 alphanumeric characters)
playlist.tracksGet tracks in a Spotify playlist, paginated. Returns track names, artists, albums, durations, and add dates.3 params

Get tracks in a Spotify playlist, paginated. Returns track names, artists, albums, durations, and add dates.

Parameters* required
limitinteger
Max results to returndefault: 100
offsetinteger
Pagination offsetdefault: 0
playlist_idstring
Spotify ID (22 alphanumeric characters)
playlist.permissionsGet permissions for a Spotify playlist. Returns whether the playlist is collaborative, public, and who can modify it.1 params

Get permissions for a Spotify playlist. Returns whether the playlist is collaborative, public, and who can modify it.

Parameters* required
playlist_idstring
Spotify ID (22 alphanumeric characters)

Sponsors

Configuration

SPOTIFY_CLIENT_ID*secret

Spotify app Client ID from developer.spotify.com

SPOTIFY_CLIENT_SECRET*secret

Spotify app Client Secret from developer.spotify.com

SPOTIFY_REDIRECT_URI*default: http://127.0.0.1:8888

OAuth redirect URI registered in your Spotify app

Readme

Spotify MCP, Python local server

spotify-mcp

mcp-name: io.github.jamiew/spotify-mcp

A local Python MCP server for searching Spotify, controlling playback, and managing playlists and Liked Songs from your MCP client. Runs over stdio with your Spotify account. This is a supported fork of varunneal/spotify-mcp.

The TypeScript edition supports local and hosted use, with a different MCP surface.

Setup

Requires Python 3.12+, uv, and Spotify Premium for playback.

  1. Create an app in the Spotify developer dashboard.
  2. Register http://127.0.0.1:8888 as its redirect URI, exactly as written.
  3. Copy the app's Client ID and Client Secret into your MCP client's configuration:

View the full README on GitHub

Details

Repository
github.com/jamiew/spotify-mcp
Category
Media & Entertainment
Package
spotify-mcp-jamiew
Transport
STDIO
Auth
Required
Registry
MCP registry, active

More from jamiew

Related Media & Entertainment MCP servers

View all
1hasdata avatarHasData TikTokhasdata/tiktok-mcpPublic TikTok profiles, videos, comments and keyword search as JSON. No developer account.10stars
2la-rebelion avatarLenny Rachitsky Podcast Transcripts MCP Serverla-rebelion/hapimcpMCP server for structured access to Lenny Rachitsky podcast transcripts. For content creators.0stars
3kynuxdev avatarMcp Instagram Dmkynuxdev/mcp-instagram-dmRead, send, search & manage Instagram DMs through AI assistants. 15 tools, cookie auth.2stars
4whisper-sec avatarWhisperGraphwhisper-sec/whisper-graph-mcpThe internet's infrastructure graph for AI agents - 46B nodes and edges, free trial via 2 HTTP calls1stars
5davidmosiah avatarShort Video Agent Kitdavidmosiah/short-video-agent-kitProvider-neutral short-form AI video toolkit for agents: Sora, Gemini Veo, xAI/Grok, Seedance.0stars
6granitebps avatarVideo Understanding MCPgranitebps/video-understanding-mcpLet AI agents watch videos and answer questions about them through any OpenAI-compatible endpoint.0stars