Token导航 LogoToken导航TokenDH.com
Apple Music logo
音视频未说明官方级别未说明来源级核验

Apple Music

MCP Server

一个基于Apple Music的MCP服务器,提供远程播放控制、实时播放可视化工具和互动音乐问答游戏功能。

工具数

34

提示词数

0

GitHub Stars

0

资源数

0
JavaScriptClaude语音音频Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

cbroberg

提供方

cbroberg

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

🎵 音乐问答

用于Apple Music的模型上下文协议(MCP)服务器,具有远程播放控制、实时播放可视化工具和交互式音乐问答游戏。搜索目录、创建播放列表、管理库、通过AirPlay在Mac上控制Music.app,以及举办智力竞赛之夜——所有这些都可以在iPhone或web UI上通过Claude完成。

居住地址: https://music.quiz-mash.com

Demo: Playing Jeff Beck from iPhone via Claude

Demo: AirPlay to Apple TV from iPhone

Demo: The Police playing on Apple TV via AirPlay

特性

34 MCP工具

目录工具(8--无需身份验证)

工具说明
search_catalog在Apple Music目录中搜索歌曲、艺术家、专辑
get_artist_songs获取艺术家的所有歌曲(完整唱片目录)
get_artist_albums获取艺术家的所有相册
get_charts热门歌曲/专辑/播放列表,可按流派选择
get_genres列出所有可用的流派(用于图表过滤)
get_catalog_playlist获取包含曲目的精选/编辑播放列表
get_song_details按ID列出歌曲的完整详细信息(艺术品、预览URL、发布日期)
get_album_details包含所有曲目和编辑注释的完整专辑详细信息

库和个人工具(12-需要Apple Music身份验证)

工具说明
create_playlist使用库中的曲目创建播放列表
add_tracks_to_playlist将曲目添加到现有播放列表
list_playlists列出您的Apple Music播放列表
get_playlist_tracks获取库播放列表中的所有曲目
add_to_library将歌曲/专辑/播放列表添加到曲库
search_library搜索您的个人音乐库
recently_played您最近的收听历史记录(专辑/播放列表)
recently_played_tracks最近播放的曲目,包含完整细节(最多50首)
heavy_rotation您最常播放的内容
recommendations个性化音乐推荐
replayApple Music Replay-您今年的热门歌曲/艺术家/专辑
auth_status检查身份验证状态和家庭控制器连接

测验工具(2)

工具说明
music_quiz生成一个包含问题、歌曲ID、答案和提示的音乐测验
create_visual_quiz创建一个带有可共享URL的视觉测验,用于电视/显示器显示

测验类型: 猜艺术家,猜歌曲,猜专辑,猜年份,介绍测验,混合

来源: 您最近玩过的、重旋转、库、图表或特定艺术家的目录

过滤器: 按十年(例如“1980”代表80年代)、流派或艺术家

播放和AirPlay工具(需要12-家庭控制器)

工具说明
now_playingMac上当前正在播放什么
play开始播放,可选择按名称播放特定曲目
pause暂停播放
next_track跳到下一首曲目
previous_track返回上一轨道
set_volume设置或获取Music.app音量(0–100)
search_and_play搜索库并玩第一场比赛
play_playlist_on_mac按名称播放播放列表
shuffle启用/禁用随机播放
airplay_devices列出AirPlay设备(苹果电视、HomePod等)
set_airplay启用/禁用AirPlay设备
set_airplay_volume为特定AirPlay设备设置音量

Web前端

第页描述
/正在播放——带有现场专辑封面、曲目信息、进度条的脉动球体
/loginGitHub OAuth登录(仅限于授权帐户)
/quiz测验大厅——选择类型、来源、计时器、添加玩家
/quiz/[id]智力竞赛——提问、倒计时、评分、揭晓、获胜者

前端使用Next.js 16(App Router)、Tailwind CSS v4构建,并通过WebSocket连接到后端,用于实时播放更新。

传输与认证

传输端点身份验证客户端
流式HTTP/mcpOAuth 2.1(PKCE+DCR)claude.ai(网络+iOS)
SSE(传统)/sseAPI密钥Claude桌面,Claude代码

OAuth 2.1使用JWT令牌(90天到期),这些令牌在服务器重启后仍然有效。动态客户端注册允许claude.ai自行注册。

建筑

Architecture diagram

关键设计: 家庭控制器连接 *出站* 通过WebSocket(“呼叫总部”模式)连接到MCP服务器。无隧道、无端口转发、无DNS——可在任何防火墙/NAT后工作。与 代码启动器.

自定义服务器: Express(MCP、OAuth、API)和Next.js(前端)通过 server.jsWebSocket升级被路由到适当的处理程序(/home-ws 对于Mac代理, /ws/now-playing 对于浏览器)。

令牌持久性: Apple Music用户令牌保存在Fly.io的持久卷中 /data/music-user-token.json,幸存的部署。

快速开始

1.苹果开发者设置

