The MCP-AppleMusic server provides comprehensive control over Apple Music on macOS via AppleScript commands, enabling:
Playback Control: Start (
itunes_play), pause (itunes_pause), skip to next (itunes_next), or return to previous track (itunes_previous)Search and Play: Search library by query (
itunes_search) returning "Track Name - Artist" format, and play specific songs by exact name (itunes_play_song)Playlist Management: Create new playlists with specified names and add tracks using comma-separated exact song names (
itunes_create_playlist)Library Information: Get library statistics and user playlists (
itunes_library), current playing track details (itunes_current_song), and formatted list of all songs with names and artists (itunes_all_songs)
Enables control of Apple Music on macOS through AppleScript commands, including playback control, library search, song selection, and playlist creation.
Provides legacy support for controlling iTunes through AppleScript commands, offering functionality for playback control, library management, searching, and playlist creation.
Leverages macOS-specific AppleScript capabilities to enable music playback control and library management for Apple Music/iTunes applications.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP-AppleMusicplay Hey Jude by The Beatles"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: MCP Browser Tabs Server
Installation
First, ensure you have uv installed:
$ brew install uvThen, with Claude Desktop, add the following to claude_desktop_config.json:
{
"mcpServers": {
"iTunesControlServer": {
"command": "uvx",
"args": ["-p", "3.13", "-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 statisticsUsage
Start the server:
python server.pyExample 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-applemusicInstall 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 - 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