Spotify MCP Server logo

Spotify MCP Server

シェア
その他Spotify音楽プレイリストエンタメストリーミング
最終確認:
2026-05-25
ライセンス:
MIT
無料で使えるオープンソースです(商用利用も可)

Spotify とは

Spotify は、世界 1 億 8,000 万曲以上を擁する世界最大級の音楽ストリーミングサービスです。スマホ・PC・スマートスピーカーまで多様なデバイスで楽曲再生・プレイリスト共有・パーソナル推薦が使え、無料プランでも広告付きで全曲再生可能です。

楽曲データだけでなく、ユーザーの聴取履歴・気分・時間帯に応じた個別最適化された推薦エンジンが強みで、世界中で月間 5 億人以上が利用しています。Spotify Developer Dashboard 経由で Web API を一般公開しており、外部アプリから再生制御や検索を呼び出すことができます。

音楽体験 × AI でできること

この MCP サーバーを導入すると、楽曲操作・プレイリスト管理を AI への一言で完結できます。

🎵 再生コントロール

「集中できるインストゥルメンタル音楽を流して」
→ 楽曲選択 + 再生開始

📋 プレイリスト自動生成

「The Beatles の人気曲トップ 10 をプレイリストに」
→ 楽曲検索 + プレイリスト作成 + 楽曲追加

🔍 楽曲・アーティスト検索

「ジャズで雨の日に合う曲を 5 曲教えて」
→ 条件検索 + 結果整形

📊 視聴傾向を振り返る

「最近よく聴いた曲とアーティストを教えて」
→ Top Tracks / Top Artists を取得

提供される主なツール

Spotify MCP Server は、Spotify Web API を MCP プロトコル経由でラップしています(README 明記範囲)。

機能カテゴリ主な操作
再生コントロール再生 / 一時停止 / スキップ / 音量・シャッフル・リピート / キュー追加(対象デバイスは device_id で指定可・Premium 必須)
プレイリスト管理プレイリスト作成 / 楽曲追加 / 楽曲削除 / 編集
楽曲検索キーワード検索 / ジャンル絞り込み / アーティスト・アルバム検索
ユーザーデータTop Tracks(よく聴く曲)/ Top Artists(よく聴くアーティスト)

個別 API 名について: ツールの正式名称・引数は公式リポジトリ でご確認ください。

Spotify MCP Server について

Spotify MCP Server は、コミュニティ開発者 calebWei が公開する MCP サーバーです(リポジトリ: calebWei/SpotifyMCP、npm パッケージ: spotify-mcp)。Spotify Web API を MCP プロトコル経由で利用できるようラップしています。TypeScript / Node.js 実装npx から起動します。

初回のみ npx spotify-mcp@latest auth で OAuth 認証を実行し、トークンは ~/.spotify-mcp/tokens.json に自動保存されます。Client Secret や Redirect URI を MCP 設定に書く必要はなく、Client ID のみで動くのが特徴です。「気分に合う曲を検索して流して」「お気に入りの曲をプレイリストにまとめて」など、自然言語の音楽オペレーションを実現します。

スペック

  • 配布形態: npm パッケージ(spotify-mcp)+ npx ランナー
  • 認証: OAuth(初回 npx spotify-mcp@latest auth 経由)/ 環境変数は SPOTIFY_CLIENT_ID のみ
  • トークン保存先: ~/.spotify-mcp/tokens.json(自動)
  • 提供元: コミュニティ(calebWei)/ MIT
  • 対応範囲: 再生コントロール(Premium 必須)・プレイリスト管理・楽曲検索・Top Tracks/Artists
  • 公式リポジトリ: github.com/calebWei/SpotifyMCP

別実装について: Python 実装の varunneal/spotify-mcp も存在しますが、2026 年 3 月以降メンテナンスが停滞しています。現状アクティブに更新されている npm 版(calebWei 製)を本ページでは推奨しています。

導入手順

