Apple Music MCP

Apple Music MCP

MCP server for controlling Apple Music on macOS using JXA (JavaScript for Automation). Manage playback, search tracks, create playlists, and more without API keys.

Category
Visit Server

README

Apple Music MCP

MCP server for controlling Apple Music on macOS. Uses JXA (JavaScript for Automation) to talk to Music.app directly — no API keys or authentication needed.

Install

Requires Bun and macOS.

Claude Desktop / Claude Code

Add to your MCP config:

{
  "mcpServers": {
    "apple-music": {
      "command": "bunx",
      "args": ["apple-music-mcp"]
    }
  }
}

From source

git clone https://github.com/lucasilverentand/apple-music-mcp.git
cd apple-music-mcp
bun install
bun run src/index.ts

Tools

Playback

Tool Description
get_player_state Current track, position, volume, shuffle & repeat state
play_pause Toggle play/pause
next_track Skip to next track
previous_track Go to previous track
set_volume Set volume (0–100)
set_shuffle Enable/disable shuffle
set_repeat Set repeat mode (off, one, all)

Search & Browse

Tool Description
search_tracks Search library by name, artist, or album
get_track_details Full metadata for a track by persistent ID
get_tracks_by_criteria Filter tracks by genre, BPM, year, play count, artist, favorites
get_library_stats Aggregated stats: genres, top artists, most played, decades

Playlists

Tool Description
list_playlists List all playlists with track counts
get_playlist_tracks Get tracks from a playlist (paginated)
create_playlist Create a playlist or folder
create_smart_playlist Create a playlist from filter criteria in one step
add_to_playlist Add tracks to a playlist by persistent ID
remove_from_playlist Remove tracks from a playlist
delete_playlist Delete a playlist
move_playlist_to_folder Move a playlist into a folder

Playback Control

Tool Description
play_track Play a specific track by persistent ID
play_playlist Start playing a playlist by name

Track Actions

Tool Description
favorite Favorite/unfavorite a track
dislike Dislike/un-dislike a track
set_rating Rate a track (0–5 stars)
add_to_library Add the currently playing track to your library
set_bpm Manually tag BPM on a track

Wikidata Lookup

Tool Description
wikidata_lookup Look up a song on Wikidata for rich metadata: genres, musical key, BPM, record label, producers, songwriters, ISRC, Spotify/MusicBrainz IDs, and Wikipedia summary

How it works

The server shells out to osascript -l JavaScript (JXA) to control Music.app. Track persistentID is the stable identifier used across all tools. Streaming tracks from Apple Music have bpm: 0 — use set_bpm to tag them manually, or use wikidata_lookup to find the BPM.

Requirements

  • macOS (uses Music.app via JXA)
  • Bun runtime

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured