tidal-mcp について
tidal-mcpは、コミュニティが保守するTIDAL向けMCPサーバーです。聴取履歴と指定条件をもとにLLMが楽曲を推薦し、TIDALアカウントの検索やプレイリスト編集を行えます。
主な機能
- 01パーソナライズされた楽曲推薦
- 02楽曲・アルバム・アーティスト・プレイリスト検索
- 03プレイリストの作成・表示・削除
- 04楽曲の追加・削除・並べ替えとメタデータ編集
- 05大規模プレイリストのページネーション取得
- 06ブラウザ経由のOAuthログイン
活用シーン
- 01好みや条件に合う類似楽曲を探す
- 02楽曲や指定した雰囲気をもとにプレイリストを作る
- 03プレイリストの楽曲や情報を整理する
MCP 対応
MCPサーバーとして、TIDALの検索、推薦、お気に入り楽曲の取得、プレイリスト管理ツールをMCPクライアントに公開します。TIDAL認証にはブラウザ経由のOAuthフローを使用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e TIDAL_MCP_PORT ghcr.io/ibeal/tidal-mcp:latestTIDAL_MCP_PORTPort for the TIDAL API Flask server (default: 5050)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/ibeal/tidal-mcp:lateststdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🎵 TIDAL MCP(コミュニティメンテナンス版フォーク)
📢 メンテナンス継続のお知らせ:これは、yuhuacheng/tidal-mcp のコミュニティメンテナンス版フォークです。 元のリポジトリは、2025 年 5 月以降メンテナンスされていないようです。こちらでは、コントリビューション、Issue、PR を歓迎しています!

多くの音楽プラットフォームには、「デイリー・ディスカバリー」や「トップアーティスト」、「新着」などのおすすめ機能があります。しかし、最先端のシステムであっても、おすすめが「集約されすぎている」と感じることがよくあります。もっと個人に合わせた、状況を考慮したものが欲しいと思っていました。
TIDAL MCP を使えば、次のようなリクエストができます。
「最近のお気に入り 10 曲をもとに、似た曲を探してください。ただし、近年の曲だけにしてください。」
「このプレイリストにある曲に似ていて、もっとテンポが遅く、アコースティックな曲を探してください。」
LLM は入力に基づいて結果を絞り込み、選び出します。TIDAL の API を使って似た曲を見つけ、あなたのアカウントに新しいプレイリストを直接作成します。
🆕 このフォークの新機能
このコミュニティフォークには、元のプロジェクトから大幅な改善が加えられています。
- ✅ Docker サポート:簡単にデプロイできる、Docker と docker-compose の完全なセットアップ
- ✅ 検索機能:TIDAL 全体で曲、アルバム、アーティスト、プレイリストを検索
- ✅ ページネーション:大規模なプレイリストからすべての曲を取得(50 曲の上限はありません!)
- ✅ 完全なプレイリスト編集:曲の追加、削除、並べ替え、メタデータの更新
- ✅ コードベースのリファクタリング:ファイルサイズを約 60% 削減し、整理と保守性を向上
- ✅ DRY なページネーションヘルパー:すべてのエンドポイントで再利用できるページネーションユーティリティ
変更履歴の全文確認やコントリビューションはこちら:https://github.com/ibeal/tidal-mcp
機能
- 🌟 音楽のおすすめ:再生履歴とカスタム条件に基づいて、パーソナライズされた曲をおすすめ
- 🎵 プレイリストの完全な管理:プレイリストを作成、表示、編集、削除でき、すべてを細かく管理
- 🔍 高度な検索:曲、アルバム、アーティスト、プレイリストを横断して検索
- 📄 スマートなページネーション:サイズを問わず、プレイリスト内のすべての曲を自動取得
- 🎛️ プレイリストの編集:曲の追加、削除、並べ替え、メタデータの更新
- 🐳 Docker 対応:Docker と docker-compose で簡単にデプロイ
- 🔐 OAuth 認証:ブラウザーを使った安全な TIDAL ログインフロー
クイックスタート
前提条件
- Python 3.10 以降、または Docker
- uv(Python パッケージマネージャー)— Docker を使用しないインストールの場合のみ必要
- TIDAL サブスクリプション
インストール
オプション 1:Docker(推奨)
-
このリポジトリをクローンします。
git clone https://github.com/ibeal/tidal-mcp.git cd tidal-mcp -
Docker Compose でビルドして実行します。
docker-compose up -dまたは、Docker で直接実行します。
docker build -t tidal-mcp . docker run -d -p 5050:5050 --name tidal-mcp tidal-mcpサーバーは
http://localhost:5050で利用できます。 -
ポートを変更するには、
docker-compose.ymlのTIDAL_MCP_PORT環境変数を編集するか、docker run に渡します。docker run -d -p 5100:5100 -e TIDAL_MCP_PORT=5100 --name tidal-mcp tidal-mcp
オプション 2:ローカルへの Python インストール
-
このリポジトリをクローンします。
git clone https://github.com/ibeal/tidal-mcp.git cd tidal-mcp -
uv を使って仮想環境を作成し、依存関係をインストールします。
uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate -
pyproject.toml ファイルに記載されたすべての依存関係とともに、パッケージをインストールします。
uv pip install --editable .これにより、pyproject.toml ファイルで定義されたすべての依存関係がインストールされ、開発モードでプロジェクトがセットアップされます。
MCP クライアントの設定
Claude Desktop の設定
この MCP サーバーを Claude Desktop に追加するには、MCP 設定ファイルを更新する必要があります。
オプション 1:Docker 設定(Docker を使用する場合)
{
"mcpServers": {
"TIDAL Integration": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--network",
"host",
"-v",
"/tmp:/tmp",
"tidal-mcp"
],
"env": {
"TIDAL_MCP_PORT": "5050"
}
}
}
}
セットアップ:
-
Docker イメージをビルドします。
docker build -t tidal-mcp . -
TIDAL で認証します(この操作は一度だけ実行します)。
docker-compose -f docker-compose.auth.yml run --rm tidal-auth出力に OAuth URL が表示されます。
============================================================ TIDAL LOGIN REQUIRED Please open this URL in your browser: https://link.tidal.com/XXXXX Expires in 300 seconds ============================================================URL をブラウザーで開き、TIDAL にログインすると、セッションが
/tmp/tidal-session-oauth.jsonに保存されます。 -
Claude Desktop の設定を更新し(上記を参照)、Claude Desktop を再起動します。
設定の詳細:
--network host- コンテナーからホストのネットワークを直接使用できるようにします-v /tmp:/tmp- ホストの /tmp ディレクトリをマウントし、コンテナーを再起動しても TIDAL のセッションが保持されるようにします
カスタムポートを使用するには:
{
"mcpServers": {
"TIDAL Integration": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--network",
"host",
"-v",
"/tmp:/tmp",
"-e",
"TIDAL_MCP_PORT=5100",
"tidal-mcp"
]
}
}
}
オプション 2:ローカル Python 設定(Docker を使用しない場合)
{
"mcpServers": {
"TIDAL Integration": {
"command": "/path/to/your/uv",
"env": {
"TIDAL_MCP_PORT": "5100"
},
"args": [
"run",
"--with",
"requests",
"--with",
"mcp[cli]",
"--with",
"flask",
"--with",
"tidalapi",
"mcp",
"run",
"/path/to/your/project/tidal-mcp/mcp_server/server.py"
]
}
}
}
Claude Desktop の MCP 設定例のスクリーンショット:

