MCP HubMCP Hub
kennethreitz

mcp-applemusic

by: kennethreitz

An experimental MCP server for controlling Apple Music.

28created 08/02/2025
Visit
experimental
AppleMusic

📌Overview

Purpose: To provide a FastMCP server implementation for controlling Apple Music on macOS via AppleScript commands.

Overview: MCP-AppleMusic enables users to control the Apple Music application on macOS using a server that interprets various playback commands, enhancing the way users interact with their music library through scripting.

Key Features:

  • Playback Control: Functions such as itunes_play(), itunes_pause(), itunes_next(), and itunes_previous() allow users to manage music playback seamlessly.

  • Library Management: Commands like itunes_search(query) and itunes_create_playlist(name, songs) facilitate the searching of songs and creation of playlists directly from the server.


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

  1. Ensure you have uv installed:

    brew install uv
    
  2. Update claude_desktop_config.json:

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

Available Commands

  • 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
    
  2. 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.