設定方法
MCP は、お使いの対応アプリ(クライアント)に下記の設定を貼り付けて使います。 タブからアプリを選び、表示された設定をコピーしてください。
Claude Desktop / Claude Code: Claude Desktop(公式デスクトップアプリ)と Claude Code(公式CLI)は同じ JSON を使います。Desktop は設定ファイルに貼り付け、Claude Code は `.mcp.json` に記述するか `claude mcp add` で追加します。
{
"mcpServers": {
"spotify": {
"command": "uvx",
"args": ["spotify-mcp-jamiew"],
"env": {
"SPOTIFY_CLIENT_ID": "<YOUR_SPOTIFY_CLIENT_ID>",
"SPOTIFY_CLIENT_SECRET": "<YOUR_SPOTIFY_CLIENT_SECRET>",
"SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8888"
}
}
}
}
Cursor: AI 機能を内蔵したコードエディタ(`~/.cursor/mcp.json` に記述)
{
"mcpServers": {
"spotify": {
"command": "uvx",
"args": ["spotify-mcp-jamiew"],
"env": {
"SPOTIFY_CLIENT_ID": "<YOUR_SPOTIFY_CLIENT_ID>",
"SPOTIFY_CLIENT_SECRET": "<YOUR_SPOTIFY_CLIENT_SECRET>",
"SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8888"
}
}
}
}
Cline: VS Code に追加する AI アシスタント拡張(設定画面の MCP Servers から記述)
{
"mcpServers": {
"spotify": {
"command": "uvx",
"args": ["spotify-mcp-jamiew"],
"env": {
"SPOTIFY_CLIENT_ID": "<YOUR_SPOTIFY_CLIENT_ID>",
"SPOTIFY_CLIENT_SECRET": "<YOUR_SPOTIFY_CLIENT_SECRET>",
"SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8888"
}
}
}
}
Gemini CLI: Google の AI CLI。設定形式は Claude Desktop と同じで、`~/.gemini/settings.json` の `mcpServers` に記述するか `gemini mcp add` で追加します。
{
"mcpServers": {
"spotify": {
"command": "uvx",
"args": ["spotify-mcp-jamiew"],
"env": {
"SPOTIFY_CLIENT_ID": "<YOUR_SPOTIFY_CLIENT_ID>",
"SPOTIFY_CLIENT_SECRET": "<YOUR_SPOTIFY_CLIENT_SECRET>",
"SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8888"
}
}
}
}
OpenAI Codex: OpenAI の CLI/IDE。設定は TOML 形式で `~/.codex/config.toml` に記述します(下記は左の JSON から自動変換した参考値です)。
[mcp_servers.spotify]
command = "uvx"
args = ["spotify-mcp-jamiew"]
[mcp_servers.spotify.env]
SPOTIFY_CLIENT_ID = "<YOUR_SPOTIFY_CLIENT_ID>"
SPOTIFY_CLIENT_SECRET = "<YOUR_SPOTIFY_CLIENT_SECRET>"
SPOTIFY_REDIRECT_URI = "http://127.0.0.1:8888"VS Code: VS Code(GitHub Copilot のエージェント)。`mcp.json` の `servers` キーに記述します(下記は左の JSON から自動変換した参考値です)。
{
"servers": {
"spotify": {
"type": "stdio",
"command": "uvx",
"args": [
"spotify-mcp-jamiew"
],
"env": {
"SPOTIFY_CLIENT_ID": "<YOUR_SPOTIFY_CLIENT_ID>",
"SPOTIFY_CLIENT_SECRET": "<YOUR_SPOTIFY_CLIENT_SECRET>",
"SPOTIFY_REDIRECT_URI": "http://127.0.0.1:8888"
}
}
}
}※ Gemini CLI は Claude Desktop と同じ mcpServers 形式のため同一の JSON を表示しています。Codex / VS Code タブの設定は、上記 JSON を各公式スキーマ(Codex=~/.codex/config.toml の TOML 形式 / VS Code=mcp.json の servers キー)へ 自動変換した参考値です。貼り付け前にお使いのバージョンの公式ドキュメントもご確認ください。
Spotify とは
Spotify は、世界最大級の音楽ストリーミングサービスです。スマホ・パソコン・スマートスピーカーなど多様な機器で楽曲再生・プレイリスト共有・好みに合わせたおすすめが使えます。
楽曲データだけでなく、聴取履歴や時間帯に応じた個別最適化されたおすすめが強みです。Spotify Developer Dashboard 経由で Web API を一般公開しており、外部のアプリから再生の操作や検索を呼び出せます。
これは公式提供ではなく、有志が作った非公式ツールです。
音楽体験 × AI でできること
この MCP サーバーを導入すると、楽曲の操作やプレイリスト管理を AI への一言で完結できます。
🎵 再生コントロール
「集中できるインストゥルメンタル音楽を流して」
→ 楽曲検索 + 再生開始
📋 プレイリストをまとめて作る
「作業用のチルなプレイリストを 20 曲で作って」
→ 検索 + プレイリスト作成 + 曲をまとめて追加
🔍 楽曲・アーティスト検索
「ジャズで雨の日に合う曲を 5 曲教えて」
→ 条件検索 + 結果整形
📊 視聴傾向を振り返る
「最近よく聴いた曲とアーティストを教えて」
→ よく聴く曲・アーティストを取得
提供される主なツール
公式リポジトリの一覧にあるツールは 25 種です。
今の状態を見る
| ツール名 | 役割 |
|---|---|
get_playback_state | 再生中の曲・機器・再生位置・シャッフル/リピートの状態 |
get_queue | 再生中の曲と、この後に控えている曲の一覧 |
list_devices | 使える Spotify Connect 対応機器の一覧 |
get_recently_played | 最近再生した曲を時刻つきで取得 |
get_top_items | 期間を指定して、よく聴くアーティストまたは曲を取得 |
get_me | ログイン中のユーザーのプロフィール |
探す
| ツール名 | 役割 |
|---|---|
search_music | 曲・アルバム・アーティスト・プレイリストを条件つきで検索 |
get_track_info | 曲の詳細(1 回の呼び出しで最大 50 曲までまとめて取得) |
get_artist_info | アーティストの詳細と、そのトップ曲(廃止された呼び出し先を使っており失敗する可能性あり。注意事項を参照) |
get_album_info | アルバムの詳細と収録曲 |
再生を操作する
| ツール名 | 役割 |
|---|---|
control_playback | 再生・一時停止・次へ・前へ・再生位置の移動・音量・シャッフル・リピート |
transfer_playback | 再生を別の機器に移す |
add_to_queue | 曲を再生待ちの列に追加 |
プレイリストを扱う
| ツール名 | 役割 |
|---|---|
get_user_playlists | 自分のプレイリスト一覧(分割して取得) |
get_playlist_info | プレイリストの情報だけを取得(曲は含まない) |
get_playlist_tracks | プレイリストの曲を取得(曲数が多くても分割して取得) |
create_playlist | プレイリストを新規作成 |
modify_playlist_details | 名前・説明・公開範囲の変更 |
add_tracks_to_playlist | 1 回の呼び出しで最大 100 曲まで追加 |
remove_tracks_from_playlist | 曲を削除(対応クライアントでは実行前に確認が入る) |
reorder_playlist_tracks | 曲のかたまりを別の位置へ移動 |
unfollow_playlist | プレイリストのフォローを外す(自分のプレイリストの「削除」にあたる操作) |
お気に入りを扱う
| ツール名 | 役割 |
|---|---|
get_saved_tracks | 「Liked Songs」を分割して取得 |
save_tracks | 曲を「Liked Songs」に追加 |
remove_saved_tracks | 曲を「Liked Songs」から外す |
曲をまとめて追加・削除できるのが特徴で、公式リポジトリは呼び出し回数を抑える設計であることを強みとして挙げています。
Spotify MCP Server について
このページで扱うのは、開発者 jamiew 氏が公開するコミュニティ製の MCP サーバーです(リポジトリ: jamiew/spotify-mcp、PyPI パッケージ: spotify-mcp-jamiew)。広く参照されている varunneal/spotify-mcp から派生したもので、まとめて処理するツールとプレイリスト機能が追加されています。
Python 実装で、uvx から 1 コマンドで起動します。初回利用時にブラウザが開いて Spotify の認証が行われ、以降はトークンが手元に保存されて再利用されます。
2026 年 2 月の仕様変更に対応しているかが分かれ目
Spotify は 2026 年 2 月に Web API を大きく変更し、開発モードのアプリでは一部の呼び出し先が置き換わりました(既存アプリの移行は 3 月 9 日)。変更前の呼び出し先のまま更新が止まっている実装では、プレイリスト作成などが失敗します。
このツールは、プレイリストの作成・曲の追加・お気に入りの操作について新旧どちらの方式かを自動で判定して切り替える作りになっており、変更前後のどちらのアプリでも動くよう手当てされています。
ただし編集部がソースを読んだかぎり、アーティスト情報の取得(get_artist_info)だけはこの切り替えの対象外で、廃止された呼び出し先をそのまま使っています(下の注意事項を参照)。
スペック
- 配布形態: PyPI パッケージ(
spotify-mcp-jamiew)+uvxランナー - バージョン: 0.4.1
- 認証: Spotify Developer アプリの Client ID / Client Secret を環境変数で渡し、初回にブラウザで認証
- 提供元: コミュニティ(jamiew)/ MIT
- 対応範囲: 再生操作・検索・再生待ちの列・プレイリスト管理・お気に入り・視聴傾向
- 公式リポジトリ: github.com/jamiew/spotify-mcp
別実装について: 派生元の
varunneal/spotify-mcpは最も広く参照されていますが、2026 年 3 月以降更新が止まっています。TypeScript 実装のmarcelmarais/spotify-mcp-serverも 2026 年 2 月の変更に対応していますが、配布パッケージがなく、リポジトリを取得して自分でビルドする必要があります。
導入手順
前提条件
- uv 0.54 以上
- Spotify Premium アカウント(2026 年 2 月以降、開発者アプリの所有者が Premium 契約中である必要があります)
- Spotify Developer Dashboard でのアプリ作成(Client ID と Client Secret)
uv のインストール
設定例の uvx は uv に含まれるコマンドのため、先に uv を入れておく必要があります。ターミナル(Windows は PowerShell)で次の 1 行を実行してください。
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows(PowerShell)
irm https://astral.sh/uv/install.ps1 | iex
ステップ
- Spotify Developer Dashboard でアプリを作成する
- アプリ設定の Redirect URI に
http://127.0.0.1:8888を追加する(設定例と完全に一致させる必要があります) - Client ID と Client Secret をコピーする
- ページ上部のタブから使用環境を選択し、JSON 設定をコピー
<YOUR_SPOTIFY_CLIENT_ID>と<YOUR_SPOTIFY_CLIENT_SECRET>を置き換える- 設定ファイル(
claude_desktop_config.jsonなど)に追記して保存 - クライアントを再起動
- 初回利用時にブラウザが開くので、Spotify にログインして許可する
Claude Code で使う場合: ワンコマンドで追加できます。
claude mcp add spotify \
-e SPOTIFY_CLIENT_ID=<YOUR_SPOTIFY_CLIENT_ID> \
-e SPOTIFY_CLIENT_SECRET=<YOUR_SPOTIFY_CLIENT_SECRET> \
-e SPOTIFY_REDIRECT_URI=http://127.0.0.1:8888 \
-- uvx spotify-mcp-jamiew
動作確認: 「今かかっている曲を教えて」と話しかけてみてください。
注意事項
- Spotify Premium が必須です。 2026 年 2 月以降、開発モードのアプリは所有者が Premium を契約している間だけ動作します。契約が切れるとアプリごと停止し、再契約すると復帰します。以前の「再生の操作だけ Premium が必要」という条件から変わっています。
- 作れるアプリの数と使える人数に上限があります。 新規は開発者 1 人あたり Client ID が 25 個まで(2026 年 2 月時点では 1 個・7 月に緩和)、1 つのアプリにつき利用者 5 人までです。それ以前から多く持っている場合はそのまま維持されます。
- リダイレクト URI に
localhostは使えません。http://127.0.0.1:8888のようにループバックアドレスで、設定例と一字一句同じ値を登録してください。 - 再生の操作には、Spotify アプリが起動した「アクティブな機器」が必要です。スマホでもパソコンでも構いませんが、どこかで Spotify を開いておく必要があります。
- Client Secret は秘密情報です。 設定ファイルに書く場合は、共有・公開の対象に含まれないよう注意してください。
- 検索で一度に取れる件数が減りました。 2026 年 2 月の変更で上限が 50 件から 10 件に、既定値が 20 件から 5 件になっています。たくさん候補を出したい場合は、AI に何回かに分けて検索するよう頼んでください。
get_artist_info(アーティスト情報の取得)は失敗する可能性があります。 Spotify は 2026 年 2 月に「アーティストのトップ曲」を取得する呼び出しを廃止しましたが、このツールのget_artist_infoは同機能をそのまま呼んでおり、新旧の自動切り替えの対象にも入っていません(2026 年 8 月 13 日にソースを読んで確認)。「このアーティストの人気曲トップ 10 を」といった依頼が通らない場合は、search_musicでアーティストの曲を検索する形に言い換えてください。- 曲やプレイリストを削除する操作が含まれます。AI に整理を任せるときは、対象のプレイリストを具体的に指定してください。
主なユースケース
- 「集中できる作業用のプレイリストを 20 曲で作って」と頼むだけで、選曲・プレイリスト作成・曲の追加までまとめて実行してくれる
- 「最近よく聴いているアーティストとトップ曲を教えて」と視聴傾向を振り返り、次の選曲の参考にできる
- 「お気に入りの最初の 50 曲を見せて」のように、曲数の多いプレイリストも分割して読み出せる
- 「今かかっている曲は何?」「次の曲にして」「音量を下げて」と、再生中の操作を会話のまま頼める
プラットフォーム別の注意事項
- Windows初回認証時にブラウザが起動します。Windows のファイアウォールで `127.0.0.1` へのコールバックがブロックされていないか確認してください。uv は PowerShell から導入できます。
- プロキシ環境認証はブラウザを経由します。プロキシ環境では Spotify のドメイン(`accounts.spotify.com` / `api.spotify.com`)が許可されている必要があります。