apple-music-mcp
Provides tools to control Apple Music on macOS, including playback control, playlist management, and library search.
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-mcpsearch my library for Beatles songs"
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
MCP server for controlling Apple Music on macOS via AppleScript. Works with Claude Code, Codex CLI, Cursor, and any MCP-compatible client.
Quick Start
npx -y apple-music-mcpRelated MCP server: MCP AppleMusic Server
Tools
Tool | Description | Read/Write |
| Report server capabilities and runtime flags | Read |
| Check Music availability and automation permissions | Read |
| List folder playlists | Read |
| List user playlists, optionally filtered by folder | Read |
| Get current track info and player state | Read |
| Search library tracks by name/artist | Read |
| Get tracks in a playlist (paginated) | Read |
| Create a playlist, optionally in a folder | Write |
| Create a folder playlist, optionally nested | Write |
| Move a playlist into a folder | Write |
| Play, pause, next, previous, toggle | Write |
| Add tracks to a playlist by ID | Write |
Environment Variables
Variable | Default | Description |
|
| Enable mutation tools (create, move, playback, add tracks) |
|
| Mutation tools return dry-run payloads without modifying Music |
Setup (Recommended)
Codex CLI / Codex IDE extension
Add the server with the CLI:
codex mcp add apple_music -- npx -y apple-music-mcpThen set safe timeouts in ~/.codex/config.toml (default tool timeout is 60s, but this server can take up to ~70s for large playlist operations):
[mcp_servers.apple_music]
command = "npx"
args = ["-y", "apple-music-mcp"]
startup_timeout_sec = 20
tool_timeout_sec = 90
[mcp_servers.apple_music.env]
APPLE_MUSIC_MCP_ENABLE_WRITES = "false"If you want mutation tools, set:
[mcp_servers.apple_music.env]
APPLE_MUSIC_MCP_ENABLE_WRITES = "true"Claude Code
Add the server with Claude CLI:
claude mcp add --transport stdio apple-music -- npx -y apple-music-mcp--transport/--env options must come before the server name, and -- separates Claude flags from the server command.
Project-shared setup (.mcp.json):
{
"mcpServers": {
"apple-music": {
"command": "npx",
"args": ["-y", "apple-music-mcp"],
"env": {
"APPLE_MUSIC_MCP_ENABLE_WRITES": "false"
}
}
}
}To enable writes, set APPLE_MUSIC_MCP_ENABLE_WRITES to "true".
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"apple-music": {
"command": "npx",
"args": ["-y", "apple-music-mcp"],
"env": {
"APPLE_MUSIC_MCP_ENABLE_WRITES": "false"
}
}
}
}Hardened Read-Only (Codex)
For extra safety, keep writes disabled and hide mutation tools:
[mcp_servers.apple_music]
command = "npx"
args = ["-y", "apple-music-mcp"]
tool_timeout_sec = 90
disabled_tools = [
"music.create_playlist",
"music.create_folder",
"music.move_playlist",
"music.playback_control",
"music.add_tracks_to_playlist"
]Permissions
This server uses AppleScript to control Music. macOS will prompt for automation permission on first use.
If you see permission_denied errors:
Open System Settings > Privacy & Security > Automation
Find your terminal app (Terminal, iTerm2, VS Code, etc.)
Enable Music under it
Development
git clone https://github.com/parthmangrola/apple-music-mcp.git
cd apple-music-mcp
bun install
bun run format:check
bun run lint
bun run typecheck
bun test src
bun run buildIntegration Tests
Requires Music app running on macOS:
INTEGRATION=true bun test srcTroubleshooting
"Music app is not running or unavailable" The server auto-launches Music. If it fails, open Music manually first.
"Permission denied to control Music" See the Permissions section above.
"AppleScript command timed out"
Large libraries can be slow. The server uses generous timeouts (up to 70s for playlist listing). In Codex, set tool_timeout_sec = 90 for this server. If you still hit timeouts, run music.health first to warm up the connection.
Mutations are non-atomic
AppleScript doesn't support transactions. Bulk operations (like add_tracks_to_playlist) may partially succeed. This is a platform limitation.
License
MIT
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.
Latest Blog Posts
- 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/Pallas-Labs/apple-music-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server