Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-applemusic

MCP.Pizza Chef: kennethreitz

mcp-applemusic is an MCP server enabling programmatic control of Apple Music on macOS using AppleScript. It supports playback commands, library searches, playlist creation, and retrieving library stats. Designed for macOS with Apple Music installed, it integrates with MCP clients like Claude Desktop to automate music control workflows through a lightweight Python server.

Use This MCP server To

Start, pause, and skip Apple Music playback remotely Search Apple Music library for specific tracks Create and manage playlists programmatically Retrieve Apple Music library statistics for analysis Integrate Apple Music control into MCP-enabled apps Automate music playback in macOS workflows

README

MseeP.ai Security Assessment Badge

MCP-AppleMusic

A FastMCP server implementation for controlling Apple Music (formerly iTunes) on macOS through AppleScript commands.

Requirements

  • Python 3.13+
  • macOS with Apple Music app installed
  • MCP library ≥1.2.1

Installation

First, ensure you have uv installed:

$ brew install uv

Then, with Claude Desktop, add the following to claude_desktop_config.json:

{
  "mcpServers": {
    "iTunesControlServer": {
      "command": "uvx",
      "args": ["-n", "mcp-applemusic"]
    }
  }
}

Available Commands

The following commands are available through the MCP server:

itunes_play()         # Start playback
itunes_pause()        # Pause playback
itunes_next()         # Skip to next track
itunes_previous()     # Go to previous track
itunes_search(query)  # Search library for tracks
itunes_play_song(song)  # Play specific song
itunes_create_playlist(name, songs)  # Create new playlist
itunes_library()      # Get library statistics

Usage

Start the server:

python server.py

Example interactions:

# Search for a song
results = itunes_search("Hey Jude")

# Create a new playlist
itunes_create_playlist("Beatles Favorites", ["Yesterday", "Hey Jude", "Let It Be"])

# Play a specific song
itunes_play_song("Hey Jude")

Development

  1. Clone the repository:
git clone https://github.com/yourusername/mcp-applemusic.git
cd mcp-applemusic
  1. Install development dependencies:
pip install -e ".[dev]"

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Notes

  • This tool only works on macOS systems due to its AppleScript dependency
  • Requires Apple Music (formerly iTunes) to be installed

mcp-applemusic FAQ

How do I install mcp-applemusic?
Install Python 3.13+, ensure macOS with Apple Music app, install uv via Homebrew, then configure MCP client like Claude Desktop to launch the server.
What commands does mcp-applemusic support?
It supports playback controls (play, pause, next, previous), searching the library, playing specific songs, creating playlists, and fetching library stats.
Can mcp-applemusic run on non-macOS systems?
No, it requires macOS with the Apple Music app installed because it uses AppleScript for control.
How does mcp-applemusic integrate with MCP clients?
MCP clients launch the server via configured commands and communicate using MCP protocol to send Apple Music control commands.
Is mcp-applemusic compatible with other music apps?
No, it is specifically designed for Apple Music on macOS using AppleScript.
What Python version is required?
Python 3.13 or higher is required to run mcp-applemusic.
Can I use mcp-applemusic with multiple MCP clients?
Yes, any MCP client that supports server connections can interact with mcp-applemusic.
Does mcp-applemusic support playlist management?
Yes, it can create playlists and add songs programmatically via MCP commands.