MCP Claude Spotify
Merkmale
- Spotify-Authentifizierung
- Suche nach Titeln, Alben, Künstlern und Playlists
- Wiedergabesteuerung (Wiedergabe, Pause, Weiter, Zurück)
- Erstellen und Verwalten von Wiedergabelisten
- Erhalten Sie personalisierte Empfehlungen
- Zugriff auf die am häufigsten gespielten Titel des Benutzers über verschiedene Zeiträume
Demo
Anforderungen
- Node.js 16 oder höher
- Spotify-Konto
- Claude Desktop
- Spotify-API-Anmeldeinformationen (Client-ID und Client-Geheimnis)
Installation
Installation über Smithery
So installieren Sie MCP Claude Spotify für Claude Desktop automatisch über Smithery :
Manuelle Installation
- Klonen oder laden Sie dieses Repository herunter:
- Installieren Sie Abhängigkeiten:
- Erstellen Sie das Projekt (wenn Sie den Quellcode ändern möchten):
Das Repository enthält bereits vorgefertigte Dateien im build
Verzeichnis, sodass Sie Schritt 3 überspringen können, wenn Sie nicht vorhaben, den Quellcode zu ändern.
Einrichten der Spotify-Anmeldeinformationen
Um dieses MCP zu verwenden, müssen Sie die Spotify-API-Anmeldeinformationen abrufen:
- Gehen Sie zum Spotify Developer Dashboard
- Melden Sie sich mit Ihrem Spotify-Konto an
- Klicken Sie auf „App erstellen“
- Geben Sie Ihre App-Informationen ein:
- App-Name: „MCP Claude Spotify“ (oder was auch immer Sie bevorzugen)
- App-Beschreibung: „Spotify-Integration für Claude Desktop“
- Website: Sie können dieses Feld leer lassen oder eine beliebige URL eingeben.
- Umleitungs-URI: Wichtig – Fügen Sie
http://127.0.0.1:8888/callback
hinzu
- Akzeptieren Sie die Allgemeinen Geschäftsbedingungen und klicken Sie auf „Erstellen“.
- In Ihrem App-Dashboard sehen Sie die „Client-ID“
- Klicken Sie auf „Client Secret anzeigen“, um Ihr „Client Secret“ anzuzeigen.
Speichern Sie diese Anmeldeinformationen, da Sie sie für die Konfiguration benötigen.
Ausführen des MCP-Servers
Es gibt zwei Möglichkeiten, den MCP-Server auszuführen:
Option 1: Manuelle Ausführung (empfohlen für die Ersteinrichtung und Fehlerbehebung)
- Öffnen Sie ein Terminal oder eine Eingabeaufforderung
- Navigieren Sie zum Projektverzeichnis
- Führen Sie den Server direkt aus:
Lassen Sie dieses Terminalfenster geöffnet, während Sie Claude Desktop verwenden. Der Server läuft, bis Sie das Terminal schließen.
Option 2: Autostart mit Claude Desktop (empfohlen für den regelmäßigen Gebrauch)
Der Claude Desktop kann den MCP-Server bei Bedarf automatisch starten. So richten Sie dies ein:
Konfiguration
Die Konfigurationsdatei von Claude Desktop befindet sich unter:
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows :
%APPDATA%\Claude\claude_desktop_config.json
Bearbeiten Sie diese Datei, um die Spotify MCP-Konfiguration hinzuzufügen. Falls die Datei nicht vorhanden ist, erstellen Sie sie:
Wichtig : Ersetzen:
ABSOLUTE_PATH_TO_DIRECTORY
mit dem vollständigen absoluten Pfad, in dem Sie MCP installiert haben- macOS/Linux-Beispiel:
/Users/username/mcp-claude-spotify
- Windows-Beispiel:
C:\\Users\\username\\mcp-claude-spotify
- macOS/Linux-Beispiel:
your_client_id_here
durch die Client-ID, die Sie von Spotify erhalten habenyour_client_secret_here
durch das Client Secret, das Sie von Spotify erhalten haben
Wenn Sie bereits andere MCPs konfiguriert haben, fügen Sie einfach den Abschnitt „Spotify“ innerhalb des Objekts „mcpServers“ hinzu.
Einrichten von Autostart-Skripten (optional)
Für ein zuverlässigeres Erlebnis können Sie Autostart-Skripte einrichten:
- Erstellen Sie im Projektverzeichnis eine Datei namens
start-spotify-mcp.bat
mit folgendem Inhalt:
- Erstellen Sie eine Verknüpfung zu dieser BAT-Datei
- Drücken Sie
Win+R
, geben Sieshell:startup
ein und drücken Sie die Eingabetaste - Verschieben Sie die Verknüpfung in diesen Ordner, damit er mit Windows gestartet wird
- Erstellen Sie eine Datei mit dem Namen
com.spotify.mcp.plist
in~/Library/LaunchAgents/
mit folgendem Inhalt:
- Ersetzen Sie den Pfad und die Anmeldeinformationen durch Ihre tatsächlichen Werte
- Laden Sie den Agenten mit:
launchctl load ~/Library/LaunchAgents/com.spotify.mcp.plist
- Erstellen Sie eine Datei mit dem Namen
spotify-mcp.service
in~/.config/systemd/user/
(erstellen Sie das Verzeichnis, falls es nicht existiert):
- Ersetzen Sie den Pfad und die Anmeldeinformationen durch Ihre tatsächlichen Werte
- Aktivieren und starten Sie den Dienst:
- Überprüfen Sie den Status mit:
Verwendung
- Starten Sie Claude Desktop nach der Änderung der Konfiguration neu
- Verwenden Sie in Claude den Befehl
auth-spotify
um den Authentifizierungsprozess zu starten - Es öffnet sich ein Browserfenster, in dem Sie die Anwendung autorisieren können
- Melden Sie sich mit Ihrem Spotify-Konto an und autorisieren Sie die Anwendung
- Wichtig : Starten Sie Claude Desktop nach erfolgreicher Authentifizierung neu, um die Tool-Registrierung und den WebSocket-Sitzungstoken-Cache des MCP ordnungsgemäß zu initialisieren.
- Nach dem Neustart sind alle Spotify MCP-Tools ordnungsgemäß registriert und stehen zur Verwendung zur Verfügung
Der MCP-Server läuft als untergeordneter Prozess und wird von Claude Desktop verwaltet. Wenn Claude läuft, startet und verwaltet er automatisch den Node.js-Serverprozess basierend auf der Konfiguration in claude_desktop_config.json
.
Verfügbare Tools
Auth-Spotify
Startet den Spotify-Authentifizierungsprozess.
Suche-Spotify
Sucht nach Titeln, Alben, Künstlern oder Wiedergabelisten.
Parameter:
query
: Suchtexttype
: Art der Suche (Titel, Album, Künstler, Playlist)limit
: Anzahl der Ergebnisse (1-50)
Titel abspielen
Spielt einen bestimmten Titel ab.
Parameter:
trackId
: Spotify-Titel-IDdeviceId
: (Optional) Spotify-Geräte-ID zum Abspielen
Aktuelle Wiedergabe abrufen
Ruft Informationen zur aktuellen Wiedergabe ab.
Pause-Wiedergabe
Pausiert die Wiedergabe.
nächster Titel
Springt zum nächsten Titel.
vorheriger Titel
Kehrt zum vorherigen Titel zurück.
Benutzer-Wiedergabelisten abrufen
Ruft die Wiedergabelisten des Benutzers ab.
Playlist erstellen
Erstellt eine neue Wiedergabeliste.
Parameter:
name
: Name der Wiedergabelistedescription
: (Optional) Beschreibungpublic
: (Optional) Ob es öffentlich oder privat ist
Titel zur Playlist hinzufügen
Fügt einer Wiedergabeliste Titel hinzu.
Parameter:
playlistId
: Wiedergabelisten-IDtrackIds
: Array von Track-IDs
Empfehlungen erhalten
Erhält Empfehlungen basierend auf Seeds.
Parameter:
seedTracks
: (Optional) Array von Track-IDsseedArtists
: (Optional) Array von Künstler-IDsseedGenres
: (Optional) Array von Genreslimit
: (Optional) Anzahl der Empfehlungen (1-100)
Top-Tracks erhalten
Ruft die am häufigsten gespielten Titel des Benutzers über einen angegebenen Zeitraum ab.
Parameter:
limit
: (Optional) Anzahl der zurückzugebenden Titel (1-50, Standard: 20)offset
: (Optional) Index des ersten zurückzugebenden Titels (Standard: 0)time_range
: (Optional) Zeitrahmen für die Berechnung der Affinität:short_term
: Ungefähr die letzten 4 Wochenmedium_term
: Ungefähr die letzten 6 Monate (Standard)long_term
: Daten mehrerer Jahre
Fehlerbehebung
Fehler „Server getrennt“
Wenn in Claude Desktop der Fehler „MCP Spotify: Server getrennt“ angezeigt wird:
- Überprüfen Sie, ob der Server läuft :
- Öffnen Sie ein Terminal und führen Sie
node build/index.js
manuell aus dem Projektverzeichnis aus - Wenn der Server erfolgreich startet, verwenden Sie Claude, während Sie dieses Terminal geöffnet halten
- Öffnen Sie ein Terminal und führen Sie
- Überprüfen Sie Ihre Konfiguration :
- Stellen Sie sicher, dass der absolute Pfad in
claude_desktop_config.json
für Ihr System korrekt ist - Überprüfen Sie noch einmal, ob Sie doppelte Backslashes (
\\
) für Windows-Pfade verwendet haben - Stellen Sie sicher, dass Sie den vollständigen Pfad vom Stammverzeichnis Ihres Dateisystems verwenden.
- Stellen Sie sicher, dass der absolute Pfad in
- Probieren Sie die Autostart-Option :
- Richten Sie das Autostart-Skript für Ihr Betriebssystem ein, wie im Abschnitt „Einrichten von Autostart-Skripten“ beschrieben.
- Dadurch wird sichergestellt, dass der Server immer läuft, wenn Sie ihn brauchen
Browser öffnet sich nicht automatisch
Wenn der Browser während der Authentifizierung nicht automatisch geöffnet wird, besuchen Sie manuell: http://127.0.0.1:8888/login
Authentifizierungsfehler
Stellen Sie sicher, dass Sie die Umleitungs-URI in Ihrem Spotify-Entwickler-Dashboard korrekt konfiguriert haben: http://127.0.0.1:8888/callback
Server-Startfehler
Überprüfen Sie Folgendes:
- Umgebungsvariablen sind in Ihrer
claude_desktop_config.json
oder Ihrem Startskript korrekt konfiguriert - Node.js ist installiert und kompatibel (v16+)
- Erforderliche Ports (8888) sind verfügbar und nicht durch die Firewall blockiert
- Sie haben die Berechtigung, das Skript am angegebenen Speicherort auszuführen
Werkzeuge, die in Claude nicht erscheinen
Wenn die Spotify-Tools nach der Authentifizierung nicht in Claude angezeigt werden:
- Stellen Sie sicher, dass Sie Claude Desktop nach erfolgreicher Authentifizierung neu gestartet haben
- Überprüfen Sie die Claude Desktop-Protokolle auf MCP-Kommunikationsfehler
- Stellen Sie sicher, dass der MCP-Serverprozess ausgeführt wird (führen Sie ihn zur Bestätigung manuell aus).
- Überprüfen Sie, ob der MCP-Server korrekt in der Claude Desktop MCP-Registrierung registriert ist
Überprüfen, ob der Server läuft
So überprüfen Sie, ob der Server läuft:
- Windows : Öffnen Sie den Task-Manager, gehen Sie zur Registerkarte „Details“ und suchen Sie nach „node.exe“.
- macOS/Linux : Öffnen Sie das Terminal und führen Sie
ps aux | grep node
aus.
Wenn der Server nicht ausgeführt wird, starten Sie ihn manuell oder verwenden Sie die Autostart-Methode.
Testen
Dieses Projekt umfasst automatisierte Tests zur Sicherstellung der Codequalität und Funktionalität. Die Testsuite verwendet Jest mit TypeScript-Unterstützung und umfasst:
- Zod-Schemavalidierung – überprüft alle Eingabeschemata und validiert die Daten korrekt
- Spotify-API-Interaktionen – testet die API-Anforderungsverarbeitung und Fehlerbehandlung
- MCP-Serverfunktionalität – gewährleistet die ordnungsgemäße Registrierung und Ausführung von Tools
Ausführen von Tests
Stellen Sie zunächst sicher, dass alle Entwicklungsabhängigkeiten installiert sind:
So führen Sie alle Tests aus:
So führen Sie eine bestimmte Testdatei aus:
Wenn Probleme mit ESM-Modulen auftreten, stellen Sie sicher, dass Sie Node.js v16 oder höher verwenden und dass die Umgebungsvariable NODE_OPTIONS das Flag --experimental-vm-modules
enthält, wie in package.json konfiguriert.
Teststruktur
tests/schemas.test.ts
: Tests für Eingabevalidierungsschematatests/spotify-api.test.ts
: Tests für Spotify-API-Interaktionentests/server.test.ts
: Tests für die MCP-Serverfunktionalität
Neue Tests hinzufügen
Wenn Sie neue Funktionen hinzufügen, schließen Sie bitte entsprechende Tests ein:
- Für neue Schemata fügen Sie Validierungstests in
schemas.test.ts
hinzu - Für Spotify-API-Funktionen fügen Sie Tests in
spotify-api.test.ts
- Für MCP-Tools fügen Sie Tests in
server.test.ts
hinzu
Alle Tests sollten mit Jest und dem ESM-Modulformat mit TypeScript geschrieben werden.
Sicherheitshinweise
- Geben Sie niemals Ihre Client-ID und Ihr Client-Geheimnis weiter
- Das Zugriffstoken wird jetzt im Home-Verzeichnis des Benutzers unter
~/.spotify-mcp/tokens.json
gespeichert, um die Persistenz zwischen Sitzungen und mehreren Instanzen zu ermöglichen - Es werden keine Benutzerdaten auf der Festplatte gespeichert
Widerrufen des Anwendungszugriffs
Aus Sicherheitsgründen möchten Sie möglicherweise den Zugriff der Anwendung auf Ihr Spotify-Konto widerrufen, wenn:
- Sie verwenden diese Integration nicht mehr
- Sie vermuten einen unberechtigten Zugriff
- Sie beheben Authentifizierungsprobleme
So widerrufen Sie den Zugriff:
- Gehen Sie zu Ihrer Spotify-Kontoseite
- Navigieren Sie im Menü zu „Apps“
- Suchen Sie nach „MCP Claude Spotify“ (oder dem Namen, den Sie für Ihre App gewählt haben).
- Klicken Sie auf „ZUGRIFF ENTFERNEN“
Dadurch werden alle Zugriffs- und Aktualisierungstoken sofort ungültig. Wenn Sie den Befehl auth-spotify
das nächste Mal verwenden, müssen Sie die Anwendung erneut autorisieren.
Beitragen
Beiträge sind willkommen! Hier sind einige Richtlinien:
Entwicklungs-Workflow
- Forken Sie das Repository
- Erstellen Sie einen Feature-Zweig (
git checkout -b feature/amazing-feature
) - Nehmen Sie Ihre Änderungen vor
- Führen Sie Tests durch, um sicherzustellen, dass sie erfolgreich sind (
npm test
) - Übernehmen Sie Ihre Änderungen (
git commit -m 'Add some amazing feature'
) - Pushen zum Zweig (
git push origin feature/amazing-feature
) - Öffnen einer Pull-Anfrage
Richtlinien für den Codestil
Dieses Projekt folgt diesen Codierungsstandards:
- Verwenden Sie TypeScript mit strenger Typprüfung
- Folgen Sie dem ESM-Modulformat
- Verwenden Sie 2 Leerzeichen für die Einrückung
- Verwenden Sie camelCase für Variablen und Funktionen
- Verwenden Sie PascalCase für Klassen und Schnittstellen
- Dokumentfunktionen mit JSDoc-Kommentaren
- Halten Sie die Zeilenlänge unter 100 Zeichen
Projektstruktur
Das Projekt folgt dieser Struktur:
Pull Request-Prozess
- Stellen Sie sicher, dass Ihr Code den Stilrichtlinien entspricht
- Aktualisieren Sie die Dokumentation bei Bedarf
- Fügen Sie Tests für neue Funktionen hinzu
- Stellen Sie sicher, dass alle Tests erfolgreich sind
- Ihr PR wird von Betreuern überprüft
Weiterführende Links
Lizenz
Dieses Projekt ist unter der Mozilla Public License 2.0 lizenziert – Einzelheiten finden Sie in der Datei LICENSE .
You must be authenticated.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Eine Integration, die Claude Desktop die Interaktion mit Spotify ermöglicht und es Benutzern ermöglicht, die Wiedergabe zu steuern, Musik zu suchen, Wiedergabelisten zu verwalten und Empfehlungen über natürliche Sprachbefehle zu erhalten.
Related MCP Servers
- AsecurityFlicenseAqualityA server that connects Claude with Spotify, allowing users to control playback, search content, get information about tracks/albums/artists/playlists, and manage the Spotify queue.Last updated -4273Python
- AsecurityFlicenseAqualityConnects Claude with Spotify, allowing users to control playback, search for content, get music information, and manage the Spotify queue.Last updated -81Python
- -securityFlicense-qualityConnects Claude with Spotify, enabling playback control, search functionality, and queue management through Spotify's API.Last updated -Python
- -securityFlicense-qualityConnects Claude with Spotify to control playback, search music, get track information, and manage the queue through conversation.Last updated -Python