Trends Hub
Pulls trending lists and news feeds from Chinese and English sites, plus your own RSS feeds
Read public Spotify catalogue data, charts, lyrics and podcast transcripts without an API key
By Ali Akhtari (individual) Python Local · stdio, Streamable HTTP Media
60 popularity score ★ 324 ↓ 4.8k/mo
Opens the app, which asks before it adds the server.
claude mcp add --transport http spotifyscraper http://localhost:8000/mcp{
"mcpServers": {
"spotifyscraper": {
"url": "http://localhost:8000/mcp"
}
}
}{
"servers": {
"spotifyscraper": {
"type": "http",
"url": "http://localhost:8000/mcp"
}
}
}[mcp_servers.spotifyscraper]
url = "http://localhost:8000/mcp"gemini mcp add --scope user --transport http spotifyscraper http://localhost:8000/mcpOpens the app, which asks before it adds the server.
pip install "spotifyscraper[mcp]"claude mcp add spotifyscraper -- spotifyscraper-mcp{
"mcpServers": {
"spotifyscraper": {
"command": "spotifyscraper-mcp",
"args": []
}
}
}{
"mcpServers": {
"spotifyscraper": {
"command": "spotifyscraper-mcp",
"args": []
}
}
}{
"servers": {
"spotifyscraper": {
"type": "stdio",
"command": "spotifyscraper-mcp",
"args": []
}
}
}[mcp_servers.spotifyscraper]
command = "spotifyscraper-mcp"
args = []gemini mcp add --scope user spotifyscraper spotifyscraper-mcpSPOTIFY_SP_DC |
Optional: The sp_dc cookie of a logged-in Spotify web session; enables canvas, credits, user, lyrics, transcript and account tools. |
|---|
SpotifyScraper is a Python library for reading Spotify's public data. It also ships an MCP server, spotifyscraper-mcp, that comes with the optional mcp extra. Instead of the official Web API, which needs a registered app and OAuth, it reads the same public endpoints the Spotify web player uses. If those fail, it falls back to the embed page.
The server's tools fetch tracks, albums, artists, playlists, podcast shows and episodes by URL, URI or bare ID. They can also search the catalogue, list and read editorial charts, find related artists and similar albums, page through an artist's discography and list upcoming concerts. Other tools pull a cover's colour palette or return the cover itself as an inline image. Six batch tools fetch many IDs in one call and report success or failure for each item. The server also exposes the six entity types as spotify:// resources and has three prompts: describe_album, playlist_blurb and summarize_episode.
Anonymous access covers most tools. Canvas videos, track credits, user profiles, lyrics, podcast transcripts and account state need the SPOTIFY_SP_DC environment variable, set to the sp_dc cookie of a logged-in Spotify web session. Without it, those tools return an error asking for it.
At version 3.9.2, server.py registers 28 tools. The README never gives a total. The code also sets some defaults the README leaves out: search returns 20 results unless `limit` is given, get_similar_albums returns 10, get_playlist reads up to 100 tracks (`max_tracks`) and get_show up to 50 episodes (`max_episodes`).
| Runtime | Python 3.10+ |
|---|
Python 3.10 or later and the package installed with its mcp extra (pip install "spotifyscraper[mcp]"), which puts spotifyscraper-mcp on PATH. Network access to Spotify. For the authenticated tools, the sp_dc cookie from a logged-in Spotify web session in SPOTIFY_SP_DC. The container image ghcr.io/aliakhtari78/spotifyscraper serves streamable HTTP on port 8000 rather than stdio: start it with docker run -p 8000:8000 and connect a client to the address.
It is read-only and reaches only public data, plus what the sp_dc cookie unlocks. It cannot play music, edit playlists, read private library data or filter results by market. The locale setting changes only the language of names, not regional availability. It cannot return audio features, because Spotify removed that data. Previews are about 30 seconds, and full tracks are never fetched. It is unofficial and depends on Spotify's internal web endpoints, so the README warns it can break when Spotify changes them. Canvas in get_track_visuals is best-effort and null without the cookie.
Suits developers and researchers who want Spotify catalogue metadata, charts, lyrics or podcast transcripts in an assistant without registering an app with Spotify. Everything runs locally over stdio, and nothing is written to an account. Its own README points to spotipy, a library built on the official Web API, for anything that writes to an account, controls playback or needs private or market-accurate data. Anyone who must stay within an official, supported API should look elsewhere, because this server reads undocumented web endpoints and needs a session cookie for the richer tools.
get_trackget_albumget_artistget_playlistget_episodeget_showsearchlist_chartsget_chartget_related_artistsget_discographyget_similar_albumsget_colorsget_artist_eventsget_tracksget_albumsget_artistsget_episodesget_playlistsget_showsget_canvasget_creditsget_userget_lyricsget_transcriptget_accountget_cover_imageget_track_visuals