What Spotify MCP MCP server does
Spotify MCP MCP server gives MCP-compatible AI clients access to a broad portion of the Spotify Web API. It covers catalog search, playback control, saved music, playlists, followed content, podcasts, and audiobooks. The server also includes account-oriented utilities such as duplicate cleanup, M3U and CSV playlist import or export, podcast sessions, snapshot comparison, market checks, and selected listening-data summaries.
The default configuration registers a curated set of 129 tools, keeping the initial tool list smaller for hosts with limited context or tool capacity. Setting SPOTIFY_MCP_TOOLSETS=all registers the full 560-tool registry, along with the documented resources, resource templates, and prompts. Stats.fm tools are separate and require an opt-in environment variable.
How it works
The server uses Spotify’s Web API and communicates with an MCP host through the host’s normal command, args, and env configuration. Authentication uses PKCE: create a Spotify app, set the redirect URI to http://127.0.0.1:8888/callback, then run the authentication command with the app’s Client ID. A browser-based flow saves tokens under ~/.spotify-mcp/tokens.json and refreshes them automatically.
For remote or headless machines, SPOTIFY_HEADLESS=1 prints a URL for authentication on another device and accepts the resulting redirect. The doctor command provides a read-only connection check and returns exit code 0 when the setup is working.
Setup and configuration
Install the published package with npx or clone the repository and build it with Node.js 22.9 or newer. The only required environment variable is SPOTIFY_CLIENT_ID. Add it to the MCP host’s server configuration rather than exposing it in an agent conversation. The repository’s local development commands can read a local environment file, but the published binary relies on the host-provided environment.
Useful optional settings include:
SPOTIFY_MCP_TOOLSETS=all to register the complete tool registry.
SPOTIFY_MCP_STATSFM=1 to register stats.fm-backed tools.
SPOTIFY_HEADLESS=1 for authentication without a local browser.
READONLY to hide write-capable modules, where supported by the configuration.
SPOTIFY_MCP_EXPERIMENTAL_ANALYTICS=1 to enable derived listening analytics.
Tools and capabilities
Spotify MCP MCP server supports read and write workflows, including playback actions, playlist creation and editing, library inspection, catalog search, podcast discovery, and audiobook access. Write operations can use dry_run previews, and receipts report what was applied. Bulk deletion requires human confirmation. Pagination supports results of up to 500 items.
Additional tools can inspect listening data, compare playlist or library snapshots, import and export playlist formats, and produce taste-oriented briefs or reports. Stats.fm integrations provide optional taste reads when enabled and configured.
Limitations and notes
Spotify account access requires a Spotify Developer app and a valid Client ID. Spotify controls which API endpoints are available to an application; registration-gated operations may explain a 403 or expose a read alternative instead of pretending the action succeeded. Spotify has also removed some endpoints, so coverage can change.
Derived listening metrics such as hourly or weekday profiles are disabled by default because the project documents a conflict with Spotify’s Developer Policy. The server is not affiliated with Spotify. Windows installation and everyday use are supported, but the automated test suite runs on Linux only.