MCP spotify project
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_jamiew_spotify_mcp-0.2.0.tar.gz.
File metadata
- Download URL: iflow_mcp_jamiew_spotify_mcp-0.2.0.tar.gz
- Upload date:
- Size: 27.7 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
369278f733a647e6bfc9af34779c70b9199dc62e25a71c1a58f312898d553b82
|
|
| MD5 |
96d4cb4ea07d6d7993348f10dbff2fe6
|
|
| BLAKE2b-256 |
bee13d8f6b8aa3038c378be75712f2396fc92441009d497e232365a9e8752b3c
|
File details
Details for the file iflow_mcp_jamiew_spotify_mcp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_jamiew_spotify_mcp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 23.4 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a14e0a721f36f5d4178e3ee6a54024f831eff73aa3f15bc53b7dbd148211e10
|
|
| MD5 |
2483974f722ed26b8604ac322abb11e3
|
|
| BLAKE2b-256 |
296d522f2737f383d8a07d0416bace18d959200b9eb6748b3489a593073f7c5e
|