← Back to directory
S

Spotify Streamable MCP Server

Community
MCP server for Spotify—search music, control playback, manage playlists and saved tracks.
GitHub source repository ↗
★ 79 Stars Category · Other Popular Source revision b79e4d81149c
61FMRS · C
Reliability
8/20
Security and permissions
14/20
Maintenance
9/20
Documentation
17/20
Setup experience
13/20

This server provides a practical MCP integration for Spotify with batch operations and clear feedback. However, note that it targets a candidate MCP version and requires careful handling of OAuth and security configuration.

Read the FMRS scoring method →

This server provides access to the Spotify API via MCP. It allows AI assistants to search for music, control playback (play, pause, skip, volume, etc.), transfer devices, manage playlists, and save/unsave tracks. It uses OAuth 2.1 proxy for authentication and supports both Bun and Cloudflare Workers runtimes. Note: the repository targets the candidate MCP protocol (2026-07-28) and SDK 2.0.0-beta.5; it is not yet conformant to a final dated release.

Tools

search_catalog
Search tracks, artists, albums, or playlists.
player_status
Get current player state, devices, queue, and current track.
spotify_control
Batch control playback (play, pause, next, previous, seek, volume, shuffle, repeat, transfer, queue).
spotify_playlist
Manage playlists (list, get, items, create, update, add/remove items, reorder).
spotify_library
Manage saved tracks (get, add, remove, contains).

Setup

  1. Clone the repository and navigate to the directory.
  2. Run bun install to install dependencies.
  3. Copy .env.example to .env and fill in Spotify client ID/secret, OAuth redirect URIs, etc.
  4. Register redirect URIs in the Spotify Developer Dashboard.
  5. Run bun dev to start the server.
  6. For Claude Desktop, use the provided configuration example.
claude_desktop_config.json
{
  "mcpServers": {
    "spotify": {
      "command": "bunx",
      "args": [
        "mcp-remote",
        "http://127.0.0.1:3000/mcp",
        "--transport",
        "http-only"
      ],
      "env": {
        "NO_PROXY": "127.0.0.1,localhost"
      }
    }
  }
}

Fit and risk

Best for

  • Developers who want to integrate Spotify playback control into AI assistants or workflows
  • Scenarios requiring voice control of music
  • Agents that need batch processing of music searches and playlist operations

Not for

  • Scenarios that require a stable, final MCP protocol version (currently targets candidate)
  • Users who do not want to configure OAuth and Spotify API credentials
  • Developers needing fine-grained access to the full raw Spotify API

Required permissions

  • Read playback state, modify playback control (play, pause, skip, volume, etc.)
  • Read and modify playlists (private, collaborative, public)
  • Read and modify saved tracks in the user library
  • Access current track and device information

Risks and side effects

  • OAuth tokens stored in file or KV; security risk if not encrypted
  • Requires correct device ID; playback control may fail if wrong
  • Playback behavior depends on Spotify account type (free may be limited) and Premium service
  • Since targeting MCP candidate version, protocol compatibility may change over time

Troubleshooting

  1. If "Device not found", check if using device ID instead of name
  2. If "No active device", ensure Spotify is open on a device
  3. If "Unauthorized", redo OAuth flow or check if token expired
  4. If "Rate limited", wait and retry

Use cases

Find music via natural language, e.g., "play the soundtrack from [movie]" or "create a playlist that matches my mood"
Voice control of playback, e.g., "pause" or "next"
Batch manage playlists, such as adding or removing multiple tracks
Check current playback status and device information

Supported clients

Claude DesktopFull support