mcpField
T
tidal-mcp

tidal-mcp

ローカル
github.com/ibealゲーム・エンタメ612 週間前に更新

tidal-mcp について

tidal-mcpは、コミュニティが保守するTIDAL向けMCPサーバーです。聴取履歴と指定条件をもとにLLMが楽曲を推薦し、TIDALアカウントの検索やプレイリスト編集を行えます。

主な機能

  1. 01パーソナライズされた楽曲推薦
  2. 02楽曲・アルバム・アーティスト・プレイリスト検索
  3. 03プレイリストの作成・表示・削除
  4. 04楽曲の追加・削除・並べ替えとメタデータ編集
  5. 05大規模プレイリストのページネーション取得
  6. 06ブラウザ経由のOAuthログイン

活用シーン

  1. 01好みや条件に合う類似楽曲を探す
  2. 02楽曲や指定した雰囲気をもとにプレイリストを作る
  3. 03プレイリストの楽曲や情報を整理する

MCP 対応

MCPサーバーとして、TIDALの検索、推薦、お気に入り楽曲の取得、プレイリスト管理ツールをMCPクライアントに公開します。TIDAL認証にはブラウザ経由のOAuthフローを使用します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ibeal-tidal": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TIDAL_MCP_PORT",
"ghcr.io/ibeal/tidal-mcp:latest"
],
"env": {
"TIDAL_MCP_PORT": "<TIDAL_MCP_PORT>"
}
}
}
}
起動コマンドdocker run -i --rm -e TIDAL_MCP_PORT ghcr.io/ibeal/tidal-mcp:latest
設定が必要な環境変数
TIDAL_MCP_PORTPort for the TIDAL API Flask server (default: 5050)

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

パッケージ
ocighcr.io/ibeal/tidal-mcp:latest

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

🎵 TIDAL MCP(コミュニティメンテナンス版フォーク)

📢 メンテナンス継続のお知らせ:これは、yuhuacheng/tidal-mcp のコミュニティメンテナンス版フォークです。 元のリポジトリは、2025 年 5 月以降メンテナンスされていないようです。こちらでは、コントリビューション、Issue、PR を歓迎しています!

積極的に開発中 Docker サポート Python 3.10 以降 MCP 対応

デモ:音楽のおすすめを利用している様子

多くの音楽プラットフォームには、「デイリー・ディスカバリー」や「トップアーティスト」、「新着」などのおすすめ機能があります。しかし、最先端のシステムであっても、おすすめが「集約されすぎている」と感じることがよくあります。もっと個人に合わせた、状況を考慮したものが欲しいと思っていました。

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(推奨)
  1. このリポジトリをクローンします。

    git clone https://github.com/ibeal/tidal-mcp.git
    cd tidal-mcp
    
  2. 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 で利用できます。

  3. ポートを変更するには、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 インストール
  1. このリポジトリをクローンします。

    git clone https://github.com/ibeal/tidal-mcp.git
    cd tidal-mcp
    
  2. uv を使って仮想環境を作成し、依存関係をインストールします。

    uv venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. 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"
      }
    }
  }
}

セットアップ:

  1. Docker イメージをビルドします。

    docker build -t tidal-mcp .
    
  2. 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 に保存されます。

  3. 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 設定例のスクリーンショット: Claude MCP Configuration

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 設定をインストールする手順
  1. ~/.cursor/mcp.json に MCP 設定ファイルを作成するか、編集します
  2. 上記の TIDAL Integration 設定を追加します
  3. 実際のプロジェクトの場所に合わせてパスを更新します
  4. ファイルを保存します
  5. 新しい MCP サーバーを読み込むため、Cursor を再起動します
Claude Desktop に MCP 設定をインストールする手順
  1. Claude Desktop を開きます
  2. 「Settings」>「Developer」に移動します
  3. 「Edit Config」をクリックします
  4. 編集した JSON 設定を貼り付けます
  5. 設定を保存します
  6. 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:プレイリストを指定して検索します

ライセンス

MIT License

コントリビューション

このプロジェクトはコミュニティによるフォークで、積極的にメンテナンスされています。コントリビューションを歓迎します!

  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

謝辞

元のプロジェクト:

コントリビューター:

ライブラリとフレームワーク:

コメント

MCP は初めてですか?

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

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