Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Apple Music Playlist Curator

PYPI · APPLE-MUSIC-PLAYLISTS · SCANNED SEP 29

Deep Apple Music curation: language-led selection, catalog grounding, and thoughtful listening flow.

85 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to Z-Han-Z/apple-music-playlists). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 1 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability81
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2451 tokens (~188/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management20
  • Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 94% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 14 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Apple Music Playlist Curator MCP server?

Apple Music Playlist Curator runs locally as a PyPI package, launched with uvx apple-music-playlists. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · apple-music-playlists

# add to Claude Code
claude mcp add z-han-z-apple-music-playlists -- uvx apple-music-playlists
// .cursor/mcp.json
{
  "mcpServers": {
    "z-han-z-apple-music-playlists": {
      "command": "uvx",
      "args": [
        "apple-music-playlists"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "z-han-z-apple-music-playlists": {
      "command": "uvx",
      "args": [
        "apple-music-playlists"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add z-han-z-apple-music-playlists -- uvx apple-music-playlists
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "z-han-z-apple-music-playlists": {
      "type": "local",
      "command": [
        "uvx",
        "apple-music-playlists"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add z-han-z-apple-music-playlists --command uvx --arg apple-music-playlists
# ~/.hermes/config.yaml
mcp_servers:
  z-han-z-apple-music-playlists:
    command: "uvx"
    args: ["apple-music-playlists"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "z-han-z-apple-music-playlists": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "apple-music-playlists"
      ]
    }
  }
}
# add to Vellum
assistant mcp add z-han-z-apple-music-playlists -t stdio -c uvx -a apple-music-playlists
// mcp.json
{
  "mcpServers": {
    "z-han-z-apple-music-playlists": {
      "command": "uvx",
      "args": [
        "apple-music-playlists"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 28 Sept 26 +13
    • Tool safety: pass → unverified ▼ security
    • Provenance: fail → pass ▲ security
    • Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
    • The attested source repository moved: Z-Han-Z/apple-music-playlists security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: 100 → unverified ▼ functional
    • Stability: unverified → 0.17 ▲ functional
    • Package version: 1.4.0 → 1.5.0 functional
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 +3
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 24 Sept 26 +15
    • Malware scan: unverified → pass ▲ security
  • 23 Sept 26 54

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 29 Sept 2026 · Analysed pypi/apple-music-playlists@1.5.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem pypi
Reason Verified
Discovered via Registry attestation endpoint
Source repo Z-Han-Z/apple-music-playlists
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/Z-Han-Z/apple-music-playlists/.github/workflows/publish-pypi.yml@refs/tags/v1.5.0
Rekor log index 2981376755
Predicate type PyPI publish attestation https://docs.pypi.org/attestations/publish/v1
Subject digest sha256:3b16613154c3e4f11858bbf0f2be3dd1a82fd6bd229ba3eb4b4fc5bb1cb35d50

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted setuptools.build_meta

Background: Why install scripts are a supply-chain risk →

Dependencies 0 packages
Packages resolved 0
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 13 exposed · ~2,240 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
am_add_tracks ~145

Append resolved tracks to an existing playlist created by this API client. Use dry_run=true to preview matching; use am_create_playlist for a new playlist. / 中文:向已有歌单追加曲目。注意 Apple 的限制:只有创建该歌单的那个客户端才能写入它。

NameTypeReqDescription
dry_runboolean––
isrcsboolean––
playliststringyes歌单名或 p.xxxx ID
storefrontstring–地区代码。不给则用配置里记住的账号地区,再兜底 us
tracksarrayyes'歌名 - 艺人' 列表

No output schema declared.

No examples provided.

am_analyze_flow ~218

Read-only diagnosis of BPM, key, loudness, energy, mood, adjacent transitions, and overall arc. It may fetch and cache remote feature data; use am_optimize_order only when a proposed replacement order is wanted. / 中文:歌单「好听度」体检(音频特征层):抓取每首的 BPM/调性/响度/能量/情绪值(经 ISRC→ReccoBeats,首次会慢,之后走缓存),然后检查四项相邻衔接(两首慢歌相邻 / 「只慢一点」/ tempo 与 key 同时相似 / 能量骤变)和整体弧线形状(Man in a hole、Icarus、Tragedy 等)。只读但会联网抓数据,可能耗时较久。

NameTypeReqDescription
playliststringyes歌单名或 p.xxxx ID
refreshboolean–忽略特征缓存重新抓取,默认 false

No output schema declared.

No examples provided.

am_audit_playlist ~156

Read-only metadata audit of playlist length, artist concentration, genres, eras, duplicates, and possible interludes. For BPM, key, energy, and transitions, use am_analyze_flow. / 中文:歌单结构化体检(元数据层):曲目数、总时长、艺人集中度(同一艺人是否超过 2 首)、流派分布、年代分布、时长分布、重复曲目、<2:00 的疑似间奏。只读,用于判断歌单是否符合策展规范(长度 20–30 首最佳、单一主题等)。

NameTypeReqDescription
playliststringyes歌单名或 p.xxxx ID

No output schema declared.

No examples provided.

am_create_playlist ~244

Create a new playlist from 'Title - Artist' strings or ISRCs. Use dry_run=true to verify catalog matching without writing; use am_add_tracks for an existing playlist. / 中文:创建一个新的 Apple Music 歌单,并一次性写入曲目。曲目用 '歌名 - 艺人' 形式的字符串数组给出,服务端会自动在 catalog 里匹配;若有 ISRC 码则更精确。这是全自动建歌单的主入口。

NameTypeReqDescription
descriptionstring–歌单描述,可选
dry_runboolean–只解析曲目不写入,用于预览匹配结果
isrcsboolean–tracks 是否按 ISRC 精确匹配(更快、更准)
namestringyes歌单名称
storefrontstring–地区代码。不给则用配置里记住的账号地区,再兜底 us
tracksarrayyes曲目列表,每项形如 '歌名 - 艺人';或用 --isrcs 时填 ISRC

No output schema declared.

No examples provided.

am_delete_playlist ~130

Delete one playlist permanently after it has been shown to the user. This is destructive, requires confirm=true, and does not delete the underlying songs from the library. / 中文:删除一个歌单。这是破坏性操作,必须先把歌单名和它当前的内容展示给用户并得到确认;只删本工具创建的演示/临时歌单,不要删用户自己整理的歌单。

NameTypeReqDescription
confirmbooleanyes必须显式传 true 才会真正删除
playliststringyes歌单名或 p.xxxx ID

No output schema declared.

No examples provided.

am_list_playlists ~52

List every playlist in the current user's library, including IDs. Use am_show_playlist when the tracks of one playlist are needed. / 中文:列出当前账号音乐库里的所有歌单(含 ID)。

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

am_optimize_order ~493

Optionally refine local audio transitions after the LLM has selected the songs and narrative blocks. By default it does not impose a global narrative arc or tempo curve; pass a named arc only when the user explicitly requests that preset. It returns an order without writing and must not choose songs or judge theme fit. / 中文:为一批曲目**算出更好的顺序**。这是本项目唯一会排序的工具——am_analyze_flow 只诊断(告诉你哪里有 2 处慢歌相邻、形状是 Icarus),不提供修法。这里用模拟退火处理四条相邻硬规则(不要两首慢歌相邻 / 不要「只慢一点」/ 相邻不该在 tempo 与 key 上同时相似 / 不要 BPM 无理由大跳、能量骤变)。默认不拟合全局叙事弧;只有显式传入 arc 才套用一个命名预设。**只读**:只返回建议顺序,不动任何歌单;把返回列表按原顺序交给 am_create_playlist 即可。因为需要每首的 BPM/调性,首次会联网抓特征(之后走缓存)。

NameTypeReqDescription
arcstring–可选的全局叙事弧预设。省略时不强加叙事形状,只优化局部衔接;仅当用户明确要求某个命名曲线时才选择,例如 cinderella(起-落-起)。
blocksarray–分组排序:每个子数组是一个乐章/段落,**段落之间的先后顺序保持不动**,只在段落内部重排。想保留叙事结构时用它(与 tracks 二选一)
isrcsboolean–tracks/blocks 是否按 ISRC 精确匹配,默认 false
playliststring–要重排的现有歌单名或 p.xxxx ID(与 tracks/blocks 二选一)
refreshboolean–忽略音频特征缓存重抓,默认 false
tracksarray–要排序的曲目,每项 '歌名 - 艺人'(配 isrcs=true 时填 ISRC)

No output schema declared.

No examples provided.

am_recently_played ~122

Read recent listening or recently added Apple Music content when recency matters. This API does not provide play counts; use am_top_played for Replay rankings. / 中文:查最近播放。kind=tracks 是最近播放的曲目;played 是最近播放的歌单/专辑;stations 是最近听的电台;added 是最近加入音乐库的内容。注意:Apple 的这个接口**不返回播放次数**。

NameTypeReqDescription
kindstring–默认 tracks
limitinteger–条数,默认 30

No output schema declared.

No examples provided.

am_resolve_candidates ~222

Ground an LLM-curated candidate pool in Apple Music metadata before final selection or creation. It returns exact catalog metadata and Apple Music links, flags unresolved tracks, duplicate recordings, artist concentration, and version markers, and never scores theme fit or writes to the library. / 中文:批量校验 LLM 提出的候选曲目,并返回 Apple Music 的真实曲名、艺人、专辑、发行日期、流派、时长、歌词可用性、版本标记和 catalog ID。还会指出重复录音与艺人集中度,但**不替模型做主题评分或选曲**。模型应直接根据用户描述与这些真实信息比较候选,保留理由充分的曲目。只读,不修改音乐库。

NameTypeReqDescription
storefrontstring–可选地区代码;默认使用账号地区
tracksarrayyes候选曲目,每项形如 '歌名 - 艺人'。建议先给目标数量的 1.5–2 倍。

No output schema declared.

No examples provided.

am_search_songs ~157

Search the Apple Music catalog for a small exploratory lookup and return stable catalog IDs. For an LLM-proposed playlist-sized pool, use am_resolve_candidates instead. / 中文:在 Apple Music catalog 搜索歌曲/专辑/艺人,返回可用于建歌单的歌曲 ID。

NameTypeReqDescription
limitinteger–返回条数,默认 5
storefrontstring–地区代码(如 us / jp / cn)。不给则用配置里记住的账号地区,再兜底 us
termstringyes搜索词,例如 '晴天 周杰伦' 或 'Bohemian Rhapsody'
typesstring–songs / albums / artists,默认 songs

No output schema declared.

No examples provided.

am_show_playlist ~66

Show the tracks in one playlist selected by name or ID. Use am_list_playlists first when the exact playlist is unknown. / 中文:查看某个歌单的曲目列表。

NameTypeReqDescription
playliststringyes歌单名或 p.xxxx 形式的 ID

No output schema declared.

No examples provided.

am_status ~65

Check developer-token validity and Apple Music login status. Use before any library write; this check changes nothing. / 中文:查看 Apple Music 自动化状态:developer token 是否有效、是否已登录(music-user-token)。任何写歌单操作前都应先确认已登录。

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

am_top_played ~170

Read Apple Music Replay play-count rankings by song, album, or artist when frequency matters. Use am_recently_played for latest listening; all-time data may be unavailable, so retry with a specific year. / 中文:查**播放次数**排行(数据来自 Apple Music Replay / 音乐回忆的后端)。可以查 songs / albums / artists,按年份或 all-time。返回每项的播放次数、首次播放日期、最近播放日期。注意:只有 amp-api 主机可用;all-time 期间不一定存在,失败时先试具体年份。

NameTypeReqDescription
kindstring–默认 songs
limitinteger–条数,默认 30
yearinteger–如 2026;不给则用 all-time

No output schema declared.

No examples provided.

Common questions

What is the Apple Music Playlist Curator MCP server?

Apple Music Playlist Curator is an MCP server listed in the public MCP registry as io.github.Z-Han-Z/apple-music-playlists. Deep Apple Music curation: language-led selection, catalog grounding, and thoughtful listening flow. This page covers its PyPI package (apple-music-playlists).

Is the Apple Music Playlist Curator MCP server safe to use?

Apple Music Playlist Curator scores 85 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 29 September 2026. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Apple Music Playlist Curator MCP server expose?

Apple Music Playlist Curator exposes 13 tools: am_status, am_search_songs, am_resolve_candidates, am_list_playlists, am_show_playlist, and 8 more. Their descriptions and schemas cost roughly 2,240 tokens of context every time the server is loaded.

Is the Apple Music Playlist Curator MCP server still maintained?

Apple Music Playlist Curator is still listed as active in the MCP registry. We last reached this channel on 29 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Apple Music Playlist Curator MCP server under?

Apple Music Playlist Curator declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.