Cursor の設定
Cursor ユーザーは、MCP 設定ファイル(~/.cursor/mcp.json)に次の設定を追加してください。
{
"mcpServers": {
"TIDAL Integration": {
"command": "/path/to/your/project/tidal-mcp/.venv/bin/python",
"env": {
"TIDAL_MCP_PORT": "5100"
},
"args": ["/path/to/your/project/tidal-mcp/start_mcp.py"]
}
}
}
重要:/path/to/your/project/tidal-mcp を、プロジェクトディレクトリの実際のパスに置き換えてください。
Cursor に MCP 設定をインストールする手順
~/.cursor/mcp.jsonに MCP 設定ファイルを作成するか、編集します- 上記の TIDAL Integration 設定を追加します
- 実際のプロジェクトの場所に合わせてパスを更新します
- ファイルを保存します
- 新しい MCP サーバーを読み込むため、Cursor を再起動します
Claude Desktop に MCP 設定をインストールする手順
- Claude Desktop を開きます
- 「Settings」>「Developer」に移動します
- 「Edit Config」をクリックします
- 編集した JSON 設定を貼り付けます
- 設定を保存します
- Claude Desktop を再起動します
おすすめのプロンプト例
設定が完了したら、次のような質問をして、LLM を通じて TIDAL アカウントを利用できます。
- 「このプレイリストの曲に似ているけれど、もっとテンポが遅くてアコースティックな曲をおすすめしてください。」
- 「お気に入りの曲をもとに、落ち着いた深夜の雰囲気に合うプレイリストを作成してください。」
- 「プレイリスト XYZ の曲に似ている曲を、英語以外の言語で探してください。」
💡 モデルに次のように依頼することもできます。
- インスピレーションの幅を広げるため、シードとしてより多くの曲を使う。
- 長めのプレイリストが必要なら、おすすめの曲を増やす。
- 気に入らなければ、プレイリストを削除する。気軽にどうぞ!
利用可能なツール
TIDAL MCP 統合では、次のツールを利用できます。
認証と主要機能
tidal_login:ブラウザーログインフローで TIDAL の認証を行いますget_favorite_tracks:TIDAL からお気に入りの曲を取得しますrecommend_tracks:パーソナライズされた音楽のおすすめを取得します
プレイリスト管理
create_tidal_playlist:TIDAL アカウントに新しいプレイリストを作成しますget_user_playlists:TIDAL のすべてのプレイリストを一覧表示しますget_playlist_tracks:特定のプレイリストからすべての曲を取得します(自動ページネーション対応)delete_tidal_playlist:TIDAL アカウントからプレイリストを削除しますadd_tracks_to_playlist:既存のプレイリストに曲を追加しますremove_tracks_from_playlist:ID または位置インデックスを指定して曲を削除しますupdate_playlist_metadata:プレイリストのタイトルや説明を更新しますreorder_playlist_tracks:プレイリスト内の曲を別の位置に移動します
検索と探索
search_tidal:TIDAL のすべてのコンテンツタイプを網羅的に検索しますsearch_tracks:曲を指定して検索しますsearch_albums:アルバムを指定して検索しますsearch_artists:アーティストを指定して検索しますsearch_playlists:プレイリストを指定して検索します
ライセンス
コントリビューション
このプロジェクトはコミュニティによるフォークで、積極的にメンテナンスされています。コントリビューションを歓迎します!
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
謝辞
元のプロジェクト:
- yuhuacheng/tidal-mcp - TIDAL MCP の元の実装
コントリビューター:
- ra100 - 検索機能
ライブラリとフレームワーク:
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。