
Mcp Apple Music
io.github.Cifero74Published by GitHub account Cifero74v1.3.0Updated Oct 24, 2026
Apple Music MCP server — search catalog, manage playlists, and access your library via Claude.
Overview
Local MCP server that lets an assistant search the Apple Music catalog, browse your library, and create or edit playlists through Apple's MusicKit API.
- What you can do
- Search the Apple Music catalog and your personal library for songs, albums, artists and playlists
- List library songs, albums, artists and playlists, and read the tracks inside a playlist
- Create playlists and add library or catalog tracks to them
- Save catalog songs, albums and playlists to your library
- Read recently played items and personalized recommendations
- Mark or unmark catalog songs as favorites and check favorite status
- When to use it
- Useful when you want an assistant to work with your own Apple Music account: building playlists from listening history or recommendations, auditing which albums or artists you already own, or searching the catalog and saving results to your library.
- Requirements
- Runs locally as a Python package (Python 3.10+, uv or pip) on desktop. Needs a paid Apple Developer Program membership to create a MusicKit key, an active Apple Music subscription, and a one-time browser authorization wizard. Required settings: APPLE_KEY_ID, APPLE_TEAM_ID, APPLE_PRIVATE_KEY, APPLE_MUSIC_USER_TOKEN; optional APPLE_STOREFRONT. Network access to Apple's API.
Installation
In SourceWeft
- Open Mcp Apple Music in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
mcp-apple-music 🎵
mcp-name: io.github.Cifero74/mcp-apple-music
[Python 3.10+] [License: MIT] [MCP]
An MCP (Model Context Protocol) server that gives Claude full access to your Apple Music account — search the catalog, browse your personal library, manage playlists, and explore your listening history and recommendations.
Ask Claude things like:
- "Based on what I've been listening to lately, recommend 15 songs I don't have yet and add them to a new playlist"
- "Show me all my playlists and tell me which artists appear most"
- "Search for albums by Nick Cave and add my three favourites to a playlist called Dark Picks"
Features
Requirements
- Python 3.10+
- uv (recommended) or pip
- A paid Apple Developer Program membership (99 USD/year) to create a MusicKit key. The free Apple Developer account can't create MusicKit keys.
- An active Apple Music subscription
Setup
1. Create a MusicKit Key
- Go to developer.apple.com → Certificates, Identifiers & Profiles
- Under Keys, click + to create a new key
- Give it any name, enable MusicKit, and click Continue → Register
- Download the
.p8file — you can only download it once, keep it safe! - Note your Key ID (e.g.
ABC123DEF4) and your Team ID (found under Membership Details)
⚠️ The Key ID is the alphanumeric code shown next to the key name — not the filename of the
.p8file.
2. Clone and install
3. Run the one-time setup wizard
The wizard will ask for your Team ID, Key ID, and the path to your .p8 file. It then opens a browser page where you click "Authorise Apple Music" — this uses Apple's official MusicKit JS to obtain your Music User Token, which is stored securely at ~/.config/mcp-apple-music/config.json (file permissions: 600).
4. Add to Claude Desktop
Open your Claude Desktop config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Restart Claude Desktop — you should see the apple-music tools available in the toolbar.
How it works
Apple Music requires two separate tokens:
- Developer Token — a JWT you sign locally with your
.p8private key. Valid up to 6 months; the server regenerates it automatically before expiry. Your key never leaves your machine. - Music User Token — obtained once via MusicKit JS OAuth in the browser (the setup wizard handles this). Stored locally at
~/.config/mcp-apple-music/config.json.
⚠️ Playback control (play/pause/skip) is not available via Apple's REST API. It requires native MusicKit frameworks (iOS/macOS app) or MusicKit JS running in a browser context.
For playback control, check out chrome-relay — a companion CLI that lets an MCP server drive a
music.apple.comtab already open in Chrome, enabling play/pause/skip without shipping a MusicKit JS shim.
Project structure
Example prompts
Once connected, you can ask Claude:
Authors
Built by Cifero74 and Claude (Anthropic) as part of a personal MCP ecosystem for Claude Desktop.
This project was conceived, designed, debugged, and shipped entirely through a collaborative conversation between Mario and Claude — from API research and auth flow design, through the setup wizard, to live testing with a real Apple Music library.
Contributions, issues and PRs are welcome!
License
MIT — use it, fork it, build on it.
Source: README.md at commit 40183d5
Tools
0Version history
3- v1.3.0LatestOct 22, 2026
- v1.1.0Sep 30, 2026
- v1.0.1Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts