mcp-server-spotify
Spotify MCPサーバー
Model Context Protocol (MCP)サーバーで、Spotify Web APIと連携するためのツールを提供します。ClaudeのようなAIアシスタントが音楽の検索、再生制御、プレイリスト管理などを行えるようになります。
機能
検索 - トラック、アルバム、アーティスト、プレイリスト、番組、エピソード、オーディオブックの検索
再生制御 - 再生、一時停止、スキップ、シーク、音量調整、シャッフル、リピート、キュー管理
プレイリスト - 作成、更新、トラックの追加/削除/並べ替え
ライブラリ - 保存済みトラック、アルバム、番組、エピソード、オーディオブックの表示と管理
ブラウズ - アルバム詳細、アーティスト情報、トラックメタデータの取得
ポッドキャスト & オーディオブック - 番組、エピソード、オーディオブック、チャプターのブラウズ
ユーザープロフィール - プロフィール、トップアーティスト/トラック、フォロー中のアーティストの表示
44種類のツール - 非推奨ではないSpotify Web APIエンドポイントを網羅
前提条件
uv —
curl -LsSf https://astral.sh/uv/install.sh | shでインストールSpotify Developer アカウント
Client IDとClient Secretを持つSpotifyアプリ
Spotify認証情報の取得
Create App をクリック
アプリの詳細を入力:
App name: 任意の名前 (例: "My MCP Server")
App description: 任意
Redirect URI:
http://127.0.0.1:8888/callbackWhich API/SDKs are you planning to use?: Web API を選択
Save をクリック
アプリのページで Client ID を確認
Show client secret をクリックして Client Secret を表示
重要: リダイレクトURIは
http://127.0.0.1:8888/callback(またはSPOTIFY_REDIRECT_URIに設定したもの) と完全に一致している必要があります。localhostは使用せず、127.0.0.1を使用してください。
インストール
以下のクライアントから選択してください。すべての例で uvx を使用してサーバーをオンデマンドで取得するため、クローンや手動インストールは不要です。
Claude Code
claude mcp add spotify \
-e SPOTIFY_CLIENT_ID=your_client_id \
-e SPOTIFY_CLIENT_SECRET=your_client_secret \
-- uvx mcp-server-spotifyその他のMCPクライアント
ほとんどのMCPクライアントはJSONファイルでサーバーを設定します。クライアントのMCP設定に以下のエントリを追加してください:
{
"mcpServers": {
"spotify": {
"command": "uvx",
"args": ["mcp-server-spotify"],
"env": {
"SPOTIFY_CLIENT_ID": "your_client_id",
"SPOTIFY_CLIENT_SECRET": "your_client_secret"
}
}
}
}ローカルチェックアウトからの実行
開発用、または修正版を実行したい場合:
git clone https://github.com/llyfn/spotify-mcp.git
cd spotify-mcp && uv syncその後、uvx の代わりにローカルのチェックアウト先をクライアントに指定します:
"command": "uv",
"args": ["--directory", "/absolute/path/to/spotify-mcp", "run", "mcp-server-spotify"]設定
変数 | 必須 | デフォルト | 説明 |
| はい | — | SpotifyアプリのClient ID |
| はい | — | SpotifyアプリのClient Secret |
| いいえ |
| OAuthリダイレクトURI |
認証
このサーバーはSpotifyの Authorization Code フローを使用します:
初回使用時、サーバーがブラウザでSpotifyのログインページを開きます
Spotifyがアクセス許可を求めます — サーバーはツールセット全体(再生、ライブラリ、プレイリスト、ユーザーデータ)に必要なすべてのスコープを要求します
承認後、Spotifyはローカルのコールバックサーバーにリダイレクトします
サーバーは認証コードをアクセストークン/リフレッシュトークンと交換します
トークンは
~/.spotify-mcp/credentials.jsonに安全に保存されますトークンは期限切れになると自動的に更新されます
ヘッドレス環境(SSH、Docker)で実行する場合、認証URLがstderrに出力されます。それをコピーして手動でブラウザに貼り付けてください。
再認証
再認証が必要な場合(アクセスを取り消した後など)、保存された認証情報を削除してください:
rm ~/.spotify-mcp/credentials.json利用可能なツール
検索
ツール | 説明 |
| トラック、アルバム、アーティスト、プレイリスト、番組、エピソード、オーディオブックの検索 |
アルバム
ツール | 説明 |
| IDによるアルバム詳細の取得 |
| アルバム内のトラック取得 |
アーティスト
ツール | 説明 |
| IDによるアーティスト詳細の取得 |
| アーティストのアルバム取得 |
トラック
ツール | 説明 |
| IDによるトラック詳細の取得 |
プレイリスト
ツール | 説明 |
| プレイリスト詳細の取得 |
| プレイリスト名、説明、公開設定の更新 |
| プレイリスト内のアイテム取得 |
| プレイリストへのトラック/エピソードの追加 |
| プレイリストからのアイテム削除 |
| プレイリスト内のアイテム並べ替え |
| 現在のユーザーのプレイリスト取得 |
| 新しいプレイリストの作成 |
ライブラリ
ツール | 説明 |
| 保存済みトラックの取得 |
| 保存済みアルバムの取得 |
| 保存済み番組の取得 |
| 保存済みエピソードの取得 |
| 保存済みオーディオブックの取得 |
| ライブラリへのアイテム保存 |
| ライブラリからのアイテム削除 |
| アイテムがライブラリにあるか確認 |
プレイヤー
ツール | 説明 |
| 現在の再生状態の取得 |
| 現在再生中のトラック取得 |
| 再生の開始または再開 |
| 再生の一時停止 |
| 次のトラックへスキップ |
| 前のトラックへスキップ |
| トラック内の位置へシーク |
| リピートモードの設定 (track/context/off) |
| 再生音量の設定 |
| シャッフルモードの切り替え |
| 他のデバイスへの再生転送 |
| 利用可能なデバイスの取得 |
| 再生キューへのアイテム追加 |
| 再生キューの取得 |
| 最近再生したトラックの取得 |
番組 & ポッドキャスト
ツール | 説明 |
| 番組詳細の取得 |
| 番組のエピソード取得 |
オーディオブック
ツール | 説明 |
| オーディオブック詳細の取得 |
| オーディオブックのチャプター取得 |
| チャプター詳細の取得 |
ユーザー
ツール | 説明 |
| 現在のユーザーのプロフィール取得 |
| トップアーティストまたはトラックの取得 |
アーティスト/ユーザーのフォローには、同じ
save_to_library/remove_from_library/check_saved_in_libraryツールを使用します — アーティストまたはユーザーのURIを渡してください。
コントリビューション
開発環境のセットアップとガイドラインについては CONTRIBUTING.md を参照してください。
ライセンス
MIT - 詳細は LICENSE を参照してください。
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/llyfn/spotify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server