Skip to main content
Glama
llyfn

mcp-server-spotify

Spotify MCPサーバー

PyPI

Model Context Protocol (MCP)サーバーで、Spotify Web APIと連携するためのツールを提供します。ClaudeのようなAIアシスタントが音楽の検索、再生制御、プレイリスト管理などを行えるようになります。

機能

  • 検索 - トラック、アルバム、アーティスト、プレイリスト、番組、エピソード、オーディオブックの検索

  • 再生制御 - 再生、一時停止、スキップ、シーク、音量調整、シャッフル、リピート、キュー管理

  • プレイリスト - 作成、更新、トラックの追加/削除/並べ替え

  • ライブラリ - 保存済みトラック、アルバム、番組、エピソード、オーディオブックの表示と管理

  • ブラウズ - アルバム詳細、アーティスト情報、トラックメタデータの取得

  • ポッドキャスト & オーディオブック - 番組、エピソード、オーディオブック、チャプターのブラウズ

  • ユーザープロフィール - プロフィール、トップアーティスト/トラック、フォロー中のアーティストの表示

  • 44種類のツール - 非推奨ではないSpotify Web APIエンドポイントを網羅

前提条件

  • uvcurl -LsSf https://astral.sh/uv/install.sh | sh でインストール

  • Spotify Developer アカウント

  • Client IDとClient Secretを持つSpotifyアプリ

Spotify認証情報の取得

  1. Spotify Developer Dashboard にアクセス

  2. Create App をクリック

  3. アプリの詳細を入力:

    • App name: 任意の名前 (例: "My MCP Server")

    • App description: 任意

    • Redirect URI: http://127.0.0.1:8888/callback

    • Which API/SDKs are you planning to use?: Web API を選択

  4. Save をクリック

  5. アプリのページで Client ID を確認

  6. 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 ID

SPOTIFY_CLIENT_SECRET

はい

SpotifyアプリのClient Secret

SPOTIFY_REDIRECT_URI

いいえ

http://127.0.0.1:8888/callback

OAuthリダイレクトURI

認証

このサーバーはSpotifyの Authorization Code フローを使用します:

  1. 初回使用時、サーバーがブラウザでSpotifyのログインページを開きます

  2. Spotifyがアクセス許可を求めます — サーバーはツールセット全体(再生、ライブラリ、プレイリスト、ユーザーデータ)に必要なすべてのスコープを要求します

  3. 承認後、Spotifyはローカルのコールバックサーバーにリダイレクトします

  4. サーバーは認証コードをアクセストークン/リフレッシュトークンと交換します

  5. トークンは ~/.spotify-mcp/credentials.json に安全に保存されます

  6. トークンは期限切れになると自動的に更新されます

ヘッドレス環境(SSH、Docker)で実行する場合、認証URLがstderrに出力されます。それをコピーして手動でブラウザに貼り付けてください。

再認証

再認証が必要な場合(アクセスを取り消した後など)、保存された認証情報を削除してください:

rm ~/.spotify-mcp/credentials.json

利用可能なツール

検索

ツール

説明

search

トラック、アルバム、アーティスト、プレイリスト、番組、エピソード、オーディオブックの検索

アルバム

ツール

説明

get_album

IDによるアルバム詳細の取得

get_album_tracks

アルバム内のトラック取得

アーティスト

ツール

説明

get_artist

IDによるアーティスト詳細の取得

get_artist_albums

アーティストのアルバム取得

トラック

ツール

説明

get_track

IDによるトラック詳細の取得

プレイリスト

ツール

説明

get_playlist

プレイリスト詳細の取得

update_playlist

プレイリスト名、説明、公開設定の更新

get_playlist_items

プレイリスト内のアイテム取得

add_playlist_items

プレイリストへのトラック/エピソードの追加

remove_playlist_items

プレイリストからのアイテム削除

reorder_playlist_items

プレイリスト内のアイテム並べ替え

get_my_playlists

現在のユーザーのプレイリスト取得

create_playlist

新しいプレイリストの作成

ライブラリ

ツール

説明

get_saved_tracks

保存済みトラックの取得

get_saved_albums

保存済みアルバムの取得

get_saved_shows

保存済み番組の取得

get_saved_episodes

保存済みエピソードの取得

get_saved_audiobooks

保存済みオーディオブックの取得

save_to_library

ライブラリへのアイテム保存

remove_from_library

ライブラリからのアイテム削除

check_saved_in_library

アイテムがライブラリにあるか確認

プレイヤー

ツール

説明

get_playback_state

現在の再生状態の取得

get_currently_playing

現在再生中のトラック取得

play

再生の開始または再開

pause

再生の一時停止

next_track

次のトラックへスキップ

previous_track

前のトラックへスキップ

seek

トラック内の位置へシーク

set_repeat

リピートモードの設定 (track/context/off)

set_volume

再生音量の設定

toggle_shuffle

シャッフルモードの切り替え

transfer_playback

他のデバイスへの再生転送

get_devices

利用可能なデバイスの取得

add_to_queue

再生キューへのアイテム追加

get_queue

再生キューの取得

get_recently_played

最近再生したトラックの取得

番組 & ポッドキャスト

ツール

説明

get_show

番組詳細の取得

get_show_episodes

番組のエピソード取得

オーディオブック

ツール

説明

get_audiobook

オーディオブック詳細の取得

get_audiobook_chapters

オーディオブックのチャプター取得

get_chapter

チャプター詳細の取得

ユーザー

ツール

説明

get_my_profile

現在のユーザーのプロフィール取得

get_my_top_items

トップアーティストまたはトラックの取得

アーティスト/ユーザーのフォローには、同じ save_to_library / remove_from_library / check_saved_in_library ツールを使用します — アーティストまたはユーザーのURIを渡してください。

コントリビューション

開発環境のセットアップとガイドラインについては CONTRIBUTING.md を参照してください。

ライセンス

MIT - 詳細は LICENSE を参照してください。

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)

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