mcpserver.lol
registry/spotify-mcp-server
Connection check local install

spotify-mcp-server

The most complete Spotify MCP: playback, library, playlists, search, podcasts and audiobooks.

Tools 36
GitHub stars 1
Installs / wk
Licence MIT
Transport stdio
Last checked never

Tools & capabilities

36 tools

Read from the published package source — this server runs locally, so there is no endpoint to query. Names are taken from the code, not observed at runtime, and descriptions are often absent.

add_to_playlist from source
Add tracks or episodes to a playlist. Max 100 URIs per call.
batch_add_to_playlist from source
check_playlist_following from source
Check if you follow 1–50 playlists (fans out one call per playlist, concurrency 5). Quota: 🟢 1–50 GETs.
clean_all_playlists from source
Scan every playlist in your library for duplicate items (repeated URIs, and on opt-in
clone_playlist_cover from source
Copy cover image from source playlist to target. Quota: 🟢 GET images + PUT images (plus image fetch).
compare_playlist_covers from source
Compare two playlists covers: URL equality, dimensions. Quota: 🟢 2 GETs.
copy_playlist from source
create_playlist from source
diff_playlists from source
Compare two playlists fully paged: tracks only in A, only in B (by track ID), and tracks present in both but at different positions. Rendered rows are capped by max_results; totals…
find_duplicates_in_playlist from source
Find duplicate tracks in a playlist: repeated URIs plus relinked copies of the same song appearing under different URIs. Also covers: find_duplicate_tracks_across_playlists (cross-…
find_tool from source
Search the live tool registry by name or description substring — the fastest way to discover which of the 500+ tools handles a job. Discovery set: find_tool/inspect_tool/toolset_re…
get_playlist from source
Get a playlist
get_playlist_cover from source
Get a playlist
get_playlist_items from source
List a playlist
get_playlist_snapshot from source
Expose snapshot_id + item count for optimistic concurrency. Quota: 🟢 2 GETs.
get_user_playlists from source
List the current user
inspect_tool from source
Show one tool\
merge_playlists from source
move_items_between_playlists from source
overlap_playlists from source
Find tracks shared across playlists: reports how many playlists each track appears in and lists tracks present in at least min_overlap playlists (default: all of them), most-shared…
playlist_collab_toggle from source
Toggle collaborative/public flags (guards public=true && collaborative=true 400). Quota: 🟢 GET + PUT.
playlist_reverse from source
Reverse a playlist in one atomic replace. Quota: 🟢 GET all + PUT/POST. Also covers: reverse_playlist_plan — See also: reverse_playlist_plan.
playlist_shuffle from source
Fisher-Yates shuffle a playlist (seeded optional). Quota: 🟢 GET all + PUT/POST.
playlist_sort from source
Sort a playlist in place by added_at/name/artist/duration/popularity. Quota: 🟢 GET all + PUT/POST. Also covers: sort_playlist_plan / sort_playlist_apply (safe plan/apply) — See al…
playlist_subtract from source
Remove tracks of B..N from A. Quota: 🟢 N GETs + DELETE or PUT.
playlist_symmetric_difference from source
Tracks in exactly one of two playlists (XOR). Quota: 🟢 2 GETs.
playlist_trim from source
Trim playlist to N items (keep first/last/random). Quota: 🟢 GET all + PUT/POST.
playlist_union from source
Union of 2–10 playlists into target (deduped, first-seen order). Quota: 🟢 N GETs + PUT/POST.
remove_duplicate_playlist_items from source
Remove duplicate items from a playlist: keeps the first occurrence of each track and removes
remove_from_playlist from source
Remove tracks or episodes from a playlist. Max 100 entries per call.
reorder_playlist_items from source
Move a range of items within a playlist. Spotify semantics: when insert_before > range_start, the effective destination shifts down by range_length because the moved range is lifte…
replace_playlist_items from source
Replace ALL items in a playlist with the supplied URIs, overwriting the current contents. Lists longer than 100 URIs are sent in chunks internally (replace + appends).
toolset_report from source
Report the active toolsets and registration modules, plus the live registered tool count — answers
update_playlist from source
upload_playlist_cover from source
Replace a playlist
verify_receipt from source
Verify that a previous mutation actually landed on Spotify by looking up its receipt