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()
itunes_pause()
itunes_next()
itunes_previous()
itunes_search(query)
itunes_play_song(song)
itunes_create_playlist(name, songs)
itunes_library()
Usage
Start the server:
python server.py
Example interactions:
results = itunes_search("Hey Jude")
itunes_create_playlist("Beatles Favorites", ["Yesterday", "Hey Jude", "Let It Be"])
itunes_play_song("Hey Jude")
Development
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 - 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