spotify_mcp について
spotify_mcpは、Spotify APIに接続し、再生操作やユーザーデータへのアクセスを可能にするMCPサーバーです。再生制御、プレイリスト再生、キュー管理、再生履歴の統計に対応します。
主な機能
- 01楽曲の再生と操作
- 02ユーザーやSpotifyのプレイリスト再生
- 03再生キューの管理
- 04最近再生した楽曲の確認
- 05期間別の再生上位曲の確認
活用シーン
- 01MCPクライアントからSpotifyの再生を操作
- 02ユーザーのプレイリストやお気に入り曲を再生
- 03再生履歴やよく聴く曲を確認
MCP 対応
Spotify APIのツールとリソースをMCP経由で公開し、対応クライアントからの再生操作とユーザーデータへのアクセスを可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
spotify_mcp
プロジェクトの説明
このプロジェクトは、Model Context Protocol(MCP)を使用して構築された Spotify 統合機能です。Spotify API とやり取りするためのツールとリソースを提供し、MCP フレームワークを通じて再生の操作やユーザーデータへのアクセスなどを可能にします。
セットアップ
このプロジェクトを起動するには、次の手順に従ってください。
-
リポジトリをクローンします:
git clone https://github.com/jmoro0408/spotify_mcp.git cd spotify_mcp -
仮想環境をセットアップします(推奨):
python -m venv .venv source .venv/bin/activate -
依存関係をインストールします:
uv sync -
Spotify API の認証情報をセットアップします:
- Spotify Developer Dashboard にアクセスします。
- ログインして新しいアプリケーションを作成します。
Client IDとClient Secretを控えておきます。- リダイレクト URI を追加します。ローカル開発では、
http://localhost:8888/callbackが一般的に使用されます。 - プロジェクトのルートディレクトリに
.envファイルを作成し、次の内容を記述します。
プレースホルダーの値を実際の認証情報とリダイレクト URI に置き換えてください。SPOTIPY_CLIENT_ID='YOUR_CLIENT_ID' SPOTIPY_CLIENT_SECRET='YOUR_CLIENT_SECRET' SPOTIPY_REDIRECT_URI='YOUR_REDIRECT_URI'
-
サーバーを実行します:
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>"
}
}
}
}
現在サポートされている操作
- 曲を再生する
- ユーザーのプレイリストを取得する
- ユーザーのプレイリストから再生する
- チャートなど、Spotify のプレイリストから再生する
- 再生を一時停止する
- 次の曲にスキップする
- 前の曲にスキップする
- シャッフルをオンにする
- シャッフルをオフにする
- ユーザーの「お気に入りの曲」を再生する
- 最近再生した曲を取得する
- キューに追加する
- 今週/今月/今年に最も再生した曲を取得する
実装予定
- プレイリストに曲を追加する
- プレイリストにトラックを追加する
- プレイリストを作成する
- 最近人気の曲を取得する。たとえば、最近知って何度も再生している曲などです。
- 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:プロジェクト全体で使用するユーティリティ関数です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。