mcpField
A
Apple Music Mcp

Apple Music Mcp

ローカル
github.com/Cifero74メディア・デザイン441 週間前に更新

Apple Music Mcp について

Apple Music Mcpは、Apple Musicの検索や個人ライブラリの操作に使える、Claudeユーザー向けのMCPサーバーです。プレイリスト管理、再生履歴の確認、おすすめの取得、お気に入りの管理にも対応します。

主な機能

  1. 01カタログと個人ライブラリの検索
  2. 02保存済みの曲・アルバム・アーティストの表示
  3. 03プレイリストと収録曲の確認
  4. 04プレイリストの作成と曲の追加
  5. 05再生履歴とおすすめの確認
  6. 06曲のお気に入り管理

活用シーン

  1. 01アルバムを探し、ライブラリ内にあるか確認
  2. 02カタログの曲からプレイリストを作成
  3. 03最近の再生内容に基づくおすすめの取得

MCP 対応

Apple Musicのカタログやアカウント操作を、Claude DesktopなどのMCPクライアント向けツールとして提供します。検索、ライブラリ参照、プレイリスト、再生履歴、おすすめ、お気に入りに対応し、再生操作には対応しません。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"apple-music": {
"command": "uvx",
"args": [
"mcp-apple-music-server"
],
"env": {
"APPLE_TEAM_ID": "<APPLE_TEAM_ID>",
"APPLE_KEY_ID": "<APPLE_KEY_ID>",
"APPLE_PRIVATE_KEY": "<APPLE_PRIVATE_KEY>",
"APPLE_MUSIC_USER_TOKEN": "<APPLE_MUSIC_USER_TOKEN>",
"APPLE_STOREFRONT": "<APPLE_STOREFRONT>"
}
}
}
}
起動コマンドuvx mcp-apple-music-server
設定が必要な環境変数
APPLE_TEAM_IDApple Developer Team ID
APPLE_KEY_IDシークレットApple MusicKit Key ID
APPLE_PRIVATE_KEYシークレットApple MusicKit private key content (ES256, PEM format)
APPLE_MUSIC_USER_TOKENシークレットApple Music user token for personal library access
APPLE_STOREFRONTApple Music storefront country code (default: us)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-apple-music-server1.3.0

ツール

11

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitintegerいいえ
querystringはい
typesstringいいえ

詳細

mcp-apple-music 🎵

mcp-name: io.github.Cifero74/mcp-apple-music

Python 3.10+ License: MIT MCP

Claude が Apple Music アカウントにフルアクセスできる MCP(Model Context Protocol)サーバーです。カタログの検索、個人ライブラリの閲覧、プレイリストの管理、再生履歴やおすすめの確認ができます。

Claude に次のように尋ねてみましょう:

  • 「最近聴いている曲をもとに、まだ持っていない曲を15曲おすすめして、新しいプレイリストに追加して」
  • 「すべてのプレイリストを表示して、最も多く登場するアーティストを教えて」
  • 「Nick Cave のアルバムを検索して、お気に入りの3枚を Dark Picks という名前のプレイリストに追加して」

機能

ツール説明
search_catalogApple Music カタログ(曲、アルバム、アーティスト、プレイリスト)を検索
search_library個人ライブラリ内を検索
get_library_songsライブラリに保存されている曲を一覧表示(ページネーション対応)
get_library_albumsライブラリ内のアルバムを一覧表示(ページネーション対応)
get_library_artistsライブラリ内のアーティストを一覧表示
get_library_playlistsID 付きでプレイリストをすべて一覧表示
get_playlist_tracksプレイリスト、または Apple Music カタログのプレイリスト(pl. ID)内のトラックを取得
create_playlist新しいプレイリストを作成
add_tracks_to_playlist曲(ライブラリまたはカタログのトラック)をプレイリストに追加
add_to_libraryカタログの曲、アルバム、プレイリストをライブラリに保存
get_recently_played最近再生したアルバム/プレイリスト/ステーションを表示
get_recommendationsApple Music のパーソナライズされたおすすめを取得
favorite_songカタログの曲をお気に入り(星印)に登録
unfavorite_songカタログの曲をお気に入りから削除
get_song_favorite_statusカタログの曲がお気に入りに登録されているか確認

要件

  • Python 3.10+
  • uv(推奨)または pip
  • MusicKit キーを作成するには、有料の Apple Developer Program メンバーシップ(年間99米ドル)が必要です。無料の Apple Developer アカウントでは MusicKit キーを作成できません。
  • 有効な Apple Music サブスクリプション