前提条件

  • Node.js 18 以上
  • Spotify Premium アカウント(再生制御に必須。検索・プレイリスト編集・視聴履歴は無料でも可)
  • Spotify Developer Dashboard でのアプリ作成(Client ID 取得)

ステップ

  1. Spotify Developer Dashboard でアプリを作成し、Client ID を取得
  2. アプリ設定の Redirect URIhttp://127.0.0.1:8888/callback を追加(README の最新値を確認)
  3. ターミナルで初回認証を実行:
    SPOTIFY_CLIENT_ID=<your_client_id> npx spotify-mcp@latest auth
    
    ブラウザが開いて Spotify ログイン → 許可で完了
  4. ページ上部のタブから使用環境(Claude Desktop / Cursor / Cline)を選択し、JSON 設定をコピー
  5. <YOUR_SPOTIFY_CLIENT_ID> を取得した Client ID に置き換え
  6. 設定ファイル(claude_desktop_config.json など)に追記して保存
  7. クライアントを再起動

動作確認: 「今かかっている曲を教えて」と話しかけてみてください。

注意事項

  • 再生コントロール(再生・スキップ等)には、Spotify アプリが起動した「アクティブデバイス」が必須です。スマホでも PC でも構いませんが、必ずどこかで Spotify を開いておく必要があります。
  • Client ID は MCP 設定や .env ファイルに記載しても問題ありませんが、共有・公開する際は除外してください。Client Secret は本 MCP では使いません。
  • Spotify の再生制御 API(再生・一時停止・スキップ・キュー追加・シャッフル・音量等)は Spotify Premium アカウントが必須です。無料アカウントではこれらの操作は 403 エラーになります(楽曲検索・プレイリスト編集・Top Tracks/Artists 等の参照系は無料でも利用可)。
  • 推薦(Recommendations)・関連アーティスト・Featured Playlists 系の Spotify Web API は、2024 年 11 月以降に新規作成したアプリでは利用できません(Spotify の API 仕様変更)。本ページの手順で新規 Developer アプリを作成した場合、これらに依存する「似た曲・似たアーティストの提案」は動作しません。検索・プレイリスト編集・Top Tracks/Artists は利用できます。
  • 初回 OAuth 認証時にブラウザが起動します。ヘッドレス環境(CI / リモートサーバー)では事前に手元の PC で認証してトークンを生成し、~/.spotify-mcp/tokens.json をコピーする運用が必要です。

設定方法

MCP は、お使いの対応アプリ(クライアント)に下記の設定を貼り付けて使います。 タブからアプリを選び、表示された設定をコピーしてください。

Claude Desktop: Anthropic 公式のデスクトップ版 Claude アプリ

{
  "mcpServers": {
    "spotify": {
      "command": "npx",
      "args": ["-y", "spotify-mcp@latest"],
      "env": {
        "SPOTIFY_CLIENT_ID": "<YOUR_SPOTIFY_CLIENT_ID>"
      }
    }
  }
}

主なユースケース

  1. 「集中作業用の BGM プレイリストを作って再生して」と頼むだけで、ジャンルやムードに合わせて AI が選曲・再生まで一気通貫
  2. 「最近よく聴いているアーティストとトップ曲を教えて」と視聴傾向を振り返り、次の選曲の参考にできる
  3. 「今の気分に合う音楽をかけて」と言うだけで、会話の文脈から AI が適切なプレイリストを選び再生する
  4. 「The Beatles の人気曲トップ 10 を新規プレイリストに入れて再生して」のような複合タスクを 1 ステップで完結

プラットフォーム別の注意事項

  • Windows初回認証時にブラウザが起動します。Windows のファイアウォールで `localhost` のコールバックがブロックされていないか確認してください。
  • プロキシ環境OAuth 認証フローはブラウザを経由します。プロキシ環境では Spotify のドメイン(`accounts.spotify.com` / `api.spotify.com`)が許可されている必要があります。