mcp-applemusic
by: kennethreitz
An experimental MCP server for controlling Apple Music.
📌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(), anditunes_previous()allow users to manage music playback seamlessly.
- 
Library Management: Commands like itunes_search(query)anditunes_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
Install uv:
brew install uv
With Claude Desktop, add the following to claude_desktop_config.json:
{
  "mcpServers": {
    "iTunesControlServer": {
      "command": "uvx",
      "args": ["-n", "mcp-applemusic"]
    }
  }
}
Available Commands
Commands 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
Clone the repository:
git clone https://github.com/yourusername/mcp-applemusic.git
cd mcp-applemusic
Install development dependencies:
pip install -e ".[dev]"
Contributing
- Fork the repository
- Create your feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
License
This project is licensed under the MIT License.
Notes
- This tool only works on macOS systems due to its AppleScript dependency
- Requires Apple Music (formerly iTunes) to be installed
