Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PYTHONPATHYesPath to the applemusic-mcp src directory (e.g. /Users/you/applemusic-mcp/src) so the applemusic_mcp package can be imported.

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
now_playingA

What's playing right now, plus player state, volume, shuffle and repeat.

playbackC

Control playback. Returns the player state afterwards.

set_player_optionsA

Set volume (0-100), shuffle on/off, and/or repeat mode. Omit what you don't want to change.

search_libraryC

Search the user's Music library. Returns tracks with ids you can play or add to playlists.

play_trackC

Play a specific track by its id (from search_library or get_playlist_tracks).

search_and_playB

Search the library and immediately play the best match. Also returns other candidates.

list_playlistsA

List the user's own playlists (regular and smart), with track counts.

get_playlist_tracksC

List tracks in a playlist (by exact name).

play_playlistB

Start playing a playlist by name, optionally setting shuffle first.

create_playlistB

Create a new empty playlist. Fails if one with that name already exists.

add_to_playlistB

Add tracks (by id) to a playlist. Tracks already in the playlist are skipped.

remove_from_playlistA

Remove tracks (by id) from a playlist. Does not delete them from the library.

set_favoriteA

Mark (or unmark) tracks as Favorite, one at a time in the given order.

gap_sec waits between tracks so each gets a distinct timestamp. Keep calls under ~40 tracks when using a gap so the call doesn't time out.

favorite_playlistA

Mark a playlist's tracks as Favorite one by one, in batches.

With reverse=true it walks from the LAST track toward the first. start is the position in that walking order; call again with the returned next_start until done=true. Tracks already favorited are skipped (keeps their earlier timestamp). gap_sec (default 0) optionally spaces out timestamps if the Music app's timestamps turn out to be too coarse to keep the order.

compare_playlistsB

Tracks in playlist that are NOT in any of the against playlists (read-only).

listening_statsA

Analyze the library: play counts, favorite artists/albums/genres, recent activity.

Play counts are lifetime totals tracked by the Music app (no per-period history). Library data is cached for 5 minutes; pass refresh=true to re-read it.

artist_statsC

Everything about one artist in the library: track count, total plays, albums, top songs.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 17 tools

Disambiguation4/5

Most tools target distinct resources/actions (now_playing vs playback vs set_player_options; search_library vs search_and_play). Minor overlap exists between set_favorite and favorite_playlist (single vs batch) and between playback and set_player_options for player state, but descriptions clarify the boundaries well.

Naming Consistency4/5

Consistent snake_case throughout, but the convention mixes verb_noun (play_track, create_playlist, add_to_playlist) with noun-first/state names (now_playing, playback, listening_stats, artist_stats). Readable and predictable despite the minor stylistic split.

Tool Count4/5

17 tools is slightly above the ideal 3-15 sweet spot, but each covers a distinct facet of music playback, library search, playlists, favorites, and stats, so it earns its place rather than feeling padded.

Completeness4/5

Strong coverage of playback, search, playlist lifecycle (create/list/get/add/remove/play), favorites, and analytics. Minor gaps: no delete/rename playlist and no explicit queue management, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues