An MCP server that lets Claude control playback, search the catalog, and manage playlists — in plain language.
A focused set of typed MCP tools — each does one thing well, with structured output Claude can reason about.
Play, pause, skip, and steer the queue. Claude drives your active device directly.
Find tracks, albums, artists, and playlists with pagination for deep catalog dives.
Create, edit, and curate playlists with batch operations that scale to large collections.
Intelligent batching minimizes API calls, keeping playlist edits fast and within rate limits.
Built on FastMCP with full Pydantic validation and MyPy compliance for predictable behavior.
Read live playback status and profile data, plus detailed track and artist info on demand.
No overloaded action parameters — just focused tools that compose.
playback_controlGet state, start, pause, and skip tracksadd_to_queueQueue up tracks for the active deviceget_queueView the current playback queueget_track_infoDetailed metadata for any trackget_artist_infoArtist details and top trackssearch_tracksSearch tracks, albums, artists, or playlistscreate_playlistCreate new playlists with custom settingsget_playlist_infoPlaylist metadata and detailsget_playlist_tracksRetrieve tracks with full pagination for large playlistsget_user_playlistsList all your playlists with paginationadd_tracks_to_playlistBatch-add tracks in a single operationremove_tracks_from_playlistBatch-remove tracks from a playlistmodify_playlist_detailsUpdate name, description, and privacyreorder_playlist_tracksMove tracks to a new position within a playlistPublished on PyPI — no clone, no local path. Run it with uvx.
$ 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.
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.
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.