Ein leichtgewichtiger Model Context Protocol (MCP) -Server, der es KI-Assistenten wie Cursor und Claude ermöglicht, die Spotify-Wiedergabe zu steuern und Wiedergabelisten zu verwalten.
Beispielinteraktionen
„Spielen Sie Elvis‘ erstes Lied“
„Erstellen Sie eine Taylor Swift / Slipknot Fusion-Playlist“
„Kopiere alle Techno-Tracks aus meiner Workout-Playlist in meine Arbeits-Playlist.“
Werkzeuge
Lesevorgänge
SucheSpotify
Beschreibung : Suche nach Titeln, Alben, Künstlern oder Playlists auf Spotify
Parameter :
query(string): Der Suchbegrifftype(Zeichenfolge): Typ des zu suchenden Elements (Titel, Album, Interpret, Wiedergabeliste)limit(Zahl, optional): Maximale Anzahl der zurückzugebenden Ergebnisse (10-50)
Rückgaben : Liste der übereinstimmenden Artikel mit ihren IDs, Namen und zusätzlichen Details
Beispiel :
searchSpotify("bohemian rhapsody", "track", 20)
getNowPlaying
Beschreibung : Erhalten Sie Informationen zum aktuell wiedergegebenen Titel auf Spotify
Parameter : Keine
Gibt zurück : Objekt mit Titelname, Künstler, Album, Wiedergabefortschritt, Dauer und Wiedergabestatus
Beispiel :
getNowPlaying()
getMyPlaylists
Beschreibung : Holen Sie sich eine Liste der Playlists des aktuellen Benutzers auf Spotify
Parameter :
limit(Zahl, optional): Maximale Anzahl der zurückzugebenden Wiedergabelisten (Standard: 20)offset(Zahl, optional): Index der ersten zurückzugebenden Wiedergabeliste (Standard: 0)
Gibt zurück : Array von Wiedergabelisten mit ihren IDs, Namen, Titelanzahl und öffentlichem Status
Beispiel :
getMyPlaylists(10, 0)
getPlaylistTracks
Beschreibung : Rufen Sie eine Liste der Titel in einer bestimmten Spotify-Wiedergabeliste ab
Parameter :
playlistId(Zeichenfolge): Die Spotify-ID der Playlistlimit(Zahl, optional): Maximale Anzahl der zurückzugebenden Titel (Standard: 100)offset(Zahl, optional): Index des ersten zurückzugebenden Titels (Standard: 0)
Gibt zurück : Array von Titeln mit ihren IDs, Namen, Künstlern, Alben, Dauer und Hinzufügungsdatum
Beispiel :
getPlaylistTracks("37i9dQZEVXcJZyENOWUFo7")
getRecentlyPlayed
Beschreibung : Ruft eine Liste der zuletzt abgespielten Titel von Spotify ab.
Parameter :
limit(Zahl, optional): Eine Zahl, die die maximale Anzahl der zurückzugebenden Titel angibt.
Rückgabewert : Wenn Titel gefunden werden, wird eine formatierte Liste der zuletzt abgespielten Titel zurückgegeben, andernfalls die Meldung: „Sie haben keine zuletzt abgespielten Titel auf Spotify.“
Beispiel :
getRecentlyPlayed({ limit: 10 })
getRecentlyPlayed
Beschreibung : Ruft eine Liste der zuletzt abgespielten Titel von Spotify ab.
Parameter :
limit(Zahl, optional): Eine Zahl, die die maximale Anzahl der zurückzugebenden Titel angibt.
Rückgabewert : Wenn Titel gefunden werden, wird eine formatierte Liste der zuletzt abgespielten Titel zurückgegeben, andernfalls die Meldung: „Sie haben keine zuletzt abgespielten Titel auf Spotify.“
Beispiel :
getRecentlyPlayed({ limit: 10 })
Operationen abspielen/erstellen
Musik abspielen
Beschreibung : Starten Sie die Wiedergabe eines Titels, Albums, Künstlers oder einer Playlist auf Spotify
Parameter :
uri(Zeichenfolge, optional): Spotify-URI des abzuspielenden Elements (überschreibt Typ und ID)type(Zeichenfolge, optional): Typ des abzuspielenden Elements (Titel, Album, Interpret, Wiedergabeliste)id(Zeichenfolge, optional): Spotify-ID des abzuspielenden ElementsdeviceId(Zeichenfolge, optional): ID des Geräts, auf dem abgespielt werden soll
Rückgabe : Erfolgsstatus
Beispiel :
playMusic({ uri: "spotify:track:6rqhFgbbKwnb9MLmUQDhG6" })Alternative :
playMusic({ type: "track", id: "6rqhFgbbKwnb9MLmUQDhG6" })
PauseWiedergabe
Beschreibung : Pausieren Sie den aktuell wiedergegebenen Titel auf Spotify
Parameter :
deviceId(Zeichenfolge, optional): ID des anzuhaltenden Geräts
Rückgabe : Erfolgsstatus
Beispiel :
pausePlayback()
skipToNext
Beschreibung : Zum nächsten Titel in der aktuellen Wiedergabewarteschlange springen
Parameter :
deviceId(Zeichenfolge, optional): ID des Geräts
Rückgabe : Erfolgsstatus
Beispiel :
skipToNext()
skipToPrevious
Beschreibung : Zum vorherigen Titel in der aktuellen Wiedergabewarteschlange springen
Parameter :
deviceId(Zeichenfolge, optional): ID des Geräts
Rückgabe : Erfolgsstatus
Beispiel :
skipToPrevious()
Playlist erstellen
Beschreibung : Erstellen Sie eine neue Playlist auf Spotify
Parameter :
name(string): Name für die neue Playlistdescription(Zeichenfolge, optional): Beschreibung für die Wiedergabelistepublic(boolesch, optional): Ob die Playlist öffentlich sein soll (Standard: false)
Gibt zurück : Objekt mit der ID und URL der neuen Wiedergabeliste
Beispiel :
createPlaylist({ name: "Workout Mix", description: "Songs to get pumped up", public: false })
Titel zur Wiedergabeliste hinzufügen
Beschreibung : Titel zu einer vorhandenen Spotify-Wiedergabeliste hinzufügen
Parameter :
playlistId(Zeichenfolge): ID der WiedergabelistetrackUris(Array): Array von hinzuzufügenden Track-URIs oder IDsposition(Zahl, optional): Position zum Einfügen von Titeln
Gibt zurück : Erfolgsstatus und Snapshot-ID
Beispiel :
addTracksToPlaylist({ playlistId: "3cEYpjA9oz9GiPac4AsH4n", trackUris: ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh"] })
Zur Warteschlange hinzufügen
Beschreibung : Fügt der aktuellen Wiedergabewarteschlange einen Titel, ein Album, einen Künstler oder eine Wiedergabeliste hinzu
Parameter :
uri(Zeichenfolge, optional): Spotify-URI des Elements, das zur Warteschlange hinzugefügt werden soll (überschreibt Typ und ID)type(Zeichenfolge, optional): Typ des in die Warteschlange einzureihenden Elements (Titel, Album, Interpret, Wiedergabeliste)id(Zeichenfolge, optional): Spotify-ID des in die Warteschlange einzureihenden ElementsdeviceId(Zeichenfolge, optional): ID des Geräts, auf dem die Warteschlange eingerichtet werden soll
Rückgabe : Erfolgsstatus
Beispiel :
addToQueue({ uri: "spotify:track:6rqhFgbbKwnb9MLmUQDhG6" })Alternative :
addToQueue({ type: "track", id: "6rqhFgbbKwnb9MLmUQDhG6" })
Aufstellen
Voraussetzungen
Node.js v16+
Ein Spotify Premium-Konto
Eine registrierte Spotify-Entwickleranwendung
Installation
Erstellen einer Spotify-Entwickleranwendung
Gehen Sie zum Spotify Developer Dashboard
Melden Sie sich mit Ihrem Spotify-Konto an
Klicken Sie auf die Schaltfläche „App erstellen“
Geben Sie den App-Namen und die Beschreibung ein
Akzeptieren Sie die Servicebedingungen und klicken Sie auf „Erstellen“.
Im Dashboard Ihrer neuen App sehen Sie Ihre Client-ID
Klicken Sie auf „Client Secret anzeigen“, um Ihr Client Secret anzuzeigen
Klicken Sie auf „Einstellungen bearbeiten“ und fügen Sie eine Umleitungs-URI hinzu (z. B.
http://localhost:8888/callback).Speichern Sie Ihre Änderungen
Spotify-API-Konfiguration
Erstellen Sie eine Datei spotify-config.json im Projektstamm (Sie können das bereitgestellte Beispiel kopieren und ändern):
Bearbeiten Sie dann die Datei mit Ihren Anmeldeinformationen:
Authentifizierungsprozess
Die Spotify-API verwendet OAuth 2.0 zur Authentifizierung. Führen Sie die folgenden Schritte aus, um Ihre Anwendung zu authentifizieren:
Führen Sie das Authentifizierungsskript aus:
Das Skript generiert eine Autorisierungs-URL. Öffnen Sie diese URL in Ihrem Webbrowser.
Sie werden aufgefordert, sich bei Spotify anzumelden und Ihre Anwendung zu autorisieren.
Nach der Autorisierung leitet Spotify Sie mit einem Codeparameter in der URL zu Ihrer angegebenen Weiterleitungs-URI weiter.
Das Authentifizierungsskript tauscht diesen Code automatisch gegen Zugriffs- und Aktualisierungstoken aus.
Diese Token werden in Ihrer Datei
spotify-config.jsongespeichert, die nun ungefähr so aussieht:
Der Server aktualisiert das Zugriffstoken bei Bedarf automatisch mithilfe des Aktualisierungstokens.
Integration mit Claude Desktop, Cursor und VsCode über die Cline-Modellerweiterung
Um Ihren MCP-Server mit Claude Desktop zu verwenden, fügen Sie ihn Ihrer Claude-Konfiguration hinzu:
Für den Cursor wechseln Sie in den Cursor Settings zur Registerkarte MCP (Befehl + Umschalt + J). Fügen Sie mit diesem Befehl einen Server hinzu:
Um Ihr MCP korrekt mit Cline einzurichten, stellen Sie sicher, dass Sie den folgenden Dateikonfigurationssatz cline_mcp_settings.json haben:
Sie können dem Array für die automatische Genehmigung zusätzliche Tools hinzufügen, um die Tools ohne Eingriff auszuführen.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Ein leichtgewichtiger Model Context Protocol-Server, der es KI-Assistenten wie Cursor und Claude ermöglicht, die Spotify-Wiedergabe zu steuern und Wiedergabelisten zu verwalten.
Related MCP Servers
- -security-license-qualityA Model Context Protocol server that enables controlling Spotify playback through natural language commands in MCP clients like Cursor or Claude for Desktop.Last updated -2
- Asecurity-licenseAqualityA Model Context Protocol server that allows AI assistants like Claude and Cursor to create music and control Sonic Pi programmatically through OSC messages.Last updated -218MIT License
- -security-license-qualityA Model Context Protocol server that enables AI assistants like Claude to interact with Spotify, allowing them to search for tracks, control playback, and manage playlists.Last updated -1
- Asecurity-licenseAqualityA Model Context Protocol server that enables Claude to interact with Spotify, allowing users to search for songs, create playlists, add tracks, and get recommendations using their Spotify account.Last updated -74