P

mcp-applemusic

...
Created 2/8/2025bykennethreitz

Language:

Python

Stars:

28

Forks:

5

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
    
Last updated: 2/22/2025

Publisher info

kennethreitz's avatar

Kenneth Reitz

I wrote Requests: HTTP for Humans and Pipenv. The only thing I really care about is user experience.

Virginia, USA, Earth, Milky Way.
29,371
followers
221
following
72
repos

More MCP servers built with Python

mcp-atlassian

MCP server for Atlassian tools (Confluence, Jira)

By sooperset3200
https://github.com/fastnai/mcp-fastn

Unified Context Layer (UCL) is a multi-tenant Model Context Protocol (MCP) server that enables AI agents, automation platforms, and applications to connect to over 1,000 SaaS tools—such as Slack, Jira, Gmail, Shopify, Notion, and more—via a single standardized /command endpoint.

By Fastn
Web-To-MCP

Bridge the gap between design and code. Send pixel-perfect website components directly to Cursor or Claude Code using Model Context Protocol (MCP). No more screenshots or descriptions needed.

By Web-To-MCP