Apple Music MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Apple Music MCPwhat song is playing?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
šµ Apple Music MCP
An MCP (Model Context Protocol) server that lets AI assistants control Apple Music on macOS ā play, pause, skip, read lyrics, manage playlists, and search the catalog.
Built for Claude Desktop and Claude Code. Works with any MCP-compatible client.
What It Does
Tool | Description |
| Now playing info ā title, artist, album, progress |
| Time-synced lyrics via LRCLIB ā NetEase Cloud Music fallback |
| Play, pause, toggle, next, previous, stop |
| Create a new playlist |
| Add the current track to a playlist (works with subscription tracks) |
| List all user playlists |
| Search library + Apple Music catalog |
| Find a track and add it to a playlist in one call |
Related MCP server: MCP AppleMusic Server
How It Works
The server bridges your AI assistant to Apple Music through three layers:
AppleScript ā Music.app ā All playback control and playlist operations go through macOS's native AppleScript interface. The server sends commands to Music.app directly ā no Apple Music API keys, no web auth, no token management. If Music.app can do it, this server can do it.
Lyrics: LRCLIB ā NetEase fallback ā When your AI asks for lyrics, the server tries LRCLIB first (strong English coverage), then falls back to NetEase Cloud Music for Chinese and Asian-language songs. Both are free, no API keys required. Results are time-synced and returned with the current playback position so your AI knows which line is playing now.
Architecture ā The design was informed by netease-music-mcp's approach to lyrics retrieval. We extended it with Apple Music's native AppleScript integration and a dual-source lyrics fallback for broader language coverage.
Requirements
macOS (uses AppleScript under the hood)
Python 3.10+
Apple Music with an active subscription or local library
Installation
git clone https://github.com/yauyuuue-commits/apple-music-mcp.git
cd apple-music-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .Setup
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"apple-music": {
"command": "/ABSOLUTE/PATH/TO/apple-music-mcp/.venv/bin/python",
"args": ["-m", "apple_music_mcp"]
}
}
}ā ļø Replace
/ABSOLUTE/PATH/TO/with the actual path where you cloned the repo.
Claude Code
claude mcp add apple-music -- /ABSOLUTE/PATH/TO/apple-music-mcp/.venv/bin/python -m apple_music_mcpQuick Test
After setup, open a new Claude conversation and say "what song is playing?" ā if Claude returns track info from Apple Music, you're good to go.
Lyrics
The get_lyrics tool fetches time-synced lyrics with a two-tier fallback:
LRCLIB ā community lyrics database, good English coverage
NetEase Cloud Music ā fills gaps for Chinese and other Asian-language songs
No API keys needed. Coverage varies ā some songs won't have synced lyrics on either source.
Card Display (Optional & Customizable)
This MCP gives your AI the raw tools. What it does with them is up to you.
For example, we built a Tinder-style swipe card UI for music discovery ā Claude listens to each song, reads the lyrics, decides if it likes it, and shows an animated card that swipes right (save) or left (skip). See the demo above for what this looks like in action.
The card display is not part of this MCP server. It lives in the AI's conversation as a prompt-driven behavior. If you want something similar, design it together with your Claude ā that's half the fun. The data structure is simple: song title, artist, a lyrics snippet, and a verdict. The visual style is yours to create.
Known Limitations
macOS only ā AppleScript doesn't exist on Windows or Linux
Subscription tracks ā
add_to_playlistworks with subscription tracks by copying them to your library first, but there's a brief delay (~4s)Library-only search for
search_and_addā if a track isn't in your library, it returns the catalog match but can't add it directly. Play it first, then useadd_to_playlistLyrics coverage ā LRCLIB + NetEase covers most popular songs, but niche or very new tracks may not have synced lyrics available
Project Structure
apple-music-mcp/
āāā README.md
āāā LICENSE
āāā pyproject.toml
āāā src/
āāā apple_music_mcp/
āāā __init__.py
āāā __main__.py
āāā server.py ā all 8 tools live hereAcknowledgments
Lyrics integration inspired by luuu h's netease-music-mcp ā the NetEase fallback approach for Chinese lyrics coverage came from studying that project.
License
MIT ā see LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceFacilitates controlling Apple Music on macOS via AppleScript through MCP commands, allowing users to manage playback, search for tracks, and create playlists.1089MIT
- Flicense-qualityDmaintenanceAllows controlling Apple Music on macOS through an MCP server that supports playback control, volume adjustment, and music search functionality.2
- Alicense-qualityDmaintenanceEnables AI assistants to control Apple Music on macOS using AppleScript for playback, library management, and playlist operations. It supports features like searching tracks, managing the play queue, and retrieving detailed metadata through a structured interface.266MIT
- Alicense-qualityBmaintenanceApple Music playback control, library search, playlist management, and queue operations via MCP.1MIT
Related MCP Connectors
MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent
iTunes Search MCP ā Apple's public catalog search
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yauyuuue-commits/apple-music-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server