mcpField
S
spotify_mcp

spotify_mcp

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

spotify_mcp について

spotify_mcpは、Spotify APIに接続し、再生操作やユーザーデータへのアクセスを可能にするMCPサーバーです。再生制御、プレイリスト再生、キュー管理、再生履歴の統計に対応します。

主な機能

  1. 01楽曲の再生と操作
  2. 02ユーザーやSpotifyのプレイリスト再生
  3. 03再生キューの管理
  4. 04最近再生した楽曲の確認
  5. 05期間別の再生上位曲の確認

活用シーン

  1. 01MCPクライアントからSpotifyの再生を操作
  2. 02ユーザーのプレイリストやお気に入り曲を再生
  3. 03再生履歴やよく聴く曲を確認

MCP 対応

Spotify APIのツールとリソースをMCP経由で公開し、対応クライアントからの再生操作とユーザーデータへのアクセスを可能にします。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

spotify_mcp

プロジェクトの説明

このプロジェクトは、Model Context Protocol(MCP)を使用して構築された Spotify 統合機能です。Spotify API とやり取りするためのツールとリソースを提供し、MCP フレームワークを通じて再生の操作やユーザーデータへのアクセスなどを可能にします。

セットアップ

このプロジェクトを起動するには、次の手順に従ってください。

  1. リポジトリをクローンします:

    git clone https://github.com/jmoro0408/spotify_mcp.git
    cd spotify_mcp
    
  2. 仮想環境をセットアップします(推奨):

    python -m venv .venv
    source .venv/bin/activate
    
  3. 依存関係をインストールします:

    uv sync
    
  4. Spotify API の認証情報をセットアップします:

    • Spotify Developer Dashboard にアクセスします。
    • ログインして新しいアプリケーションを作成します。
    • Client ID と Client Secret を控えておきます。
    • リダイレクト URI を追加します。ローカル開発では、http://localhost:8888/callback が一般的に使用されます。
    • プロジェクトのルートディレクトリに .env ファイルを作成し、次の内容を記述します。
      SPOTIPY_CLIENT_ID='YOUR_CLIENT_ID'
      SPOTIPY_CLIENT_SECRET='YOUR_CLIENT_SECRET'
      SPOTIPY_REDIRECT_URI='YOUR_REDIRECT_URI'
      
      プレースホルダーの値を実際の認証情報とリダイレクト URI に置き換えてください。
  5. サーバーを実行します:

    python src/server.py
    

    これにより MCP サーバーが起動し、Spotify のツールとリソースを利用できるようになります。

使用方法

サーバーを起動して設定すると、定義済みの MCP ツールを通じて Spotify API とやり取りできます。MCP ツールを操作する具体的な方法は、使用する MCP 対応のクライアントアプリケーションまたはフレームワークによって異なります。

Claude を MCP クライアントとして使用する場合は、claude_desktop_config.json を編集して次の内容を追加します。

{
  "mcpServers": {
    "Spotify_MCP": {
      "command": "<FULL_UV_PATH>",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "--with",
        "spotipy",
        "mcp",
        "run",
        <FULL_PATH_TO_MAIN.py>
      ],
      "env": {
        "SPOTIFY_CLIENT_ID": "<CLIENT_ID>",
        "SPOTIFY_CLIENT_SECRET": "<CLIENT_SECRET>",
        "SPOTIFY_REDIRECT_URI": "<REDIRECT_URI>"
      }
    }
  }
}

現在サポートされている操作

  1. 曲を再生する
  2. ユーザーのプレイリストを取得する
  3. ユーザーのプレイリストから再生する
  4. チャートなど、Spotify のプレイリストから再生する
  5. 再生を一時停止する
  6. 次の曲にスキップする
  7. 前の曲にスキップする
  8. シャッフルをオンにする
  9. シャッフルをオフにする
  10. ユーザーの「お気に入りの曲」を再生する
  11. 最近再生した曲を取得する
  12. キューに追加する
  13. 今週/今月/今年に最も再生した曲を取得する

実装予定

  1. プレイリストに曲を追加する
  2. プレイリストにトラックを追加する
  3. プレイリストを作成する
  4. 最近人気の曲を取得する。たとえば、最近知って何度も再生している曲などです。
  5. LLM を活用したプレイリストを生成する。たとえば、「最近のお気に入りのアーティストをもとに、ダンスワークアウト用のプレイリストを作成する」などです。

プロジェクト構成

  • src/auth.py:Spotify API の認証を処理します。
  • src/main.py:アプリケーションの主要なエントリーポイントまたは中核ロジックです。
  • src/resources.py:Spotify データにアクセスするための MCP リソースを定義します。
  • src/server.py:MCP サーバーの実装です。
  • src/tools.py:Spotify API とやり取りするための MCP ツールを定義します(上記のサポート対象操作)。
  • src/utils.py:プロジェクト全体で使用するユーティリティ関数です。

コメント

MCP は初めてですか?

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

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