セットアップ

1. MusicKit キーを作成する
  1. developer.apple.com → Certificates, Identifiers & Profiles にアクセスします
  2. Keys の下にある + をクリックして、新しいキーを作成します
  3. 任意の名前を付け、MusicKit を有効にして、Continue → Register をクリックします
  4. .p8 ファイルをダウンロードします。このファイルは一度しかダウンロードできないため、安全に保管してください。
  5. Key ID(例:ABC123DEF4)とTeam ID(Membership Details に記載)を控えます

⚠️ Key ID はキー名の横に表示される英数字のコードです。.p8 ファイルのファイル名ではありません。

2. クローンしてインストールする
git clone https://github.com/Cifero74/mcp-apple-music
cd mcp-apple-music

# with uv (recommended)
uv sync

# or with pip
pip install -e .
3. 初回のみセットアップウィザードを実行する
# with uv
uv run mcp-apple-music-setup

# or directly
python -m mcp_apple_music.setup

ウィザードでは、Team ID、Key ID、および .p8 ファイルへのパスを入力します。その後、ブラウザページが開くので、**「Authorise Apple Music」**をクリックします。これにより Apple の公式 MusicKit JS を使って Music User Token が取得され、~/.config/mcp-apple-music/config.json に安全に保存されます(ファイル権限:600)。

4. Claude Desktop に追加する

Claude Desktop の設定ファイルを開きます。

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "apple-music": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/absolute/path/to/mcp-apple-music",
        "mcp-apple-music"
      ]
    }
  }
}

Claude Desktop を再起動すると、ツールバーで apple-music のツールを利用できるようになります。


仕組み

Apple Music では、2種類のトークンが必要です。

  • Developer Token — .p8 秘密鍵を使ってローカルで署名する JWT です。有効期間は最長6か月で、期限が切れる前にサーバーが自動的に再生成します。鍵がマシンの外に出ることはありません。
  • Music User Token — ブラウザーで MusicKit JS OAuth を使って一度取得します(セットアップウィザードが処理します)。~/.config/mcp-apple-music/config.json にローカル保存されます。
Your .p8 key  ──►  Developer Token (JWT, auto-renewed)  ─┐
                                                           ├──► Apple Music API
Browser OAuth ──►  Music User Token (stored locally)    ─┘

⚠️ 再生コントロール(再生/一時停止/スキップ)は、Apple の REST API では利用できません。ネイティブの MusicKit フレームワーク(iOS/macOS アプリ)か、ブラウザーコンテキストで実行する MusicKit JS が必要です。

再生をコントロールするには、chrome-relay をご確認ください。すでに Chrome で開いている music.apple.com タブを MCP サーバーから操作できるコンパニオン CLI で、MusicKit JS のシムを同梱せずに再生/一時停止/スキップが可能になります。


プロジェクト構成

mcp-apple-music/
├── src/
│   └── mcp_apple_music/
│       ├── __init__.py
│       ├── auth.py      — Developer Token generation + User Token management
│       ├── client.py    — Async HTTP client for api.music.apple.com
│       ├── server.py    — FastMCP server with all 14 tools
│       └── setup.py     — One-time setup wizard (browser-based OAuth)
├── config.example.json  — Example config structure (no secrets)
├── pyproject.toml
└── README.md

プロンプトの例

接続後、Claude に次のように尋ねることができます。

"What have I been listening to this week? Based on that, find 10 songs
 I don't own yet that I'd probably enjoy and create a playlist with them."

"Search for all albums by Joni Mitchell and tell me which ones
 I already have in my library."

"List my playlists, pick the one that looks most like a workout mix,
 and add 5 high-energy songs from the catalog to it."

"Create a playlist called 'Rainy Sunday' with the 10 most mellow tracks
 you can find from my library."

作者

Claude Desktop 向けの個人用 MCP エコシステムの一環として、Cifero74 と Claude(Anthropic)が開発しました。

このプロジェクトは、API の調査や認証フローの設計から、セットアップウィザード、実際の Apple Music ライブラリを使ったライブテストに至るまで、Mario と Claude の共同対話を通じて、企画、設計、デバッグ、リリースのすべてが行われました。

コントリビューション、課題、PR を歓迎します!


ライセンス

MIT — ご自由に利用、フォーク、拡張してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。