SpotiPy MCP
Enables searching Spotify and managing playlists from any MCP client using natural language.
README
SpotiPy MCP
An MCP server for searching Spotify and managing your playlists from Claude (or any MCP client). Built on spotipy.
Features
Search
search_tracks,search_artists,search_albums(supports advanced filters likeartist:,year:,genre:)get_track_details,get_artist_top_tracks
Playlist management
list_my_playlists,get_playlist_tracksadd_tracks_to_playlist,remove_tracks_from_playlistcreate_playlist,delete_playlist— delete a playlist you ownunfollow_playlist— remove a playlist (typically one you don't own) from your library without deleting itsearch_and_add— find the top match for a query and add it in one step
Setup
1. Install dependencies
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
2. Register the redirect URI
In the Spotify Developer Dashboard, open your app → Settings → Redirect URIs, and add:
http://127.0.0.1:8888/callback
(Must match SPOTIFY_REDIRECT_URI in .env.)
3. Authorize once
python auth_setup.py
A browser window opens; log in and grant access. A refresh token is cached to
.cache so you never have to log in again (the server refreshes it silently).
4. Register with Claude Desktop / Claude Code
Add this to your MCP client config (for Claude Desktop, claude_desktop_config.json).
Use absolute paths:
{
"mcpServers": {
"spotipy": {
"command": "~\\SpotiPy\\.venv\\Scripts\\python.exe",
"args": ["~\\SpotiPy\\server.py"]
}
}
}
For Claude Code:
claude mcp add spotipy -- "~\SpotiPy\.venv\Scripts\python.exe" "~\SpotiPy\server.py"
Restart the client, and the SpotiPy MCP tools become available.
Configuration (.env)
| Key | Purpose |
|---|---|
SPOTIFY_CLIENT_ID |
Your app's client id |
SPOTIFY_CLIENT_SECRET |
Your app's client secret |
SPOTIFY_REDIRECT_URI |
Must match the dashboard; default http://127.0.0.1:8888/callback |
SPOTIFY_SCOPE |
OAuth scopes granted at authorization; default (if unset) is playlist-modify-public playlist-modify-private playlist-read-private playlist-read-collaborative user-read-private user-library-modify. user-read-private is silently required by the playlist-creation endpoint even though Spotify doesn't document it; user-library-modify is required by delete_playlist (it calls the Remove Library Items endpoint). |
Security notes
.envand.cachehold secrets and are git-ignored. Do not commit them.- If your client secret was ever exposed, rotate it in the Spotify dashboard.
Note on discovery endpoints
Spotify deprecated the Recommendations, Audio Features, Audio Analysis, and
Related Artists endpoints for newly-created apps (Nov 2024). SpotiPy MCP therefore
relies on search filters and get_artist_top_tracks for discovery rather than
those endpoints.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.