Spotify Playlist MCP
Spotify Playlist MCP
Un servidor MCP STDIO local para curar de forma segura listas de reproducción de Spotify desde tareas programadas del escritorio de Codex. Puede inspeccionar listas de reproducción propias, buscar pistas de Spotify, actualizar metadatos de listas y añadir o eliminar pistas mediante un flujo de trabajo acotado de plan/aplicación.
Modelo de seguridad
Lee las credenciales de Spotify y los ajustes de seguridad solo del
.envignorado de este proyecto, con anulaciones opcionales a nivel de proceso.Almacena el token OAuth en
~/.config/spotify-playlist-mcp/token.jsoncon modo de archivo0600.Rechaza cualquier escritura a menos que el ID de la lista aparezca en
SPOTIFY_ALLOWED_PLAYLIST_IDS.Verifica que el usuario autenticado sea el propietario de la lista.
Limita cada plan con
SPOTIFY_MAX_CHANGES_PER_PLAN, por defecto10pistas afectadas.Vincula los planes al
snapshot_idactual de Spotify, los expira después de 10 minutos y permite una sola aplicación.Consume un plan antes de la primera escritura para que una operación parcialmente aplicada no pueda reintentarse accidentalmente.
Los tokens de actualización de Spotify actualmente expiran seis meses después de la autorización. spotify_auth_status informa del tiempo restante para que una tarea programada pueda avisar antes de que se requiera una nueva autorización. Consulta la guía de tokens de actualización de Spotify.
Related MCP server: MCP Spotify Server
Herramientas
Herramienta | Tipo | Propósito |
| Lectura | Informar sobre la autorización y la antigüedad del token de actualización sin devolver credenciales |
| Lectura | Listar listas propias, visibilidad, recuentos, instantáneas y enlaces |
| Lectura | Buscar pistas candidatas, máximo 10 resultados por solicitud |
| Lectura | Devolver metadatos actuales de la lista y elementos de pistas reproducibles |
| Lectura | Validar y previsualizar adiciones, eliminaciones, cambios de nombre, descripción o visibilidad |
| Escritura | Aplicar un plan exacto, no expirado y de un solo uso |
Las adiciones de pistas se añaden al final. Las eliminaciones por URI eliminan todas las coincidencias, y el recuento de impacto refleja ese comportamiento. El servidor no expone intencionadamente reemplazo masivo, solicitudes arbitrarias, eliminación de listas ni escrituras no planificadas.
Instalación y verificación
source ~/.nvm/nvm.sh
nvm use 24.14.0
npm install
npm test
npm run typecheck
npm run build
npm auditAutorización única de Spotify
El URI de redirección en .env debe coincidir exactamente con el ajuste del panel de Spotify. La devolución de llamada de bucle local actual es http://127.0.0.1:3000/auth/callback.
npm run authAbre la URL de Spotify impresa y aprueba los ámbitos. El comando recibe la devolución de llamada de bucle local y guarda el token de forma privada. Comprueba el estado sin revelar credenciales:
node dist/auth-cli.js --statusSpotify actualmente requiere una nueva autorización cada seis meses porque renovar un token de acceso no extiende la vida útil del token de actualización.
Configuración del escritorio de Codex
La aplicación de escritorio, la CLI y la extensión del IDE comparten ~/.codex/config.toml. Una tarea programada de escritorio puede lanzar este servidor STDIO directamente:
[mcp_servers.spotify-playlists]
command = "/absolute/path/to/node"
args = ["/absolute/path/to/spotify-playlist-mcp/dist/index.js"]
cwd = "/absolute/path/to/spotify-playlist-mcp"
enabled = true
required = true
default_tools_approval_mode = "auto"
tool_timeout_sec = 60
[mcp_servers.spotify-playlists.env]
SPOTIFY_ALLOWED_PLAYLIST_IDS = "replace-with-owned-playlist-id"
SPOTIFY_MAX_CHANGES_PER_PLAN = "10"
[mcp_servers.spotify-playlists.tools.spotify_apply_playlist_plan]
approval_mode = "approve"Reinicia la aplicación de escritorio de ChatGPT después de cambiar la configuración de MCP. Mantén el ordenador encendido y la aplicación en ejecución cuando una tarea programada necesite el servidor local. Consulta la documentación oficial de configuración de MCP de Codex y de tareas programadas.
Deja SPOTIFY_ALLOWED_PLAYLIST_IDS vacío hasta que exista la lista pública prevista y se haya revisado su ID exacto. Se pueden separar varios IDs con comas.
Prompt sugerido para tareas programadas
Use the Spotify playlist MCP to curate only the configured allowlisted playlist.
First check spotify_auth_status and stop with a warning when authorization is missing or due within 14 days.
Inspect the current playlist before searching for candidates.
Follow the playlist's stated audience and description.
Do not remove protected anchor tracks unless the task prompt explicitly names them.
Make no more than the configured change cap.
Create a playlist change plan, report its additions, removals, metadata updates, and warnings, then apply that exact plan only when it matches these rules.
Report the final snapshot ID and Spotify link.Prueba este prompt manualmente antes de programarlo. Las ejecuciones programadas no están supervisadas, por lo que la herramienta de mutación no debe configurarse para solicitar aprobación.
Desarrollo
npm test
npm run typecheck
npm run buildLas pruebas utilizan simulaciones de Spotify en memoria y un transporte MCP en memoria. Ninguna prueba llama a Spotify ni lee el archivo de token real.
Licencia
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
The official Planning Center MCP server for interacting with your ministry's data.
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server for bulk Spotify operations enabling batch playlist creation, library exports, and large-scale library management with confidence scoring and human-in-the-loop for uncertain matches.3318 PyPI2MIT
- FlicenseAqualityDmaintenanceA lightweight MCP server that enables AI assistants like Cursor and Claude to control Spotify playback, playlists, and manage tokens via OAuth.152-
- AlicenseAqualityDmaintenanceMCP server to control Spotify conversationally from Claude, Cursor, and other AI clients.11164 npm1MIT
- AlicenseBqualityBmaintenanceA local-first Spotify MCP server providing typed tools for music search, playback, playlists, audio analysis, and snapshot-safe DJ planning, with OAuth PKCE and no client secret stored.531MIT