← Back to search

io.github.Cifero74/mcp-apple-music

Cifero74 Scanned 25d ago

Apple Music MCP server — search catalog, manage playlists, and access your library via Claude.

C
72.6 / 100

Versions

1.0.1latest
first seen May 19, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 11

search_catalog
annotations: none low

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).

limit int query str types str
search_library
annotations: none low

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).

limit int query str types str
get_library_songs
annotations: none low

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).

limit int offset int
get_library_albums
annotations: none low

List albums saved in your Apple Music library. Args: limit: Number of albums to return, 1–100 (default 25). offset: Pagination offset (default 0).

limit int offset int
get_library_artists
annotations: none low

List artists in your Apple Music library. Args: limit: Number of artists to return, 1–100 (default 25). offset: Pagination offset (default 0).

limit int offset int
get_library_playlists
annotations: none low

List all playlists in your Apple Music library. Args: limit: Maximum number of playlists to return, 1–100 (default 100).

limit int
get_playlist_tracks
annotations: none low

Get the tracks inside a specific playlist. Args: playlist_id: Library playlist ID (starts with 'p.'). Use get_library_playlists to find IDs. limit: Maximum tracks to return, 1–100 (default 100).

limit int playlist_id str
create_playlist
annotations: none low

Create a new playlist in your Apple Music library. Args: name: Name for the new playlist. description: Optional short description.

name str description str
add_tracks_to_playlist
annotations: none low

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.

track_ids string track_type str playlist_id str
get_recently_played
annotations: none low

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–50 (default 10).

limit int
get_recommendations
annotations: none low

Get personalised Apple Music recommendations. Args: limit: Number of recommendation groups to return, 1–10 (default 5).

limit int

Permissions 3

network medium
Server uses network capabilities via: http, httpx, urllib
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib
env_vars low
Server uses env_vars capabilities via: os.environ

Scan Findings 58

low
Tool 'search_catalog' has no annotations annotation_checker · 100%
low
Tool 'search_library' has no annotations annotation_checker · 100%
low
Tool 'get_library_songs' has no annotations annotation_checker · 100%
low
Tool 'get_library_albums' has no annotations annotation_checker · 100%
low
Tool 'get_library_artists' has no annotations annotation_checker · 100%
low
Tool 'get_library_playlists' has no annotations annotation_checker · 100%
low
Tool 'get_playlist_tracks' has no annotations annotation_checker · 100%
low
Tool 'create_playlist' has no annotations annotation_checker · 100%
low
Tool 'add_tracks_to_playlist' has no annotations annotation_checker · 100%
low
Tool 'get_recently_played' has no annotations annotation_checker · 100%
low
Tool 'get_recommendations' has no annotations annotation_checker · 100%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: PyJWT@2.8.0 (GHSA-752w-5fwx-jx9f) dependency_analyzer · 95%
medium
Vulnerable dependency: PyJWT@2.8.0 (GHSA-993g-76c3-p5m4) dependency_analyzer · 95%
medium
Vulnerable dependency: PyJWT@2.8.0 (GHSA-fhv5-28vv-h8m8) dependency_analyzer · 95%
medium
Vulnerable dependency: PyJWT@2.8.0 (GHSA-w7vc-732c-9m39) dependency_analyzer · 95%
medium
Vulnerable dependency: PyJWT@2.8.0 (GHSA-xgmm-8j9v-c9wx) dependency_analyzer · 95%
medium
Vulnerable dependency: PyJWT@2.8.0 (PYSEC-2025-183) dependency_analyzer · 95%
medium
Vulnerable dependency: PyJWT@2.8.0 (PYSEC-2026-120) dependency_analyzer · 95%
medium
Vulnerable dependency: PyJWT@2.8.0 (PYSEC-2026-175) dependency_analyzer · 95%
medium
Vulnerable dependency: PyJWT@2.8.0 (PYSEC-2026-177) dependency_analyzer · 95%
medium
Vulnerable dependency: PyJWT@2.8.0 (PYSEC-2026-178) dependency_analyzer · 95%
medium
Vulnerable dependency: PyJWT@2.8.0 (PYSEC-2026-179) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (GHSA-537c-gmf6-5ccf) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (GHSA-6vqw-3v5j-54x4) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (GHSA-79v4-65xg-pq4g) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (GHSA-9v9h-cgj8-h64p) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (GHSA-h4gh-qq45-vh27) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (GHSA-jwv3-5hgf-82ww) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (GHSA-m2h6-j472-rp4c) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (GHSA-m959-cc7f-wv43) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (GHSA-r6ph-v2qm-q3c2) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (PYSEC-2024-225) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (PYSEC-2026-1284) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (PYSEC-2026-1285) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (PYSEC-2026-2141) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (PYSEC-2026-35) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (PYSEC-2026-3553) dependency_analyzer · 95%
medium
Vulnerable dependency: cryptography@42.0.0 (PYSEC-2026-3554) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: search_catalog manifest_parser · 90%
info
Tool: search_library manifest_parser · 90%
info
Tool: get_library_songs manifest_parser · 90%
info
Tool: get_library_albums manifest_parser · 90%
info
Tool: get_library_artists manifest_parser · 90%
info
Tool: get_library_playlists manifest_parser · 90%
info
Tool: get_playlist_tracks manifest_parser · 90%
info
Tool: create_playlist manifest_parser · 90%
info
Tool: add_tracks_to_playlist manifest_parser · 90%
info
Tool: get_recently_played manifest_parser · 90%
info
Tool: get_recommendations manifest_parser · 90%
info
Required env vars (5) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 90%
low
Permission: filesystem access detected permission_analyzer · 80%
low
Permission: env_vars access detected permission_analyzer · 90%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%