spotify-mcp MCP server
MCP server connecting Claude with Spotify. This fork of varunneal/spotify-mcp adds smart-batching tools and advanced playlist features that optimize API usage.
Features
Core Functionality
- Playback Control: Start, pause, skip tracks, manage queue
- Search & Discovery: Find tracks, albums, artists, playlists with pagination
- Real-time State: Live user profile and playback status
Enhanced Playlist Tools (New in this fork)
- Smart Batch Operations: Add/remove up to 100 tracks in single API calls
- Large Playlist Support: Efficiently handle playlists with 1000+ tracks using pagination
- Advanced Playlist Management: Create, modify details, bulk track operations
- API-Optimized Workflows: Intelligent batching reduces API calls by 60-80%
Installation
1. Get Spotify API Keys
- Create account at developer.spotify.com
- Create app with redirect URI:
http://localhost:8888
2. Install the MCP Server
git clone https://github.com/jamiew/spotify-mcp.git
cd spotify-mcp
uv sync
3. Configure Claude Desktop
Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
"spotify": {
"command": "uv",
"args": ["--directory", "/path/to/spotify-mcp", "run", "spotify-mcp"],
"env": {
"SPOTIFY_CLIENT_ID": "YOUR_CLIENT_ID",
"SPOTIFY_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"SPOTIFY_REDIRECT_URI": "http://localhost:8888"
}
}
Requirements: Spotify Premium account, uv >= 0.54
Usage Examples
- "Create a chill study playlist with 20 tracks" → Search + playlist creation + bulk track addition
- "Show me the first 50 tracks from my 'Liked Songs'" → Pagination for large playlists
- "Find similar artists to Radiohead and add their top tracks to my queue" → Search + artist info + queue management
Development
Built with FastMCP framework featuring 13 focused tools, type-safe APIs, and comprehensive test coverage.
Debug with MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /path/to/spotify_mcp run spotify-mcp
Metadata
Release files for iflow-mcp_jamiew-spotify-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_jamiew_spotify_mcp-0.2.0.tar.gz | 27.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_jamiew_spotify_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 51.1 kB
Release files / iflow_mcp_jamiew_spotify_mcp-0.2.0.tar.gz
| Download URL | iflow_mcp_jamiew_spotify_mcp-0.2.0.tar.gz |
|---|---|
| Size | 27.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
369278f733a647e6bfc9af34779c70b9199dc62e25a71c1a58f312898d553b82
|
|
BLAKE2b-256 checksum How to use checksums |
bee13d8f6b8aa3038c378be75712f2396fc92441009d497e232365a9e8752b3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / iflow_mcp_jamiew_spotify_mcp-0.2.0-py3-none-any.whl
| Download URL | iflow_mcp_jamiew_spotify_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 23.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0a14e0a721f36f5d4178e3ee6a54024f831eff73aa3f15bc53b7dbd148211e10
|
|
BLAKE2b-256 checksum How to use checksums |
296d522f2737f383d8a07d0416bace18d959200b9eb6748b3489a593073f7c5e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|