Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables control of Apple Music on macOS, including playback, track info, volume, and more.

README.md

Apple Music MCP Server

A Model Context Protocol (MCP) server that provides tools to control Apple Music via AppleScript on macOS.

Features

This MCP server provides comprehensive control over Apple Music, including:

Playback Control

  • Play, pause, and toggle play/pause
  • Skip to next/previous track
  • Play specific tracks, albums, or playlists
  • Search and play tracks

Player Information

  • Get current track details (name, artist, album, duration, year, genre)
  • Get player state (playing, paused, stopped)
  • Get current volume and position

Player Settings

  • Set volume (0-100)
  • Set track position
  • Enable/disable repeat and shuffle
  • Get repeat and shuffle status

Track Interaction

  • Like/dislike current track
  • Get liked status of current track

Quick Start

For Claude Users

  1. Clone the repository:
   git clone https://github.com/thebarbican19/AppleMusic-MCP.git
   cd AppleMusic-MCP
  1. Install dependencies:
   npm install
  1. Make the script executable:
   chmod +x index.js
  1. Configure Claude Desktop:
  • Open Claude Desktop
  • Go to Settings (gear icon)
  • Navigate to "Model Context Protocol" section
  • Add a new MCP server with:
  • Name: apple-music
  • Command: node
  • Arguments: ["/path/to/your/AppleMusic-MCP/index.js"]
  • Environment: Leave empty
  1. Restart Claude and start using Apple Music commands!

For Other MCP Clients

Add this to your MCP client configuration (e.g., .cursorrules for Cursor):

{
  "mcpServers": {
    "apple-music": {
      "command": "node",
      "args": ["/path/to/your/AppleMusic-MCP/index.js"],
      "env": {}
    }
  }
}

Replace /path/to/your/AppleMusic-MCP/ with the actual path to this directory.

Available Tools

apple_music_play

Resume playback.

apple_music_pause

Pause playback.

apple_music_playpause

Toggle play/pause.

apple_music_next_track

Skip to the next track.

apple_music_previous_track

Skip to the previous track.

apple_music_play_track

Start playback of a track by name and artist.

Parameters:

  • track_name (string, required): The name of the track to play
  • artist_name (string, required): The artist of the track to play

apple_music_play_album

Start playback of an album by name and artist.

Parameters:

  • album_name (string, required): The name of the album to play
  • artist_name (string, required): The artist of the album to play

apple_music_play_playlist

Start playback of a playlist by name.

Parameters:

  • playlist_name (string, required): The name of the playlist to play

apple_music_get_current_track

Get information about the current playing track.

apple_music_get_player_state

Get the current player state (playing, paused, stopped).

apple_music_set_volume

Set the sound output volume.

Parameters:

  • volume (integer, required): Volume level (0-100)

apple_music_get_volume

Get the current volume.

apple_music_set_position

Set the player position within the current track.

Parameters:

  • position (number, required): Position in seconds

apple_music_get_position

Get the player position within the current track.

apple_music_set_repeat

Turn repeat on or off.

Parameters:

  • enabled (boolean, required): Enable or disable repeat

apple_music_get_repeat

Get repeat status.

apple_music_set_shuffle

Turn shuffle on or off.

Parameters:

  • enabled (boolean, required): Enable or disable shuffle

apple_music_get_shuffle

Get shuffle status.

apple_music_like_track

Like the current track.

apple_music_dislike_track

Dislike the current track.

apple_music_get_liked_status

Get the liked status of the current track.

apple_music_search_and_play

Search for a track and play it.

Parameters:

  • query (string, required): Search query for track, artist, or album

Usage Examples

Once configured, you can use these tools in your MCP client. For example, in Cursor you might say:

  • "Play the next track"
  • "What's currently playing?"
  • "Set volume to 50%"
  • "Play the album 'Abbey Road' by The Beatles"
  • "Search for and play 'Bohemian Rhapsody'"

Requirements

  • macOS (required for AppleScript support)
  • Apple Music app installed
  • Node.js (version 14 or higher)

Troubleshooting

  1. Permission Issues: Make sure the script has execute permissions (chmod +x index.js)
  1. Apple Music Not Found: Ensure Apple Music is installed and running on your Mac
  1. AppleScript Errors: Some AppleScript commands may fail if Apple Music is not in the expected state. The server will return error messages for debugging.
  1. Timeout Issues: The server has a 30-second timeout for AppleScript execution. If operations take longer, they will fail.

License

MIT License - feel free to modify and distribute as needed.

Contributing

Feel free to submit issues and enhancement requests!

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Other servers.