TIDAL MCP について
TIDAL MCPは、TIDALアカウントを検索・分析・整理するAIアシスタント向けのローカルMCPサーバーです。122個の型付きツールで幅広い操作を扱い、変更には承認を求めます。
主な機能
- 01カタログやエディトリアルページの検索
- 02プレイリストの分析と比較
- 03歌詞、お気に入り、フォルダーの閲覧
- 04プレイリストや分析結果のJSON出力
- 05アカウント変更のプレビューと承認
活用シーン
- 01指定した曲に関連する楽曲の検索
- 02プレイリストの構成や曲順の確認
- 03承認前のプレイリスト編集案の作成
MCP 対応
stdio対応のMCPクライアントに、122個の型付きツールと4つのプロンプトを提供します。アカウントの変更には、プレビュー、明示的な承認、トークンによるコミットが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @sickn33/tidal-mcpTIDAL_MCP_ENABLE_WRITESSet to 1 to allow approval-gated TIDAL account mutations.TIDAL_MCP_DATA_DIROptional private directory for the OAuth session and approval drafts.TIDAL_MCP_EXPORT_DIROptional private directory where playlist exports are written.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
TIDAL MCP — AI アシスタント向けの、完全で安全性を最優先した TIDAL サーバー

TIDAL MCP は、Codex、Claude Desktop、Claude Code、Cursor などの stdio 互換の Model Context Protocol クライアントを TIDAL アカウントに接続します。カタログの検索、 プレイリストの分析、音楽の発見、歌詞の閲覧、お気に入りの管理、フォルダーの整理、 そして 122 個の型付き MCP ツールを使ったプレイリストの安全な作成や編集ができます。
位置付け: 2026年9月4日のレビューでは、現在の GitHub の状況を再現可能な方法で調査した結果、一般公開されている TIDAL MCP 実装の中で最も完全なものと評価されました。この主張は、登録済みツールの対応範囲、構造化スキーマ、変更の安全性、自動テストの証拠に基づいており、マーケティングだけに依存するものではありません。日付入りの比較をご覧ください。
この TIDAL MCP が作られた理由
多くの TIDAL 連携では、検索やプレイリスト操作のコマンドが少数だけ提供されます。TIDAL MCP は、認証情報と承認をユーザーのマシン上に保ちながら、AI エージェント向けの完全なローカル操作環境として構築されています。
- 発見可能なツールが122個: 読み取り用84個、変更プレビュー用36個、承認トークンによるコミット用2個。
- 幅広いアカウント機能: カタログ、エディトリアルページ、おすすめ、歌詞、お気に入り、プレイリスト、フォルダー、ミックス、画像、再生メタデータ。
- 安全な書き込み: 変更はデフォルトで無効になっており、必ずプレビュー → 明示的な承認 → コミットの手順が必要です。
- プライベートな認証: OAuth セッションデータが MCP ツールの応答を通じて送信されることはありません。
- 型付きで制限付き: すべての入出力にスキーマと制限があり、MCP の安全性アノテーションが設定されています。
- 検証済みの品質: ステートメントと分岐を100%網羅するテストに加え、実際の stdio ハンドシェイクと、任意で実行できる認証済み読み取り専用スモークテストを備えています。
AI アシスタントは TIDAL で何ができますか?
自然な言葉で依頼できます。
- 「ワークアウト用プレイリスト全体を分析して。アーティストの偏り、年代、重複、再生時間、曲順を調べて。」
- 「この3曲に関連するトラックを20曲見つけて、すでにプレイリストにある曲は除外し、アーティストごとに最大2曲までにして。」
- 「あるアーティストのアルバム、EP、シングル、参加作品、人気曲、プロフィール、関連アーティストを比較して。」
- 「お気に入りのアルバムとプレイリストを表示して、コレクションの構成を要約して。」
- 「これらのおすすめから新しいプレイリストを準備して。実行する前に、変更内容を正確に見せて。」
- 「これらのプレイリストをフォルダーに移動して。ただし、アカウントを変更する前に確認して。」
実際のワークフローとプロンプトの例をご覧ください。
ツールの対応範囲
| 領域 | ツール数 | 例 |
|---|---|---|
| 認証、検索、おすすめ | 3 | ステータス、複数タイプの検索、決定論的な複数シードのおすすめ |
| カタログ、エディトリアル、探索 | 54 | トラック、アルバム、アーティスト、動画、歌詞、ジャンル、ホーム、探索、For You |
| コレクション、プレイリスト、フォルダー | 22 | お気に入り、件数、プレイリスト項目、所有・公開プレイリスト、フォルダー、ミックス |
| 派生分析 | 3 | プレイリスト全体の収集、プレイリストの要約、プレイリストの比較 |
| ローカルエクスポート | 2 | プレイリストの JSON または M3U へのエクスポート、要約または比較の JSON へのエクスポート |
| 正確な変更プレビュー | 36 | プレイリストの CRUD、項目の移動、公開範囲、お気に入り、フォルダー |
| 承認トークンによるコミット | 2 | 汎用コミットと互換性のあるプレイリスト作成エイリアス |
この表の合計が、登録済みツールの 122 個です。これらとともに、4 つの MCP プロンプト(playlist-from-description、playlist review、discovery digest、library audit)が登録されています。プロンプトはツールの利用をガイドするものであり、ツール数には含まれません。
すべてのリスト操作には上限があり、ページネーションに対応しています。すべての結果で公開フィールドの許可リストを使用するため、OAuth トークン、リクエストクライアント、内部セッションデータがモデルのコンテキストに入ることはありません。完全な一覧は API_COVERAGE.md にあります。
クイックスタート
要件
- macOS または Linux。macOS では実アカウントでテスト済みです
- Node.js 18 以降
- Python 3.11–3.13
uv- TIDAL アカウント
1. インストールして認証する
npx -y @sickn33/tidal-mcp auth
デバイス認証 URL を開き、TIDAL でアクセスを承認してから、ターミナルに戻ります。セッションはリポジトリ内ではなく、オペレーティングシステム上の非公開アプリケーションデータディレクトリに保存されます。
いつでも確認または削除できます。
npx -y @sickn33/tidal-mcp auth --status
npx -y @sickn33/tidal-mcp auth --logout --yes
開発用にソースからインストールする場合は、次のようにします。
git clone https://github.com/sickn33/tidal-mcp.git
cd tidal-mcp
uv sync
uv run tidal-auth
2. MCP クライアントを接続する
npm を直接使用します。このパッケージは、固定された Python 実装を uvx 経由でローカルに起動します。
{
"mcpServers": {
"tidal": {
"command": "npx",
"args": [
"-y",
"@sickn33/tidal-mcp"
]
}
}
}
MCP クライアントを再起動または再接続して、次のように尋ねてください。「TIDAL の認証ステータスを確認して。」
安全なアカウント書き込みを有効にする
MCP プロセスが次の値を受け取らない限り、リモートへの書き込みは無効です。
"env": {
"TIDAL_MCP_ENABLE_WRITES": "1"
}
フラグを有効にしても、変更が自動的に実行されることはありません。すべての変更には、引き続き次の 3 つの明示的な手順が必要です。
- 名前付きの
tidal_preview_*ツールが、正確なパラメーターと対象メタデータを、非公開で有効期間の短いローカルドラフトに記録します。 - アシスタントがそのプレビューをユーザーに提示します。
- 承認後にのみ、
tidal_commit_actionが単一使用トークンを受け入れ、記録されたアクションを正確に実行します。
トークンの使用が成功した後に同じトークンが再度使用された場合は、保存済みの結果が返されます。期限切れのトークンは失敗として処理されます。重複した効果を抑えるため、結果が曖昧な書き込み失敗はロックされます。破壊的な操作のプレビューには、その旨が明確に示されます。
対応する TIDAL 操作
- 検索と照会: トラック、アルバム、アーティスト、プレイリスト、動画、ミックス、ユーザー、バーコード、ISRC。
- トラック情報: 詳細、ラジオ、ラジオミックス、歌詞、再生メタデータ、一時的なアカウントスコープの URL。
- アーティストとアルバム: ディスコグラフィー、EP とシングル、参加作品、略歴、レビュー、関連アーティスト、類似アルバム、解像度、アートワーク、エディトリアルページ。
- 探索: ホーム、探索、For You、ジャンル、ムード、ミックス、動画、ハイレゾ、ローカルのジャンルハブ。
- エディトリアルナビゲーション: ページカテゴリー内の項目とリンクの読み取り、「さらに表示」/「すべて表示」セクションの展開、ページリンクを開いて最初の画面以降を閲覧。
- コレクション: トラック、アルバム、アーティスト、プレイリスト、動画、ミックス、フォルダーのお気に入り登録と件数の取得。
- プレイリスト: メタデータ、トラック、混在項目、件数、画像、作成/編集/削除/クリア/統合、公開範囲、追加/削除/並べ替え操作。
- フォルダー: コレクションツリー項目の確認、作成、名前変更、削除、移動。
このサーバーでは、メディアのダウンロード、DRM の回避、生の OAuth メソッドの公開、制限のない非公開エンドポイントのプロキシ提供は意図的に行っていません。
設定
| 変数 | デフォルト | 意味 |
|---|---|---|
TIDAL_MCP_ENABLE_WRITES | 0 | 許可リストに登録されたアカウントの変更に対する承認トークン付きコミットを許可します |
TIDAL_MCP_DATA_DIR | OS のアプリケーションデータディレクトリ | セッションと下書きのルートディレクトリ |
TIDAL_MCP_SESSION_FILE | <data-dir>/session.json | OAuth セッションのパスを上書きします |
TIDAL_MCP_DRAFT_TTL_SECONDS | 900 | 承認の有効期間。60〜3600 秒の範囲です |
TIDAL_MCP_EXPORT_DIR | <data-dir>/exports | tidal_export_playlist の書き込み先。プライベートに作成されます |
新しいプライベートディレクトリには 0700 モードを、機密ファイルには POSIX 権限をサポートするシステムで 0600 モードを使用します。既存のカスタム親ディレクトリの権限が、通知なく書き換えられることはありません。
検証済みの品質
uv sync --all-groups
uv run ruff format --check .
uv run ruff check .
uv run pytest --cov=tidal_mcp --cov-report=term-missing
uv run python scripts/smoke_stdio.py
uv build
カバレッジゲートは**ステートメントと分岐の両方で100%**です。テストでは、TIDAL に接続せずに MCP スキーマと固定された tidalapi アダプターを通じて、登録済みのすべての読み取りルートと変更ルートを実行します。stdio スモークテストでは、パッケージ化されたプロトコルプロセスを起動し、122 個すべてのツールスキーマを検証します。
公式リリースは、長期有効な npm 書き込みトークンを使わず、npm Trusted Publishing を通じて GitHub Actions から公開されます。npm が自動的にプロベナンスを付与し、同じリリースワークフローから GitHub OIDC を通じて、対応するメタデータを公式 MCP Registry に公開します。
オプションの認証済みスモークテストでは、代表的な読み取りのみを実行します。
uv run python scripts/smoke_live_read_only.py
リリースのメンテナーは、同じ MCP クライアント経路を通じて、公開されている npm パッケージそのものをテストできます。
uv run python scripts/smoke_live_read_only.py \
--command npx \
--server-arg=-y \
--server-arg=@sickn33/[email protected]
決定論的な評価スイートと日付入りの競合マトリックスにより、品質に関する主張を検証できます。
アーキテクチャと互換性
TIDAL は開発者向け API を提供していますが、開発者認証情報は別途発行され、公式の API では一般ユーザーアカウントのすべてのワークフローに対応していません。そのため、このローカルサーバーでは、幅広いデバイスログインに対応するため、TIDAL のコンシューマー向けエンドポイントを利用する非公式アダプター tidalapi 0.8.11 を固定して使用します。TIDAL の変更によりメンテナンスが必要になる場合がありますが、固定された依存関係とライブスモークテストによって、そのリスクを把握できます。
このサーバーは、stdio 経由で MCP Python SDK を使用します。ブロッキングを伴う上流の呼び出しは、非同期プロトコルのイベントループ外で実行されます。Flask のサイドカーを起動せず、一時ディレクトリに認証情報を保存することもありません。
ドキュメント
プロジェクトの状況
バージョン 1.4.0 では、プレイリストの概要または比較結果を JSON にエクスポートできるようになり、各プレイリストを呼び出しごとに一度だけ解決することで、すべてのプレイリストツールのネットワークコストを削減しました。
ライセンス、帰属表示、商標に関するお知らせ
MIT。このリポジトリは yuhuacheng/tidal-mcp の履歴とライセンスを保持しています。詳細は NOTICE.md をご覧ください。
TIDAL は、それぞれの所有者の商標です。これは独立した非公式のコミュニティプロジェクトであり、TIDAL とは提携、推奨、支援の関係にありません。TIDAL のロゴやアルバムアートワークは、プロジェクトに同梱されていません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。