Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Spotify play counts, monthly listeners, charts, artist stats, albums, playlists and ISRC lookup.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
SPOTIFY_API_KEY, SPOTIFY_API_PROVIDER, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"spotify-data": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SPOTIFY_API_KEY",
"-e",
"SPOTIFY_API_PROVIDER",
"ghcr.io/eduair94/spotify-data-mcp:0.1.1"
],
"env": {
"SPOTIFY_API_KEY": "your-value",
"SPOTIFY_API_PROVIDER": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http spotify-data https://spotify-proxy.checkleaked.cc/mcp --header 'Authorization: your-value'claude mcp add spotify-data --env SPOTIFY_API_KEY=your-value --env SPOTIFY_API_PROVIDER=your-value -- docker run -i --rm -e SPOTIFY_API_KEY -e SPOTIFY_API_PROVIDER ghcr.io/eduair94/spotify-data-mcp:0.1.1Fill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"spotify-data": {
"url": "https://spotify-proxy.checkleaked.cc/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"spotify-data": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SPOTIFY_API_KEY",
"-e",
"SPOTIFY_API_PROVIDER",
"ghcr.io/eduair94/spotify-data-mcp:0.1.1"
],
"env": {
"SPOTIFY_API_KEY": "your-value",
"SPOTIFY_API_PROVIDER": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"spotify-data": {
"type": "http",
"url": "https://spotify-proxy.checkleaked.cc/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"spotify-data": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SPOTIFY_API_KEY",
"-e",
"SPOTIFY_API_PROVIDER",
"ghcr.io/eduair94/spotify-data-mcp:0.1.1"
],
"env": {
"SPOTIFY_API_KEY": "your-value",
"SPOTIFY_API_PROVIDER": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
SPOTIFY_API_PROVIDER envAuthorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
searchSearch the Spotify catalog by name to find ids for the other tools. `type` picks what to search: tracks, artists, albums or playlists. Returns up to `limit` hits (max 20) with id, name, key fields and open.spotify.com URL, plus `results` (id such as track: , title, url) for the f
fetchThe full record behind a search result: a track (play count, album, release date, genres, moods, BPM, credits), an artist (monthly listeners, followers, world rank, top cities, top tracks), an album (every track with play counts) or a playlist (details and its first 50 tracks wit
get_tracksTrack details for up to 50 tracks in one call: name, artists, album, release date, duration, explicit flag, popularity, ISRC and (by default) lifetime play count. include_insights adds genres, moods, activities, BPM, credits, lyrics flag and languages. A play count of 0 means few
get_track_play_countLifetime Spotify play counts (streams) for up to 50 tracks in one call, with track name, artists and release date. The fastest way to compare streams. A play count of 0 means fewer than 1,000 plays.
get_track_insightsGenres, moods and activities (with Spotify's 0-1 weights), tempo in BPM, credits (writers, producers), lyrics flag and vocal languages for up to 50 tracks.
get_artists_statsMonthly listeners, followers, world rank, popularity, genres and top 5 cities (with listener counts) for up to 50 artists in one call.
get_artist_overviewOne artist's profile: monthly listeners, followers, world rank, top cities, top tracks with play counts, latest release, discography counts, related artists, biography and social links.
get_artist_insightsAn artist's sound profile from their top tracks: genres, moods and activities with 0-1 weights, and tempo (average, min, max BPM). Up to 20 artists per call.
get_related_artistsArtists Spotify lists as related to ("Fans also like") the given artist.
get_albumAn album with its track list and (by default) every track's lifetime play count, plus the album total, release date, label, UPC and popularity.
get_playlistA playlist's name, owner, followers and description, plus `limit` tracks (max 100) from `offset` with lifetime play counts. Use next_offset from the answer to page through long playlists (later pages skip the metadata and cost one request).
get_chartSpotify Charts by country: top_tracks (Top 200), viral_tracks (Viral 50, daily only), top_artists or top_albums. Each entry has rank, previous and peak rank, days (or weeks) on the chart, movement and, for top_tracks, the streams in that period. Defaults to the latest published d
isrc_lookupFind the Spotify track(s) for an ISRC (International Standard Recording Code), e.g. USUG11904206. Returns ids, names, artists, album and release date.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The publisher (checkleaked.cc) is not the repo owner (eduair94); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 293 ms (HTTP 200)
No sign-in needed
Read 13 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 2 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: SPOTIFY_API_KEY, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.1.1) reached the registry 5 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Zoo MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
An MCP server that provides access to the Zoo API for various CAD operations and tools.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server that lets AI assistants (Claude Desktop, Claude Code, Cursor, VS Code and other MCP clients) look up Spotify data: track play counts, artist monthly listeners, world rank and top cities, Top 200 and viral charts by country, albums and playlists with per-track play counts, search, ISRC lookup, and genres, moods and BPM.
It runs on your machine and calls the CheckLeaked Spotify Data API with your own API key. A free trial key needs no card. Step-by-step guide: spotify.checkleaked.cc/spotify-mcp-server.
uvx checkleaked-spotify-mcp
docker run -i --rm -e SPOTIFY_API_KEY=your-api-key ghcr.io/eduair94/spotify-data-mcp
Unofficial. Not affiliated with, endorsed by or sponsored by Spotify.
Spotify is a trademark of Spotify AB.
Every user needs their own key. Pick one:
| Option | Cost | Where | SPOTIFY_API_PROVIDER |
|---|---|---|---|
| Free trial: 500 requests over 7 days, no card | Free | spotify.checkleaked.cc/pricing#trial | direct (detected automatically) |
RapidAPI listing spotify81 | Free Basic plan, paid tiers | rapidapi.com/airaudoeduardo/api/spotify81 | rapidapi (default) |
| Direct paid key | From the pricing page | spotify.checkleaked.cc/pricing | direct (detected automatically) |
Keys issued by spotify.checkleaked.cc (they start with sapi_) are sent to the direct API automatically; any other key is treated as a RapidAPI key. Set SPOTIFY_API_PROVIDER only to override that.
The server is published on PyPI and runs with uvx (part of uv; install it with pip install uv or see the uv install guide). uvx downloads the package into a cached, isolated environment on first use. Replace your-api-key with your key in the snippets below.
The same 12 tools, plus a fetch tool for ChatGPT, are also hosted at https://spotify-proxy.checkleaked.cc/mcp (Streamable HTTP). It takes any of the keys above: keys from spotify.checkleaked.cc (they start with sapi_) are spent on the direct API, and any other key on RapidAPI's spotify81 listing, so a RapidAPI subscription works too. Add &provider=direct or &provider=rapidapi to the URL to choose.
search and fetch tools) cannot send custom headers, so put the key in the URL: https://spotify-proxy.checkleaked.cc/mcp?key=your-api-key. Treat that URL like a password.https://spotify-proxy.checkleaked.cc/mcp with Authorization: Bearer your-api-key. With Claude Code: claude mcp add --transport http spotify-data https://spotify-proxy.checkleaked.cc/mcp --header "Authorization: Bearer your-api-key"
Each tool call spends one request of your key, as a direct API call would.
Edit claude_desktop_config.json (Settings > Developer > Edit Config; macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json) and restart Claude Desktop:
{
"mcpServers": { "spotify-data": { "command": "uvx", "args": ["checkleaked-spotify-mcp"], "env": { "SPOTIFY_API_KEY": "your-api-key" } } } }
If Claude Desktop cannot find uvx, put its full path in command (run which uvx on macOS / Linux or where uvx on Windows).
claude mcp add spotify-data -s user -e SPOTIFY_API_KEY=your-api-key -- uvx checkleaked-spotify-mcp
Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": { "spotify-data": { "command": "uvx", "args": ["checkleaked-spotify-mcp"], "env": { "SPOTIFY_API_KEY": "your-api-key" } } } }
Add to .vscode/mcp.json. VS Code asks for the key once and stores it securely:
{
"inputs": [ { "type": "promptString", "id": "spotify-api-key", "description": "Spotify Data API key", "password": true } ], "servers": { "spotify-data": { "type": "stdio", "command": "uvx", "args": ["checkleaked-spotify-mcp"], "env": { "SPOTIFY_API_KEY": "${input:spotify-api-key}" } } } }
Run uvx checkleaked-spotify-mcp (stdio transport) with SPOTIFY_API_KEY in its environment. Without uvx: pip install checkleaked-spotify-mcp, then run checkleaked-spotify-mcp (or python -m checkleaked_spotify_mcp).
The same server is published as a container image (linux/amd64 and linux/arm64):
docker run -i --rm -e SPOTIFY_API_KEY=your-api-key ghcr.io/eduair94/spotify-data-mcp
In a client config, use "command": "docker" with "args": ["run", "-i", "--rm", "-e", "SPOTIFY_API_KEY", "ghcr.io/eduair94/spotify-data-mcp"] and SPOTIFY_API_KEY under env. Keep -i: the server speaks MCP over stdin and stdout.
| Variable | Required | Description |
|---|---|---|
SPOTIFY_API_KEY | yes | Your API key (see above). |
SPOTIFY_API_PROVIDER | no | rapidapi (RapidAPI spotify81.p.rapidapi.com) or direct (https://spotify-proxy.checkleaked.cc/spotify-data). Default: detected from the key. |
SPOTIFY_API_BASE | no | Override the base URL of the chosen provider. |
Without a key the server still starts, and every tool answers with an error that says where to get a free key, so you can see what is wrong from inside your chat.
All tools are read-only. Every id parameter accepts a bare id, a spotify: URI or an open.spotify.com URL (with or without /intl-xx/ and ?si=).
| Tool | What it returns | Batch | Requests |
|---|---|---|---|
search | Tracks, artists, albums or playlists matching a query, with ids and URLs (optionally play counts for tracks) | up to 20 hits | 1 |
get_tracks | Track details: artists, album, release date, duration, ISRC, popularity, play count; optional genres / moods / BPM / credits | 50 tracks | 1 |
get_track_play_count | Lifetime play counts with name, artists, release date | 50 tracks | 1 |
get_track_insights | Genres, moods, activities (with weights), BPM, credits, lyrics flag, languages | 50 tracks | 1 |
get_artists_stats | Monthly listeners, followers, world rank, popularity, genres, top 5 cities | 50 artists | 1 |
get_artist_overview | Profile with stats, top tracks with play counts, latest release, discography counts, related artists, biography, links | 1 artist | 1 |
get_artist_insights | Genre, mood and tempo profile from the artist's top tracks | 20 artists | 1 |
get_related_artists | "Fans also like" artists | 1 artist | 1 |
get_album | Album details and every track with its play count, plus the album total | 1 album | 1 |
get_playlist | Name, owner, followers, description and up to 100 tracks per page with play counts | 100 tracks | 2 on the first page, then 1 |
get_chart | Top 200, viral, top artists or top albums for a country (daily or weekly, latest or by date), optional play counts | up to 200 entries | 1 |
isrc_lookup | Spotify tracks for an ISRC | 1 ISRC | 1 |
Outputs are compact JSON: ids, names, numbers and open.spotify.com URLs, with lists capped, so they fit in the model's context. Notes:
streams are the plays in that chart's day or week.The server only talks to the API you configure (RapidAPI's spotify81.p.rapidapi.com or spotify-proxy.checkleaked.cc). It sends your key in the x-rapidapi-key header, stores nothing on disk and has no telemetry. Requests carry a checkleaked-spotify-mcp/ user agent.
The hosted server passes each tool call to the same API with your key and keeps no conversation data. A key sent in the URL can appear in request logs like any URL, so prefer the Authorization header where your client supports it.
git clone https://github.com/eduair94/spotify-data-mcp
cd spotify-data-mcp python -m venv .venv && . .venv/bin/activate # Windows: .venv\Scripts\activate pip install -e ".[dev]" pytest # offline tests (recorded API answers) SPOTIFY_MCP_LIVE=1 SPOTIFY_API_KEY=... pytest -m live # optional live smoke test
Built on the official MCP Python SDK and the checkleaked-spotify-api SDK. API reference: spotify-proxy.checkleaked.cc/docs. Service status: spotify.checkleaked.cc/status.