Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Spotify MCP

de NovaLux12versión 3.1.1i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.NovaLux12/spotify-mcp-server

Instalar

Resumen

Descripción del creador (original en inglés)

Spotify Web API MCP: playback, library, playlists, search, podcasts. Not affiliated with Spotify.

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Búsqueda y memoria de IA
  • Debes completar: SPOTIFY_CLIENT_ID

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "spotify": {
      "command": "npx",
      "args": [
        "-y",
        "@novalux12/spotify-mcp"
      ],
      "env": {
        "SPOTIFY_CLIENT_ID": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add spotify --env SPOTIFY_CLIENT_ID=your-value -- npx -y @novalux12/spotify-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "spotify": {
      "command": "npx",
      "args": [
        "-y",
        "@novalux12/spotify-mcp"
      ],
      "env": {
        "SPOTIFY_CLIENT_ID": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "spotify": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@novalux12/spotify-mcp"
      ],
      "env": {
        "SPOTIFY_CLIENT_ID": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • SPOTIFY_CLIENT_ID obligatorio env
    Spotify developer app client ID (from developer.spotify.com/dashboard)

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub NovaLux12, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Búsqueda y memoria de IAi

  • Más estrellas que el 0% de los otros 7281 servidores de esta categoría
  • Publicado en el registro más recientemente que el 67% de los otros 7281 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 7281 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Spotify MCP?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: SPOTIFY_CLIENT_ID

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (3.1.1) llegó al registro hace 19 días.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Context7, Codebase Memory, Exa

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Context7

de upstash

Up-to-date docs for AI agents

Computadora o nube★ 64.224MITActualizado ayer
Instalar

Codebase Memory

de DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Se ejecuta en tu computadora★ 48.148MITActualizado hace 21 días
Instalar

Exa

de exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Se ejecuta en la nube★ 5213MITActualizado el mes pasado
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

SpotifyMCP

Spotify Web API MCP: playback, library, playlists, search, podcasts. Not affiliated with Spotify.

A broad Spotify Web API tool surface, plus extras most servers skip. Registration-gated wrappers are explained rather than hidden; see Registration-gated endpoints for the generated list.

What you get by default, and what to do about the rest. A server started with no environment registers a curated surface — search, playback, playlists, library, following — sized so the tool list does not dominate the context window before you have typed anything. SPOTIFY_MCP_TOOLSETS=all registers the entire registry instead, and the stats.fm tools are opt-in with SPOTIFY_MCP_STATSFM=1. Both are one line in docs/configuration.md.

A server started with no SPOTIFY_MCP_TOOLSETS registers 131 tools (150,111 bytes of schema) — the curated default surface (#889). SPOTIFY_MCP_TOOLSETS=all registers all 562 tools, along with 17 fixed resources, 28 resource templates, and 14 prompts. Toolsets and production gates can trim a configured host further; both figures describe a real production tools/list after finalizers.

3.0 and later

3.0 was the release where the open issue list went to zero — every epic, every issue under it, every contradiction we turned up auditing ourselves. Most of that backlog was never "bugs" in the crashing sense; it was places where this server reported a value it had not actually checked, which is the only kind of wrong that is genuinely dangerous.

It also *removed* tools, because Spotify deleted the endpoints underneath them in February 2026 — including artist follows, which have no migration target at all.

→ [Read the 3.0 roadmap](docs/v3-roadmap.md)


### 🤖 Paste this to your agent

Copy the block below into Claude Code, Cursor, OpenClaw, or any coding agent — it will set SpotifyMCP up for you.

⚠️ Never paste your Spotify credentials into a chat. Spotify's Developer Terms treat the Client ID as a credential: §VI.1.1 groups "I.D.s, client I.D.s, keys, passwords, security codes, or tokens" together as *Security Codes*, §VI.1.3 forbids disclosing them to any other party, and §VI.1.4 makes you responsible for their confidentiality. Anything you type into a conversation is retained by the model provider, written to shell history, and carried in the agent's context window. The Client ID is the only credential this server needs, and it is a *Security Code* rather than a public identifier — treat it like a password.

`

Set up the Spotify MCP server from https://github.com/NovaLux12/spotify-mcp-server.

1. Walk me through creating a Spotify app at https://developer.spotify.com/dashboard

with redirect URI http://127.0.0.1:8888/callback. Point me at where the dashboard

shows the Client ID, then stop — I will copy it myself.

2. Clone and build:

git clone https://github.com/NovaLux12/spotify-mcp-server.git

cd spotify-mcp-server && npm ci && npm run build

3. Show me which file my MCP host reads server environment from. The host's server

config is the one that always works; a local .env is read only when you launch

through this repo's npm run dev or npm start, which pass --env-file-if-exists

on Node >=22.9 — the published binary does not read it. Print the exact line to

add. I will type the Client ID in myself. Do not ask me for it and never echo

it back.

4. Start the server and run the auth command yourself, then finish the browser login

when it opens. This server uses PKCE, so there is no client secret and no

credential to fetch beyond the Client ID.

5. Verify with the read-only spotify_doctor tool and report its rows.

`


Why this one

CompletePlayback, search, catalog, library, playlists, following, plus extras like duplicate cleanup, M3U/CSV import-export, podcast sessions, snapshot diffing, listening analytics, market checks, stats.fm taste reads, and taste composite briefs, playlists, and reports.
Safedry_run previews on writes, receipts that prove what landed, human confirmation for bulk deletes, and READONLY to hide write-capable modules.
Honest about the surfaceTools that turn your listening history into derived metrics — hourly histograms, weekday profiles, discovery ratios — are off unless you ask for them with SPOTIFY_MCP_EXPERIMENTAL_ANALYTICS=1, because Spotify's Developer Policy Sec. III.13 prohibits building derived listenership metrics. The rest of the analytics surface, which re-presents your own data, is always on. See docs/compliance.md.
HonestNo tool claims to work when it cannot. Gated endpoints keep their wrappers, read replacements where one exists, and explain the 403 in plain English instead of crashing — see Registration-gated endpoints, generated from src/gating.ts.
PolishedPaginated (up to 500), podcasts first-class, device-aware playback, spotify_doctor self-diagnosis, real test suite.

Quick start

1. Create a Spotify app

Spotify Developer Dashboard → Create app → add this Redirect URI exactly:

http://127.0.0.1:8888/callback

Copy the Client ID.

2. Authenticate
SPOTIFY_CLIENT_ID=your_client_id_here npx -y @novalux12/spotify-mcp@latest auth

Opens a browser, saves tokens to ~/.spotify-mcp/tokens.json, auto-refreshes after.

Windows & headless

Windows (Command Prompt):

set SPOTIFY_CLIENT_ID=your_client_id_here && npx -y @novalux12/spotify-mcp@latest auth

Windows (PowerShell):

$env:SPOTIFY_CLIENT_ID="your_client_id_here"; npx -y @novalux12/spotify-mcp@latest auth

Windows is supported for install and everyday use, and is not covered by CI.

The commands above are the supported path, but the test suite runs on Linux

only, so a Windows-specific regression would not be caught before release.

See docs/platform-support.md for exactly what is

and is not verified there, and what the known gaps are.

Headless / remote host:

SPOTIFY_HEADLESS=1 SPOTIFY_CLIENT_ID=your_client_id_here npx -y @novalux12/spotify-mcp@latest auth

prints a URL → open it on any machine → paste the redirect back

Check: npx -y @novalux12/spotify-mcp@latest doctor — exit 0 means you're good.

3. Add to your MCP host
{

"mcpServers": { "spotify": { "command": "npx", "args": ["-y", "@novalux12/spotify-mcp@latest"], "env": { "SPOTIFY_CLIENT_ID": "your_client_id_here" } } } }

Restart the host. A hammer icon in the chat input means it's connected.

Claude Code · OpenClaw · other hosts

Claude Code (no JSON editing):

claude mcp add spotify -- npx -y @novalux12/spotify-mcp@latest

export SPOTIFY_CLIENT_ID=your_client_id_here

OpenClaw — ~/.openclaw/openclaw.json → mcp.servers:

"spotify": {

"command": "node", "args": ["/path/to/spotify-mcp-server/dist/index.js"], "cwd": "/path/to/spotify-mcp-server", "env": { "SPOTIFY_CLIENT_ID": "your_client_id_here" } }

Any spec-compliant host works — same command/args/env shape under mcpServers or servers. If the host can't pass env vars, authenticate once beforehand; the token cache persists.

What you can ask

  • "What are my top tracks this month?"
  • "Make a late-night driving playlist"
  • "Add Blinding Lights to my workout playlist"
  • "What podcasts have new episodes?"
  • "Clean duplicates across all my playlists"
  • "What does my taste look like? Build a playlist from it"
  • "Do my stats.fm lifetime genres match what I've played this month?"

Configuration

All via env vars — no config file. Only SPOTIFY_CLIENT_ID is required.

VariableExamplePurpose
SPOTIFY_MCP_TOOLSETSunsetTrim by group for hosts that cap tool counts. Unset registers the curated default surface; all registers everything. The tool count for each is in the generated census above.
SPOTIFY_MCP_STATSFM1Register the 50 stats.fm-backed tools across four registration keys — statsfm, taste, tastecomposites and tastejukebox. Off by default: they need a separate stats.fm username. Two of them write to Spotify (taste_to_playlist and statsfm_jukebox); the rest are read-only. spotify-mcp tools counts what your environment actually registers.
SPOTIFY_MCP_READONLY1Hide write-capable modules; read-only resources and prompts remain available.
SPOTIFY_MCP_HISTORY1Log mutations to JSONL for undo and audit.
SPOTIFY_MCP_RECEIPTS1Persist mutation receipts so verify_receipt/undo_mutation survive a restart.
SPOTIFY_MCP_ATTRIBUTION0Turn off the "Music data supplied by Spotify" footer and the per-row open.spotify.com link. On unless set to 0/false/no/off; the disclosure is mandatory, so only an explicit falsy value removes it.

Full reference: docs/configuration.md

spotify_doctor (CLI + in-server tool) diagnoses token state, scope gaps, Premium gating, rate-limit cooldowns, request/quota usage (cumulative + rolling-window counts, #904), and read-cache pressure (entries held, bytes retained, responses too large to cache, #894) without extra setup.

Upgrading to 2.0

2.0 is a contract release. One tool name is gone, four things moved, and one guarantee tightened:

  1. `get_show_episodes` is removed. Use list_show_episodes (same endpoint, same arguments, minus the drifted alias). It was the only name that changed; everything else in the surface keeps its name. The exact registry totals are generated at the top of this file, so this sentence deliberately carries no count of its own to fall behind.
  1. Destructive writes fail closed. Any confirmation-gated bulk write now refuses when the client cannot elicit, instead of proceeding unprompted. archive_played_episodes's confirm: true no longer authorises the delete (it is still accepted, and every result says it was ignored). For headless automation, set SPOTIFY_MCP_CONFIRM=never deliberately.
  2. Playlist set-operation inputs are canonical. A/B pairs are playlist_a/playlist_b; ordered lists are playlists; playlist_subtract takes the base as base_playlist_id. This was the 2.0 contract; the old spellings it was allowed to keep alongside it were withdrawn in 3.0 (#1287). They are no longer in any tool's schema, and a call that still sends one is refused before any Spotify request with a validation error whose reason is retired_input, naming both what was sent and what to send instead. Each tool declared exactly one alias pair or one alias list, so the table below is a per-tool migration map rather than a bundle:
familycanonicalthe spelling that tool used to declare
A/B pairplaylist_a, playlist_ba/b, or playlist_id_a/playlist_id_b, or playlist_a_id/playlist_b_id — one of them, per tool

| ordered list | playlists

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx