MCP server connecting LLMs to Spotify, with smart-batching and large-playlist tools
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
mcp-name: io.github.jamiew/spotify-mcp
MCP server connecting Claude with Spotify. This fork of varunneal/spotify-mcp adds smart-batching tools and advanced playlist features that optimize API usage.
This one runs locally over stdio. If you want a remote MCP server instead β hosted, OAuth in the browser, no local install for the people connecting to it β see jamiew/spotify-mcp-cloudflare: a sibling Spotify MCP on Cloudflare Workers that you can deploy yourself in a few minutes, and a decent worked example of remote-MCP auth on Workers generally.
| Tool | Does |
|---|---|
get_me | The signed-in user's profile |
search_music | Search tracks, albums, artists or playlists, with filters |
get_track_info | Track details, batched up to 50 per call |
get_artist_info | Artist details plus their top tracks |
get_album_info | Album details plus its track list |
get_playback_state | What's playing now: track, device, progress, shuffle, repeat |
control_playback | Play, pause, next, previous, seek, volume, shuffle, repeat |
list_devices | Available Spotify Connect devices |
transfer_playback | Move playback to another device |
get_queue | Now playing plus the upcoming queue |
add_to_queue | Queue a track |
get_user_playlists | The user's playlists, paginated |
get_playlist_info | Playlist metadata without its tracks |
get_playlist_tracks | Playlist tracks, paginated to any size |
create_playlist | Create a playlist |
modify_playlist_details | Rename a playlist or change its description/visibility |
add_tracks_to_playlist | Add up to 100 tracks in one call |
remove_tracks_from_playlist | Remove tracks (confirms first where the client supports it) |
reorder_playlist_tracks | Move a block of tracks to a new position |
unfollow_playlist | Unfollow a playlist β how Spotify deletes your own |
get_saved_tracks | Liked Songs, paginated |
save_tracks | Like tracks |
remove_saved_tracks | Unlike tracks |
get_top_items | Top artists or tracks over a time range |
get_recently_played | Recently played tracks with timestamps |
tests/test_tool_metadata.py fails if this table drifts from the code, or if a tool ships
without a title, icon and behaviour annotations.
Requires a Spotify Premium account and uv >= 0.54.
http://127.0.0.1:8888 β it must match exactly what you set below.Every client runs the same command β uvx spotify-mcp-jamiew β with your three Spotify env vars. No clone, no local path.
Standard config (works in most clients):
Add -s user to install it globally across all projects. Verify with claude mcp list.
Add the standard config above to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then fully restart Claude Desktop.
Or add to ~/.codex/config.toml:
Add to ~/.hermes/config.yaml, then run /reload-mcp (or restart Hermes):
Add the standard config above to ~/.openclaw/openclaw.json (under mcpServers), then openclaw gateway restart.
Most MCP clients read a JSON file with an mcpServers block β drop the standard config above into it.
Using something else? 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 withuvx spotify-mcp-jamiew, and set env varsSPOTIFY_CLIENT_ID,SPOTIFY_CLIENT_SECRET, andSPOTIFY_REDIRECT_URI=http://127.0.0.1:8888.
Then point your client at the checkout:
To run the latest unpublished commit without cloning: uvx --from git+https://github.com/jamiew/spotify-mcp.git spotify-mcp.
On first use the server opens a browser for Spotify OAuth; the token is cached locally for later runs.
Built with the FastMCP framework β focused single-purpose tools spanning playback, search, queue, and playlist management, with type-safe APIs and comprehensive test coverage.
Debug with MCP Inspector:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/spotify-3)<a href="https://allmcps.com/mcp/spotify-3"><img src="https://allmcps.com/api/badge/spotify-3?style=directory" alt="Spotify on AllMCPs" /></a>