mcp-applemusic
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| itunes_playA | Start playback in Music (iTunes). |
| itunes_pauseA | Pause playback in Music (iTunes). |
| itunes_nextA | Skip to the next track. |
| itunes_previousA | Return to the previous track. |
| itunes_searchA | Search the Music library for tracks whose names contain the given query. Returns a list of tracks formatted as "Track Name - Artist". |
| itunes_search_catalogA | Search the global Apple Music / iTunes Store catalog (outside user library). Args: query: Search term (song title, artist, or album). limit: Number of results to return (default 5, max 25). Returns: Formatted list of matching tracks from the global Apple Music catalog. |
| itunes_play_songA | Search for and play a specific song by name. Plays the first matching track found in the library. |
| itunes_create_playlistC | Create a new playlist in Music with the given name. |
| itunes_add_to_playlistA | Search for a song by title across all playlists and add the first match to the named playlist. This tool searches across every user playlist (not just the main Library), which is necessary when tracks are sourced from Apple Music subscription or iCloud Music Library and may not appear in the default Library playlist. Args: song: The song title to search for. playlist: The name of the destination playlist. Returns: A status message indicating which track was added, or an error if not found. |
| itunes_list_playlistsA | List all playlists in the Music library with their track counts. Returns: A newline-separated list of playlists in the format "Playlist Name (N tracks)". |
| itunes_get_playlist_tracksA | Get all tracks in a named playlist. Args: playlist: The name of the playlist to inspect. Returns: A newline-separated list of tracks formatted as "Track Name - Artist". |
| itunes_current_trackB | Get information about the currently playing track. |
| itunes_set_volumeA | Set the Music app volume (0-100). |
| itunes_favorite_trackA | Favorite or unfavorite the currently playing track. Args: favorited: True to favorite/love the track, False to unfavorite. |
| itunes_rate_trackA | Set a star rating (1 to 5 stars) for the currently playing track. Args: stars: Rating from 1 (lowest) to 5 (highest), or 0 to clear rating. |
| itunes_get_lyricsA | Get lyrics for the currently playing track (or search lyrics for any song by title/artist). Uses embedded library lyrics first, with instant fallback to global lyrics database. Args: song: Optional title or 'Title Artist' of a specific song to search lyrics for. If empty, uses currently playing track. |
| itunes_seekA | Seek/jump to a specific timestamp in seconds in the currently playing track. Args: seconds: Position in seconds from the start of the song. |
| itunes_get_positionA | Get elapsed time and total duration for the currently playing track. |
| itunes_list_devicesA | List all available AirPlay audio output devices and their selection state. |
| itunes_set_deviceA | Switch audio output to a specific AirPlay device by name (e.g. HomePod, AirPods, TV). Args: device_name: The exact name of the AirPlay device. |
| itunes_export_playlistA | Export all tracks in a named playlist to JSON, CSV, or Markdown. Args: playlist: The name of the playlist to export. format: Export format: 'json', 'csv', or 'markdown' (default 'json'). |
| itunes_get_statsB | Generate analytics summary of the Music library (total tracks, playlists, favorites, and hours). |
| itunes_move_playlist_trackA | Move a track inside a playlist from one position (1-indexed) to another position. Args: playlist: The name of the playlist to edit. from_index: The current 1-indexed position of the track to move. to_index: The target 1-indexed position to move the track to. |
| itunes_remove_from_playlistA | Remove a track from a playlist by song title. Args: song: The title of the song to remove. playlist: The name of the playlist to remove it from. |
| itunes_sort_playlistA | Sort all tracks in a playlist alphabetically by 'title', 'artist', or 'album'. Args: playlist: The name of the playlist to sort. sort_by: Attribute to sort by: 'title', 'artist', or 'album' (default 'title'). |
| itunes_favorite_songA | Favorite or unfavorite any song in your library by title. Args: song: The title of the song to search for and favorite. favorited: True to favorite/love, False to unfavorite. |
| itunes_dislike_trackA | Mark or un-mark the currently playing track as Disliked for recommendation algorithms. Args: disliked: True to dislike/ban the track, False to remove dislike. |
| itunes_repeatA | Set playback repeat mode. Args: mode: 'off' (no repeat), 'one' (repeat current song), or 'all' (repeat playlist/album). |
| itunes_set_eqA | Set Apple Music Equalizer (EQ) preset. Args: preset: Name of EQ preset (e.g. 'Hip-Hop', 'Bass Booster', 'Electronic', 'Acoustic', 'Flat', 'Off', 'Pop', 'Rock', 'R&B'). |
| itunes_favorite_playlistC | Favorite/Star or unfavorite a playlist in the Music app sidebar. Args: playlist: The name of the playlist to star. favorited: True to star/favorite, False to unstar. |
| itunes_delete_playlistA | Delete a user playlist from the Music library. Args: playlist: The name of the playlist to delete. |
| itunes_duplicate_playlistA | Duplicate/clone an existing playlist into a new playlist. Args: source_playlist: The name of the existing playlist to clone. new_playlist_name: The name for the newly cloned playlist. |
| itunes_merge_playlistsA | Merge tracks from two playlists into a new master playlist (skipping duplicate songs). Args: playlist_a: First source playlist. playlist_b: Second source playlist. new_playlist_name: Target master playlist name. |
| itunes_find_duplicatesA | Scan a playlist for duplicate songs (sharing the exact same title & artist). Args: playlist: The name of the playlist to check. remove: If True, automatically removes the duplicate tracks (keeping one copy). |
| itunes_get_artist_top_tracksA | Search Apple Music's global catalog for top tracks by any artist. Args: artist: Artist name to search. limit: Number of top tracks to return (default 10, max 25). |
| itunes_get_artist_albumsA | Search Apple Music's global catalog for official albums by any artist. Args: artist: Artist name to search. limit: Number of albums to return (default 10, max 25). |
| itunes_get_monthly_replayA | Generate an 'Apple Music Replay' listening report for a specific month and year. Args: year: Year (e.g. 2026). Defaults to current year if 0. month: Month (1-12). Defaults to current month if 0. Returns: Formatted summary with total listening time, play count, skip rate, top artists, top songs, and top albums. |
| itunes_get_listening_historyA | Get a chronological journal log of recent music plays and skips with timestamps. Args: limit: Number of recent tracks to return (default 20, max 100). artist: Optional filter to see history for a specific artist. |
| itunes_get_listening_stats_by_dateA | Get aggregated listening statistics and top artists/songs for a custom date range. Args: start_date: Start date in 'YYYY-MM-DD' format (e.g. '2026-08-01'). Defaults to 7 days ago if empty. end_date: End date in 'YYYY-MM-DD' format (e.g. '2026-08-19'). Defaults to today if empty. |
| itunes_log_current_playA | Manually log the currently playing track into the listening journal immediately. |
| itunes_get_track_audio_infoA | Get technical audio quality information (bitrate, sample rate, BPM, cloud status, format, volume adjustment). Args: song: Optional track title. If empty, inspects currently playing track. |
| itunes_set_track_bpmA | Set Beats Per Minute (BPM) tempo on a track. Args: bpm: Beats per minute (e.g. 120, 140). song: Optional track title. If empty, modifies currently playing track. |
| itunes_set_track_start_finishA | Set custom playback start and/or finish time offsets (in seconds) for a track. Args: start: Start offset in seconds (0 for beginning). finish: Finish offset in seconds (0 for normal track end). song: Optional track title. If empty, modifies currently playing track. |
| itunes_set_track_volume_adjustmentA | Set relative volume adjustment (-100% to +100%) for track gain normalization. Args: adjustment: Volume adjustment from -100 to 100 percent. song: Optional track title. If empty, modifies currently playing track. |
| itunes_get_track_metadataA | Inspect comprehensive metadata for a track (genre, composer, comment, track/disc numbers, compilation, date added, unplayed). Args: song: Optional track title. If empty, inspects currently playing track. |
| itunes_edit_track_metadataA | Edit and update metadata tags on a track in your library. Args: song: Optional track title to edit. If empty, edits currently playing track. genre: New genre tag (optional). composer: New composer/producer credit (optional). comment: Custom comment or note (optional). year: Release year (optional). track_number: Track index number (optional). |
| itunes_favorite_albumB | Favorite/star or unfavorite the album of the currently playing track. Args: favorited: True to star/favorite the album, False to unstar. |
| itunes_rate_albumA | Set a star rating (1–5 stars) for the album of the currently playing track. Args: stars: Rating from 1 to 5 stars, or 0 to clear album rating. |
| itunes_get_artwork_infoA | Get information about attached album artwork for a track. Args: song: Optional track title. If empty, inspects currently playing track. |
| itunes_muteA | Mute or unmute Apple Music audio playback. Args: muted: True to mute, False to unmute. |
| itunes_set_shuffle_modeB | Set shuffle granularity mode. Args: mode: 'songs' (shuffle individual tracks), 'albums' (shuffle albums), or 'groupings' (shuffle groupings). |
| itunes_set_device_volumeA | Set individual volume (0-100) for a specific AirPlay output device (e.g. HomePod, AirPods, Mac speakers). Args: device_name: The exact name of the AirPlay device. volume: Volume level from 0 to 100. |
| itunes_open_locationA | Open and stream an audio stream URL or Apple Music link directly. Args: url: Stream URL (e.g. 'http://...', 'https://...', or 'music://...'). |
| itunes_get_stream_infoA | Get live stream station title and URL when listening to live/internet radio or Apple Music 1. |
| itunes_create_playlist_folderB | Create a new playlist folder to organize multiple playlists. Args: name: The name of the folder to create. |
| itunes_move_playlist_to_folderA | Move an existing playlist into a playlist folder. Args: playlist: The name of the playlist to move. folder: The name of the destination folder playlist. |
| itunes_set_playlist_descriptionA | Set or update the description text on a playlist. Args: playlist: The name of the playlist. description: Description text for the playlist. |
| itunes_get_selected_tracksA | Get a list of tracks currently selected/highlighted by the user in the Music app window. |
| itunes_set_miniplayerA | Toggle the compact MiniPlayer window mode in the Music app. Args: enabled: True to switch to MiniPlayer, False for standard full window. |
| itunes_reveal_trackA | Reveal and highlight a track in the main Music app window. Args: song: Optional track title to reveal. If empty, reveals currently playing track. |
| itunes_import_from_spotifyA | Import and reconstruct a public Spotify playlist or album into Apple Music without any Spotify login. Args: playlist_url: Public Spotify playlist or album URL (e.g. 'https://open.spotify.com/playlist/...'). playlist_name: Optional custom name for the created Apple Music playlist. Defaults to Spotify playlist title. |
| itunes_generate_share_linkA | Generate a universal share link (song.link) for friends on Spotify, YouTube, Tidal, etc. Args: song: Optional track title or 'Title Artist'. If empty, uses currently playing track. |
| itunes_get_top_chartsA | Fetch Apple Music's official Daily Top Charts by country (e.g. 'gb', 'us', 'global', 'ng', 'ca'). Args: country: Two-letter country code (e.g. 'gb' for UK, 'us' for USA, 'ca' for Canada). limit: Number of top songs to return (default 25, max 100). |
| itunes_get_new_releasesA | Fetch Apple Music's latest official album and single releases by country. Args: country: Two-letter country code (e.g. 'gb', 'us', 'ng', 'ca'). limit: Number of new releases to return (default 25, max 100). |
| itunes_dj_auto_transitionA | Apply intelligent DJ start/finish trim offsets across a playlist for radio-style seamless crossfades. Args: playlist: The name of the playlist to configure. crossfade_seconds: Seconds to trim off the end of each track (default 5 seconds). trim_intro: Seconds to trim off the start of each track (default 0). |
| itunes_get_listening_personalityA | Generate an AI analytical breakdown of your listening habits, signature artists, peak listening hours, and skip patterns. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/suleyman416/mcp-applemusic'
If you have feedback or need assistance with the MCP directory API, please join our Discord server