Skip to main content
Glama
Yonsn76

Spotify MCP Server

by Yonsn76

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SPOTIFY_CLIENT_IDNoYour Spotify application Client ID from the Spotify Developer Dashboard
SPOTIFY_REDIRECT_URINoThe redirect URI configured in your Spotify application settingshttp://127.0.0.1:8000/callback
SPOTIFY_CLIENT_SECRETNoYour Spotify application Client Secret from the Spotify Developer Dashboard

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
spotifyAuth

Gestiona autenticación de Spotify. FLUJO RECOMENDADO:

  1. Si error "Credenciales no configuradas": Pide al usuario clientId y clientSecret (de https://developer.spotify.com/dashboard) o que los agregue en env del mcp.json, luego usa accion="configurar"

  2. Después de configurar: Usa accion="ejecutar" para completar OAuth (abre navegador automáticamente)

  3. Si el usuario no puede autorizar: Usa accion="urlAuth" para darle el link manual IMPORTANTE: Las credenciales se guardan en ~/.spotify-mcp-tokens.json junto con los tokens de sesión

spotifyPlayer

Controla reproduccion de Spotify. MANEJO DE ERRORES:

  • Si error "No hay dispositivo activo": 1) Usa spotifyInfo(accion="devices") para obtener lista. 2) Si hay dispositivos, usa spotifyPlayer(accion="transfer", dispositivo="ID") para activarlo y luego reintenta play. 3) Si no hay dispositivos, usa spotifyPlayer(accion="openApp"), espera que cargue, repite desde paso 1.

  • Si transfer falla o no hay dispositivos despues de abrir: Pide al usuario que reproduzca algo manualmente en Spotify para activar la sesion.

  • Si error "Premium requerido": Informa que necesita Spotify Premium.

  • Para reproducir: Primero busca con spotifyInfo(accion="search"), luego usa el ID con play. FLUJO RECOMENDADO cuando no reproduce: devices -> transfer(dispositivo=ID) -> play. Si falla, openApp -> esperar -> devices -> transfer -> play.

spotifyInfo

Busca y obtiene información de Spotify. USOS COMUNES:

  • Para reproducir música: Primero search(consulta="nombre canción", tipo="track") para obtener el ID, luego usar spotifyPlayer(play, id=ID_OBTENIDO)

  • Para verificar dispositivos antes de reproducir: devices (si "Sin dispositivos", usar spotifyPlayer openApp)

  • Para ver qué suena: nowPlaying

  • Para ver estado de reproducción: state NO REQUIERE dispositivo activo para búsquedas, pero sí para nowPlaying/state/queue.

spotifyLibrary

Gestiona biblioteca y playlists del usuario. FLUJOS COMUNES:

  • Guardar canción actual: Primero spotifyInfo(nowPlaying) para obtener ID, luego save(ids=[ID])

  • Crear playlist con canciones: 1) createPlaylist(nombre="Mi Playlist"), 2) addToPlaylist(playlistId=ID_PLAYLIST, ids=[IDs de canciones])

  • Ver playlists del usuario: spotifyInfo(playlists)

  • Ver canciones de playlist: spotifyInfo(playlistTracks, id=PLAYLIST_ID) NOTA: Los IDs de canciones se obtienen de spotifyInfo(search) o spotifyInfo(nowPlaying).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yonsn76/spotify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server