Skip to content
Agentmart
Submit a tool

Applemusic MCP

Apple Music MCP server: playlists, library, catalog, playback and Up Next, on Mac/Windows/Linux.

Connector by epheterson · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 121
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/epheterson-applemusic-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Apple Music MCP server: playlists, library, catalog, playback and Up Next, on Mac/Windows/Linux.

Use cases: audio-video

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
2 read · 2 write · 3 delete
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 7

Read from the source code; the running server may list different tools.

Read 2 · Look things up without changing anything.

  • catalog
  • discover

Write 2 · Create, change, send or run things.

  • playback
  • queue

Delete 3 · Delete, drop, revoke or wipe things.

  • config
  • library
  • playlist

Files it touches

  • Any path the agent passes to its tools

Tools (7)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • catalogCatalog searchread-only

    Apple Music catalog. Actions: search, resolve, album_tracks, album_details, song_details, artist_details, genres, suggestions. `search` is discovery: one query in, a ranked list out, for browsing. `resolve` is identification: N identifiers in, N verdicts out, writing nothing — use it (never repeated `search`) to turn a track list into catalog IDs. It routes on which identifier you have: - `resolve(isrcs=...)` — exact, 25 per request. ISRCs come with Spotify/Rekordbox/ Plex exports; this is what keeps a large import under Apple's rate limit. - `resolve(tracks=...)` — titles/artists, fuzzy,…

  • configSettings & authcan change or delete data

    Config, cache, and authentication. Settings/cache actions: info, set-pref, list-storefronts, audit-log, clear-tracks, clear-exports, clear-audit-log. Auth actions (no terminal needed — just ask): - auth-status (or status): which tokens are active, expiry/auto-renew, what works, next step - signin: open a browser to sign in (any OS) and capture your session - logout: sign out — clears your user token + browser session so you can switch accounts (needs confirm=True) - reset: wipe ALL credentials for a clean slate or to drop a dev token for the web path; keeps your .p8 (needs confirm=True)

  • discoverDiscoverread-only

    Personalized discovery. Actions: recommendations, heavy_rotation, personal_station, charts, top_songs, similar_artists, song_station.

  • libraryLibrarycan change or delete data

    Your library. Actions: search, add, recently_played, recently_added, browse, favorites (macOS), rate, remove, snapshot (macOS). action='search' searches the user's local library only — for catalog (Apple Music's full library) use catalog(action='search'). For search, types can be 'songs' (default), 'artists', 'albums', 'all', or 'genre' — types='genre' lists the user's own tracks whose genre matches query (e.g. query='Rock'); genre filtering is macOS-only (local Music app). Search returns one page: limit (default 25) caps results and offset pages through larger result sets — the text header sh…

  • playbackPlayback transport

    Playback transport. play/control/now_playing/settings run on the engine the `mode` preference resolves to — native Music.app (macOS), the Safari web player (macOS), or the Chrome web player (any OS). Override it for ONE call with `engine=`: 'native', 'safari', 'chrome', 'web' (the web engine — Safari on macOS, Chrome off-mac), or 'auto'. control/now_playing follow whichever engine is actively playing (so after a Safari queue, pause/next reach Safari). Safari needs a signed-in Safari + "Allow JavaScript from Apple Events"; Chrome needs a signed-in Chrome (`applemusic-mcp login`) + a desktop ses…

  • playlistPlaylists & folderscan change or delete data

    Playlist and folder operations. Actions: list, folders (macOS — show the folder tree; folders are NOT in `list`), tracks, search, create, add, copy, move, path (macOS), remove, delete, rename. (move/remove/delete/rename work on every OS — via Music.app on macOS, via the web API on Windows/Linux. Only folders/path are macOS-only.) To find a playlist by name, use action='list' with filter='alice' (loose name match) rather than action='search', which searches the TRACKS inside a given playlist and needs a playlist param. Folders support slash-separated paths (e.g. 'Summer/Chill/Deep'). For action…

  • queueUp Next queue

    The Up Next play queue — the web player's own MusicKit state (the same Up Next you see in the player). It runs on a web engine: Safari on macOS (no Chrome needed) or Chrome elsewhere, picked by your `mode` (auto/safari/chrome) or a per-call `engine=` ('safari' | 'chrome'). Using the queue makes it the active playback engine, so transport controls reach it. Native (Music.app) mode has no Up Next — set mode to safari/chrome or pass engine='safari'. Actions: - `list` — show Up Next (▶ marks the current item; indices are 0-based) - `set` — replace the whole queue in order, one call (`track`=comma…

Compare and alternatives

    Featured in

    Signals

    Stars
    121
    Forks
    22
    Open issues
    0
    Weekly downloads
    586
    Last commit
    Oct 23, 2026 (5 days ago)
    Last release
    Oct 23, 2026 (5 days ago)
    Last package publish
    Oct 23, 2026 (5 days ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.github.epheterson/applemusic-mcp
    Version
    0.21.0
    Auth
    No auth
    Packages
    pypi applemusic-mcp
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 25, 2026

    Same server elsewhere

    Copies of this server published by others; search shows only one of them.

    Cite this page

    Applemusic MCP. Agent Mart. https://agentmart.dev/connectors/epheterson-applemusic-mcp (last updated 2026-10-25)