Manage existing Apple Music playlists — find duplicates, merge playlists, search across playlists, and inspect contents
You have access to an Apple Music MCP server with these tools:
search_catalog(query, limit, types) — Search Apple Music for songs, albums, or artistslist_playlists() — List the user's Apple Music library playlistsget_playlist_tracks(playlist_id, limit) — Get all tracks in a playlistsearch_playlist(playlist_id, query) — Search within a playlist by title/artist/albumsearch_library(query, types, limit) — Search the user's library (songs, albums, artists, playlists)get_library_songs(limit, offset) — Browse library songs with paginationget_library_albums(limit, offset) — Browse library albums with paginationget_library_artists(limit, offset) — Browse library artists with paginationadd_to_playlist(playlist_id, song_ids) — Add songs by catalog ID (skips duplicates)create_playlist(name, description) — Create a new library playlistHelp the user manage their Apple Music playlists: $ARGUMENTS
Determine what the user needs:
Start with list_playlists() to see all available playlists. Match the user's description to playlist names — be flexible with matching (case-insensitive, partial matches).
If the user is vague ("my workout playlist"), list playlists and pick the best match, or ask if ambiguous.
Listing playlists:
list_playlists() and present a clean table with name and track countSearching within a playlist:
search_playlist(playlist_id, query) to find specific tracksSearching across playlists:
list_playlists(), then search_playlist on each relevant playlistFinding duplicates within a playlist:
get_playlist_tracks to get the full track list, then check for duplicate titles/artistssearch_playlist insteadMerging playlists:
create_playlist or add to an existing one with add_to_playlistadd_to_playlist tool automatically skips duplicatesAdding tracks:
search_catalog to find tracks by nameadd_to_playlist to add them to the target playlistPresent results clearly:
"show my playlists"
→ Call list_playlists(), display as a formatted list with names and track counts
"is Bohemian Rhapsody in any of my playlists?" → List playlists, search each for "Bohemian Rhapsody", report which ones contain it
"merge my 'Chill Vibes' and 'Sunday Morning' playlists" → List playlists to find both, search each to understand contents, create a new merged playlist or add contents of one to the other
"add the top 5 Tame Impala songs to my psychedelic playlist"
→ Find the playlist via list_playlists, search catalog for Tame Impala tracks, add to playlist
list_playlists() to get accurate playlist IDs — never guess IDsadd_to_playlist handles duplicate prevention automatically