你需要一个 Apple开发者帐户 (99美元/年)。

  1. 首选 证书、标识符和配置文件
  2. 在...之下 标识符,单击 + → 选择 媒体ID
  3. 注册新的媒体ID(例如。, media.music.dk.broberg)
  4. 启用 音乐套件, ShazamKit,以及 苹果音乐订阅源
  5. 在...之下 钥匙,单击 + → 创建新密钥
  6. 启用 音乐套件 并选择您的媒体ID
  7. 下载 .p8 私钥文件
  8. 注意你的 密钥ID团队编号

2.地方发展

git clone https://github.com/cbroberg/music-quiz.git
cd music-quiz
npm install
cp env.example .env

编辑 .env 凭你的证件。对于私钥,转换 .p8 将文件保存为单行:

awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' AuthKey_XXXXXX.p8

构建并运行:

npm run build
npm start

访问 http://localhost:3000/auth 授权您的Apple Music帐户。

3.部署到Fly.io

fly apps create music-quiz
fly volumes create data --size 1 --region arn
fly certs add your-domain.example.com

# Set secrets
fly secrets set APPLE_TEAM_ID=xxx APPLE_KEY_ID=xxx
fly secrets set APPLE_PRIVATE_KEY="$(awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' AuthKey_XXXXXX.p8)"
fly secrets set JWT_SECRET=$(openssl rand -hex 32)
fly secrets set HOME_API_KEY=$(openssl rand -hex 32)
fly secrets set SESSION_SECRET=$(openssl rand -hex 32)
fly secrets set GITHUB_CLIENT_ID=xxx GITHUB_CLIENT_SECRET=xxx

fly deploy

4.连接claude.ai

  1. 首选 设置集成添加集成
  2. 输入URL: https://your-domain.example.com/mcp
  3. Claude.ai自动处理OAuth 2.1流
  4. 可在网络、iPhone和Android上使用

5.连接到克劳德桌面/克劳德代码

添加到MCP配置中:

{
  "mcpServers": {
    "apple-music": {
      "url": "https://your-domain.example.com/sse"
    }
  }
}

6.授权Apple Music

访问 https://your-domain.example.com/auth?key= 并使用您的Apple Music帐户登录。令牌被持久化到磁盘,并在部署后继续存在。

7.主控制器(可选——用于播放)

家庭控制器在Mac上运行,让Claude远程控制Music.app。它连接 *出站* 通过WebSocket——无隧道,无端口转发,适用于任何网络(家庭、办公室、热点)。

快速测试

cd music-quiz
HOME_API_KEY= ./home/start.sh

使用launchd自动启动(推荐)

一次性构建代理:

cd apple-music-mcp && npx tsc -p home/tsconfig.json

创建 ~/Library/LaunchAgents/dk.broberg.apple-music-home.plist:


    Label
    dk.broberg.apple-music-home
    ProgramArguments
    
        /path/to/node
        /path/to/music-quiz/home/dist/server.js
    
    EnvironmentVariables
    
        HOME_API_KEY
        your-home-api-key
        MCP_WS_URL
        wss://your-domain.example.com/home-ws
    
    RunAtLoad
    
    KeepAlive
    
    StandardOutPath
    /tmp/apple-music-home.log
    StandardErrorPath
    /tmp/apple-music-home.log
提示: 使用查找节点路径 readlink -f "$(which node)" --特别是如果你使用fnm/nvm。

加载它:

launchctl load ~/Library/LaunchAgents/dk.broberg.apple-music-home.plist

代理现在在登录时启动,如果崩溃,会自动重新启动。检查状态 launchctl list | grep broberg 和日志 tail -f /tmp/apple-music-home.log.

8.音乐测验

Quiz flow diagram

从web UI

  1. 登录地址: /login 使用GitHub
  2. 首选 /quiz 创建测验
  3. 选择测验类型、音乐来源、问题数量、计时器持续时间
  4. 添加玩家名称并单击 开始测验
  5. 在电视/显示器上打开测验URL以进行视觉显示
  6. 每个问题在Mac上自动播放音乐
  7. 当玩家猜对时,点击他们的名字以获得积分

来自克劳德(MCP)

“创建一个视觉音乐测验,其中包含我最近播放的5个问题。添加玩家Christian和Mikkel。30秒计时器。”

Claude返回一个在电视上打开的URL。通过Claude从手机或web UI控制测验。

用法示例

来自克劳德(iPhone或台式机):

“我的Mac上现在正在播放什么?”
“扮演一些杰夫·贝克”
“将音量设置为40”
“显示我的AirPlay设备并在Stue Apple TV上播放”
“根据Apple Music Replay,我最喜欢的歌曲是什么?”
“用我最近播放的曲目创建一个名为‘Sunday Jazz’的播放列表”
“目前丹麦排名前十的歌曲是什么?”
“搜索Mew并向我展示他们的完整唱片集”
“下一首曲目”/“暂停”/“随机播放”
“开始音乐测验!5个问题,介绍测验,基于我最近玩过的游戏”
“80年代摇滚小测验——10个问题,在Stue Apple TV上播放”
“从警察的完整目录中做一个关于警察的测验”

许可证

麻省理工学院 - Christian Broberg / WebHouse ApS

目录标签

目录标签

JavaScriptClaude语音音频音乐服务本地部署远程控制互动游戏AppleMusic集成实时可视化

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

34

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP