← Back to directory
S

Spotify MCP Server

Community
A lightweight MCP server for Spotify, enabling AI assistants to control playback and manage playlists.
Category
Other
Stars
★ 477 Very popular
Transport
stdio (local process)
Runtime
Node.js 16+
Credentials
API key / credential required
Last commit
Tools
27
38FMRS · D

This server offers rich Spotify control features, but requires users to configure and use it at their own risk.

Strongest · Setup experience 12/20 Weakest · Maintenance 2/20

Reliability
6/20
Security and permissions
6/20
Maintenance
2/20
Documentation
12/20
Setup experience
12/20
Why each score
Reliability 6/20
The review is limited to the README and repository metadata; no source code, server manifest, CI, or committed tests were supplied, so MCP initialization, tool-list handshake, and declared-vs-real tool behavior cannot be verified. The tool parameter tables appear coherent, making the happy path plausible, but error handling, edge cases, and reproducibility lack evidence, so the score is conservative.
Security and permissions 6/20
Without source code, credential flow, network calls, authorization scopes, and data boundaries cannot be audited. The README indicates that the OAuth client secret and access/refresh tokens are persisted in local spotify-config.json, with no mention of file permissions or least-privilege scopes. Destructive/modifying tools exist but require explicit user invocation. No malware, real secrets, or forced destructive defaults were found, so no red line is triggered; however, missing security evidence caps the score.
Maintenance 2/20
Metadata shows the repository is not archived, but there are 19 open issues, the license is unknown, and there is no evidence of commits, releases, dependency updates, or a security-response channel. Missing license and governance information are clear deductions, so the maintenance score is very low.
Documentation 12/20
The README provides tool descriptions, parameters, examples, installation steps, Spotify OAuth configuration, and client integration examples for Claude, Cursor, and Cline. It is fairly complete, but troubleshooting, known limitations, cost/permission boundaries, and license information are absent, and there is no source code to confirm that the documentation matches implementation.
Setup experience 12/20
The setup steps are clear, covering Node prerequisites, clone/build, Spotify Developer app creation, authentication, and mainstream client configuration examples. The documented path is complete. However, there is no CI or committed test evidence to prove it works end-to-end, and platform compatibility and manual OAuth fragility are not addressed; under the static calibration cap, setup cannot exceed 15, hence 12.

Static review · not runListed 2026-08-07

Read the FMRS scoring method →

Fit and risk

What it can accessUses the networkChanges third-party account data

Best for

  • Developers wanting to integrate Spotify control into AI assistants or custom apps.
  • Scenarios requiring quick implementation of playback, playlist management, volume adjustment, etc.
  • Users who already have a Spotify Premium account and a developer application.

Not for

  • Users without a Spotify Premium account, as some features (playback control, volume) require Premium.
  • Those expecting an officially supported or production-grade solution, as this server is third-party and unverified.
  • Remote access over HTTPS, as this server only supports stdio.

Required permissions

  • Access to user's Spotify data, including playlists, liked songs, recent playback.
  • Control playback, including play, pause, skip, volume, etc.
  • Modify user's playlists (create, delete, add, remove tracks).
  • Access device information (available devices, current device, etc.).

Risks and side effects

  • Security: OAuth tokens stored locally in spotify-config.json; if leaked, could lead to account misuse.
  • Privacy: AI assistants may access personal data like playback history and playlists.
  • Misoperation: AI might perform unintended actions like changing playback or modifying playlists.
  • Unofficial: Not maintained by Spotify, may have bugs or security vulnerabilities.

Setup

Before you start

Runtime:Node.js 16+

  1. Ensure Node.js v16+ and a Spotify Premium account.
  2. Clone the repo: git clone https://github.com/marcelmarais/spotify-mcp-server.git
  3. Navigate and install: cd spotify-mcp-server && npm install && npm run build
  4. Create a Spotify Developer application to get Client ID and Client Secret, and set a Redirect URI (e.g., http://127.0.0.1:8888/callback).
  5. Create spotify-config.json with clientId, clientSecret, redirectUri.
  6. Run npm run auth to perform OAuth authentication; tokens are saved automatically.
  7. Add the server to your MCP client config, e.g., for Claude Desktop:

{
"mcpServers": {
"spotify": {
"command": "node",
"args": ["spotify-mcp-server/build/index.js"]
}
}
}

claude_desktop_config.json
{
  "mcpServers": {
    "spotify": {
      "command": "node",
      "args": [
        "spotify-mcp-server/build/index.js"
      ]
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "spotify": {
      "command": "node",
      "args": [
        "spotify-mcp-server/build/index.js"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add spotify -- node spotify-mcp-server/build/index.js

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

The client's tool list should show tools like searchSpotify and getNowPlaying; ask the AI to call getNowPlaying — if it returns the current track and device info, the connection works.

Troubleshooting

  1. Authentication failure: Check clientId, clientSecret, redirectUri in spotify-config.json, and ensure redirect URI matches the Developer Dashboard.
  2. Token expiration: Run npm run auth to re-authenticate; server auto-refreshes but may need manual re-auth if refresh fails.
  3. Cannot play: Ensure an active Spotify device and a Premium account.
  4. Command not found: Ensure dependencies installed and build is run.

Things to try

Once connected, you can ask your AI assistant things like:

  • Play Elvis's first song
  • Create a Taylor Swift / Slipknot fusion playlist
  • Copy all the techno tracks from my workout playlist to my work playlist
  • Turn the volume down a bit

Tools 27

searchSpotify read-only
Search for tracks, albums, artists, or playlists on Spotify.
getNowPlaying read-only
Get information about the currently playing track, including device and volume info.
getMyPlaylists read-only
Get a list of the current user's playlists.
getPlaylistTracks read-only
Get a list of tracks in a specific Spotify playlist.
getRecentlyPlayed read-only
Get a list of recently played tracks.
getUsersSavedTracks read-only
Get a list of tracks saved in the user's 'Liked Songs' library.
getQueue read-only
Get the currently playing track and upcoming items in the Spotify queue.
getAvailableDevices read-only
Get information about available Spotify Connect devices.
Show 19 more tools
removeUsersSavedTracks destructive
Remove one or more tracks from the user's 'Liked Songs' library.
playMusic writes
Start playing a track, album, artist, or playlist.
pausePlayback writes
Pause the currently playing track.
resumePlayback writes
Resume Spotify playback on the active device.
skipToNext writes
Skip to the next track in the current playback queue.
skipToPrevious writes
Skip to the previous track in the current playback queue.
createPlaylist writes
Create a new Spotify playlist.
addTracksToPlaylist writes
Add tracks to an existing Spotify playlist.
addToQueue writes
Adds a track, album, artist, or playlist to the current playback queue.
setVolume writes
Set the playback volume to a specific percentage (requires Spotify Premium).
adjustVolume writes
Adjust the playback volume up or down by a relative amount (requires Spotify Premium).
getAlbums read-only
Get detailed information about one or more albums.
getAlbumTracks read-only
Get tracks from a specific album with pagination support.
saveOrRemoveAlbumForUser writes
Save or remove albums from the user's 'Your Music' library.
checkUsersSavedAlbums read-only
Check if albums are saved in the user's 'Your Music' library.
getPlaylist read-only
Get details of a specific Spotify playlist.
updatePlaylist writes
Update the details of a Spotify playlist.
removeTracksFromPlaylist destructive
Remove one or more tracks from a Spotify playlist.
reorderPlaylistItems writes
Reorder a range of tracks within a Spotify playlist.

Use cases

Play a specific song or album: e.g., 'Play Elvis's first song'.
Create a fusion playlist: e.g., 'Create a Taylor Swift / Slipknot fusion playlist'.
Copy songs between playlists: e.g., 'Copy all the techno tracks from my workout playlist to my work playlist'.
Adjust volume: e.g., 'Turn the volume down a bit'.
Get current playback info: query now playing, device, volume, etc.

Supported clients

Claude Desktop
Cursor
Cline

Listed from the project's documentation, not tested by this site.

Overview

This is a lightweight MCP server that enables AI assistants like Cursor and Claude to control Spotify playback and manage playlists. It provides search, playback control, playlist management, volume adjustment, and more. Requires a Spotify Premium account and a developer application.

Similar servers

Telegram MCP server powered by Telethon to let MCP clients read chats, manage groups, and send/modify messages, media, contacts, and settings.

★ 1.8k · Tools 76 Compare with this →

Source revision cd0c0add6acf Data synced 2026-10-12 Read the FMRS scoring method