io.github.Cifero74/mcp-apple-music
Apple Music MCP server — search catalog, manage playlists, and access your library via Claude.
Versions
1.0.1latestTools 14
search_catalog Search the Apple Music catalog for songs, albums, artists, or playlists. Args: query: Search term (e.g. "Radiohead", "Bohemian Rhapsody"). types: Comma-separated resource types to include. Options: songs, albums, artists, playlists (default: songs,albums,artists) limit: Results per type, 1–25 (default 5).
search_library Search within your personal Apple Music library. Args: query: Search term. types: Comma-separated types. Options: library-songs, library-albums, library-artists, library-playlists limit: Results per type, 1–25 (default 10).
get_library_songs List songs saved in your Apple Music library. Args: limit: Number of songs to return, 1–100 (default 25). offset: Pagination offset for retrieving subsequent pages (default 0).
get_library_albums List albums saved in your Apple Music library. Args: limit: Number of albums to return, 1–100 (default 25). offset: Pagination offset (default 0).
get_library_artists List artists in your Apple Music library. Args: limit: Number of artists to return, 1–100 (default 25). offset: Pagination offset (default 0).
get_library_playlists List all playlists in your Apple Music library. Args: limit: Maximum number of playlists to return, 1–100 (default 100).
get_playlist_tracks Get the tracks inside a specific playlist. Apple Music returns at most 100 tracks per request. Use ``offset`` to page through a large playlist, or set ``fetch_all=True`` to automatically fetch every page (up to ``max_tracks``). Args: playlist_id: Library playlist ID (starts with 'p.'). Use get_library_playlists to find IDs. limit: Maximum tracks to return for a single page, 1–100 (default 100). Ignored when fetch_all is True (always uses page size 100). offset: Pagination offset for single-page requests (default 0). Ignored when fetch_all is True. fetch_all: If True, follow pagination and return every track in the playlist (up to max_tracks). Default False. max_tracks: Safety cap when fetch_all is True, 1–5000 (default 2000).
create_playlist Create a new playlist in your Apple Music library. Args: name: Name for the new playlist. description: Optional short description.
add_tracks_to_playlist Add tracks to an existing playlist. Args: playlist_id: The target playlist ID (starts with 'p.'). track_ids: List of track IDs to add. track_type: 'library-songs' for tracks from your library (default), 'songs' for catalog tracks found via search_catalog.
get_recently_played Get your recently played albums, playlists, and stations. Note: Apple Music API returns recently-played containers (albums, playlists, stations) rather than individual tracks. Args: limit: Number of items to return, 1–10 (default 10). The /me/recent/played endpoint rejects anything above 10.
get_recommendations Get personalised Apple Music recommendations. Args: limit: Number of recommendation groups to return, 1–10 (default 5).
favorite_song Mark a catalog song as favorite (the star in Apple Music). Args: song_id: Catalog song ID (use search_catalog to find it).
unfavorite_song Remove a catalog song from favorites (clears its rating). Args: song_id: Catalog song ID.
get_song_favorite_status Check which catalog songs are marked as favorite. Args: song_ids: Comma-separated catalog song IDs (e.g. "1276760751,123").
Permissions 3
network medium filesystem low env_vars low