music-digger-mcp
Allows controlling Apple Music playback (play stations, albums, control playback), retrieving current track, and marking tracks with reactions like love, like, meh, or skip.
Enables storing music diary entries and album cards in an Obsidian vault based on reactions to tracks.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@music-digger-mcpPlay a station based on The Beatles"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
music-digger-mcp
YouTube + Safari + Apple Music で音楽を掘るための MCP サーバー。Claude Code から自然言語で操作し、聴いて反応した曲だけを Obsidian Vault に蓄積する。
v0.2.0 で再生エンジンを YouTube に切り替えました。 旧 Apple Music + AppleScript ベースの理由は
docs/superpowers/specs/2026-06-13-youtube-pivot.mdを参照。
ワークフロー
play_station("Roy Ayers")→ YouTube 検索 → Safari で再生(autoplay 無し、MCP が制御)気に入ったら
mark_current("love")→ Obsidian 日記に追記 + iTunes Search API で楽曲を照合 → Music.app で同じ楽曲ページを開く(あとはユーザーが「+」でライブラリ追加・再生)love 1 回 or like 2 回でアルバムカードに自動昇格
Apple Music カタログの「特定の曲」を AppleScript から再生する公式 API は無く、URL を
openしても navigate するだけで自動再生しない。digger としての再生は YouTube + Safari に統一し、Apple Music は「気に入った曲をあとで聴くための着地点」として使い分ける。
Related MCP server: mcp-apple-music
Tools
play_station(seed?)— YouTube 検索で seed の station を Safari で起動。seed 省略時はmusic/stations.mdからランダムplay_album(artist, album)—<artist> <album> full albumで YouTube 検索 → Safaricurrent_track()— MCP が「最後に再生指示した曲」の情報を返す(ブラウザに問い合わせない)mark_current(reaction, note?, artist?, album?, track?)— 現在曲を love / like / meh / skip でマーク。日記追記 + 昇格判定。love / like の時は iTunes Search API で Apple Music カタログを引いて、Music.app に楽曲ページを開く
動作環境
macOS(Safari、Music.app、
openコマンド)Node.js 18+ (built-in fetch)
YouTube アカウント(Safari でログイン推奨。Premium ならバックグラウンド再生・広告無し)
Apple Music サブスクリプション(love した曲を Music.app で続けるなら)
Obsidian Vault
セットアップ
npm install
npm run buildSafari で YouTube にログインしておく(Premium 推奨)。youtube.com の autoplay は OFF にしておくと state ずれが起きない。
Claude Code への接続
examples/mcp.json を参考に、Claude Code の .mcp.json に music-digger エントリを追加して再起動する。
開発
npm run dev # tsx watch でホットリロード
npm test # vitest
npm run test:watch # vitest watch環境変数
変数 | デフォルト | 用途 |
| 必須 | Obsidian Vault のルート |
|
| 反応日記の保存先 |
|
| アルバムカードの保存先 |
|
| station の seed リスト |
stations.md の書き方
## ソウル / ファンク
- Aaron Frazer # Introducing... が今のお気に入り (Bad News)
- Curtis Harding # ◎ The Power
- Roy Ayers # ◎ Everybody Loves The Sunshine
## スキップ中
# - Lofi # 今の気分じゃない行頭
-で 1 行 1 seed行頭が
#の行はコメント / 無効化末尾の
# ...は seed の覚え書き(パーサーが無視する)
仕様書 / 実装計画
docs/superpowers/specs/2026-06-12-music-digger-mcp-design.md— 初版(Apple Music ベース、現在は参考資料)docs/superpowers/specs/2026-06-13-youtube-pivot.md— YouTube 移行設計メモdocs/superpowers/plans/2026-06-12-music-digger-mcp.md— 旧実装計画
注意
YouTube の HTML スクレイピングを使用しているため、YouTube 側のレイアウト変更で壊れる可能性があります(個人用前提)
current_trackは MCP がこのセッションで再生指示した曲のみを反映します。ブラウザ上で手動で次の曲に進めた場合は state がずれます(その間mark_currentを呼ばなければ実害なし)mark_currentの love / like で Music.app の楽曲ページが開きますが、ライブラリへの追加は手動で「+」を押してください
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/hisasann/music-digger-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server