Server data from the Official MCP Registry
Apple Music MCP server — search catalog, manage playlists, and access your library via Claude.
Apple Music MCP server — search catalog, manage playlists, and access your library via Claude.
Valid MCP server (1 strong, 4 medium validity signals). No known CVEs in dependencies. ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry.
7 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: APPLE_TEAM_ID
Environment variable: APPLE_KEY_ID
Environment variable: APPLE_PRIVATE_KEY
Environment variable: APPLE_MUSIC_USER_TOKEN
Environment variable: APPLE_STOREFRONT
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-cifero74-mcp-apple-music": {
"env": {
"APPLE_KEY_ID": "your-apple-key-id-here",
"APPLE_TEAM_ID": "your-apple-team-id-here",
"APPLE_STOREFRONT": "your-apple-storefront-here",
"APPLE_PRIVATE_KEY": "your-apple-private-key-here",
"APPLE_MUSIC_USER_TOKEN": "your-apple-music-user-token-here"
},
"args": [
"mcp-apple-music"
],
"command": "uvx"
}
}
}From the project's GitHub README.
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"
| Tool | Description |
|---|---|
search_catalog | Search Apple Music catalog (songs, albums, artists, playlists) |
search_library | Search within your personal library |
get_library_songs | List songs saved in your library (paginated) |
get_library_albums | List albums in your library (paginated) |
get_library_artists | List artists in your library |
get_library_playlists | List all your playlists with IDs |
get_playlist_tracks | Get tracks inside a specific playlist |
create_playlist | Create a new playlist |
add_tracks_to_playlist | Add songs to a playlist (library or catalog tracks) |
get_recently_played | See recently played albums/playlists/stations |
get_recommendations | Get personalised Apple Music picks |
.p8 file — you can only download it once, keep it safe!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.
git clone https://github.com/marioinghilleri/mcp-apple-music
cd mcp-apple-music
# with uv (recommended)
uv sync
# or with pip
pip install -e .
# with uv
uv run mcp-apple-music-setup
# or directly
python -m mcp_apple_music.setup
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).
Open your Claude Desktop config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"apple-music": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/mcp-apple-music",
"mcp-apple-music"
]
}
}
}
Restart Claude Desktop — you should see the apple-music tools available in the toolbar.
Apple Music requires two separate tokens:
.p8 private key. Valid up to 6 months; the server regenerates it automatically before expiry. Your key never leaves your machine.~/.config/mcp-apple-music/config.json.Your .p8 key ──► Developer Token (JWT, auto-renewed) ─┐
├──► Apple Music API
Browser OAuth ──► Music User Token (stored locally) ─┘
⚠️ 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.
mcp-apple-music/
├── src/
│ └── mcp_apple_music/
│ ├── __init__.py
│ ├── auth.py — Developer Token generation + User Token management
│ ├── client.py — Async HTTP client for api.music.apple.com
│ ├── server.py — FastMCP server with all 11 tools
│ └── setup.py — One-time setup wizard (browser-based OAuth)
├── config.example.json — Example config structure (no secrets)
├── pyproject.toml
└── README.md
Once connected, you can ask Claude:
"What have I been listening to this week? Based on that, find 10 songs
I don't own yet that I'd probably enjoy and create a playlist with them."
"Search for all albums by Joni Mitchell and tell me which ones
I already have in my library."
"List my playlists, pick the one that looks most like a workout mix,
and add 5 high-energy songs from the catalog to it."
"Create a playlist called 'Rainy Sunday' with the 10 most mellow tracks
you can find from my library."
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!
MIT — use it, fork it, build on it.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.