Skip to main content
Glama

MCP Claude Spotify

Mozilla Public License 2.0
9
  • Apple
  • Linux

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 :

npx -y @smithery/cli install @imprvhub/mcp-claude-spotify --client claude

Manuelle Installation

  1. Klonen oder laden Sie dieses Repository herunter:
git clone https://github.com/imprvhub/mcp-claude-spotify cd claude-spotify-mcp
  1. Installieren Sie Abhängigkeiten:
npm install
  1. Erstellen Sie das Projekt (wenn Sie den Quellcode ändern möchten):
npm run build

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:

  1. Gehen Sie zum Spotify Developer Dashboard
  2. Melden Sie sich mit Ihrem Spotify-Konto an
  3. Klicken Sie auf „App erstellen“
  4. 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
  5. Akzeptieren Sie die Allgemeinen Geschäftsbedingungen und klicken Sie auf „Erstellen“.
  6. In Ihrem App-Dashboard sehen Sie die „Client-ID“
  7. 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)

  1. Öffnen Sie ein Terminal oder eine Eingabeaufforderung
  2. Navigieren Sie zum Projektverzeichnis
  3. Führen Sie den Server direkt aus:
node build/index.js

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:

{ "mcpServers": { "spotify": { "command": "node", "args": ["ABSOLUTE_PATH_TO_DIRECTORY/mcp-claude-spotify/build/index.js"], "env": { "SPOTIFY_CLIENT_ID": "your_client_id_here", "SPOTIFY_CLIENT_SECRET": "your_client_secret_here" } } } }

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
  • your_client_id_here durch die Client-ID, die Sie von Spotify erhalten haben
  • your_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:

  1. Erstellen Sie im Projektverzeichnis eine Datei namens start-spotify-mcp.bat mit folgendem Inhalt:
@echo off cd %~dp0 node build/index.js
  1. Erstellen Sie eine Verknüpfung zu dieser BAT-Datei
  2. Drücken Sie Win+R , geben Sie shell:startup ein und drücken Sie die Eingabetaste
  3. Verschieben Sie die Verknüpfung in diesen Ordner, damit er mit Windows gestartet wird
  4. Erstellen Sie eine Datei mit dem Namen com.spotify.mcp.plist in ~/Library/LaunchAgents/ mit folgendem Inhalt:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.spotify.mcp</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/node</string> <string>ABSOLUTE_PATH_TO_DIRECTORY/mcp-claude-spotify/build/index.js</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> <key>StandardErrorPath</key> <string>/tmp/spotify-mcp.err</string> <key>StandardOutPath</key> <string>/tmp/spotify-mcp.out</string> <key>EnvironmentVariables</key> <dict> <key>SPOTIFY_CLIENT_ID</key> <string>your_client_id_here</string> <key>SPOTIFY_CLIENT_SECRET</key> <string>your_client_secret_here</string> </dict> </dict> </plist>
  1. Ersetzen Sie den Pfad und die Anmeldeinformationen durch Ihre tatsächlichen Werte
  2. Laden Sie den Agenten mit: launchctl load ~/Library/LaunchAgents/com.spotify.mcp.plist
  3. Erstellen Sie eine Datei mit dem Namen spotify-mcp.service in ~/.config/systemd/user/ (erstellen Sie das Verzeichnis, falls es nicht existiert):
[Unit] Description=Spotify MCP Server for Claude Desktop After=network.target [Service] Type=simple ExecStart=/usr/bin/node ABSOLUTE_PATH_TO_DIRECTORY/mcp-claude-spotify/build/index.js Restart=on-failure Environment="SPOTIFY_CLIENT_ID=your_client_id_here" Environment="SPOTIFY_CLIENT_SECRET=your_client_secret_here" [Install] WantedBy=default.target
  1. Ersetzen Sie den Pfad und die Anmeldeinformationen durch Ihre tatsächlichen Werte
  2. Aktivieren und starten Sie den Dienst:
systemctl --user enable spotify-mcp.service systemctl --user start spotify-mcp.service
  1. Überprüfen Sie den Status mit:
systemctl --user status spotify-mcp.service

Verwendung

  1. Starten Sie Claude Desktop nach der Änderung der Konfiguration neu
  2. Verwenden Sie in Claude den Befehl auth-spotify um den Authentifizierungsprozess zu starten
  3. Es öffnet sich ein Browserfenster, in dem Sie die Anwendung autorisieren können
  4. Melden Sie sich mit Ihrem Spotify-Konto an und autorisieren Sie die Anwendung
  5. Wichtig : Starten Sie Claude Desktop nach erfolgreicher Authentifizierung neu, um die Tool-Registrierung und den WebSocket-Sitzungstoken-Cache des MCP ordnungsgemäß zu initialisieren.
  6. 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 : Suchtext
  • type : 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-ID
  • deviceId : (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 Wiedergabeliste
  • description : (Optional) Beschreibung
  • public : (Optional) Ob es öffentlich oder privat ist

Titel zur Playlist hinzufügen

Fügt einer Wiedergabeliste Titel hinzu.

Parameter:

  • playlistId : Wiedergabelisten-ID
  • trackIds : Array von Track-IDs

Empfehlungen erhalten

Erhält Empfehlungen basierend auf Seeds.

Parameter:

  • seedTracks : (Optional) Array von Track-IDs
  • seedArtists : (Optional) Array von Künstler-IDs
  • seedGenres : (Optional) Array von Genres
  • limit : (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 Wochen
    • medium_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:

  1. Ü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
  2. Ü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.
  3. 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:

npm install

So führen Sie alle Tests aus:

npm test

So führen Sie eine bestimmte Testdatei aus:

npm test -- --testMatch="**/tests/schemas.test.ts"

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 Eingabevalidierungsschemata
  • tests/spotify-api.test.ts : Tests für Spotify-API-Interaktionen
  • tests/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:

  1. Für neue Schemata fügen Sie Validierungstests in schemas.test.ts hinzu
  2. Für Spotify-API-Funktionen fügen Sie Tests in spotify-api.test.ts
  3. 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:

  1. Gehen Sie zu Ihrer Spotify-Kontoseite
  2. Navigieren Sie im Menü zu „Apps“
  3. Suchen Sie nach „MCP Claude Spotify“ (oder dem Namen, den Sie für Ihre App gewählt haben).
  4. 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

  1. Forken Sie das Repository
  2. Erstellen Sie einen Feature-Zweig ( git checkout -b feature/amazing-feature )
  3. Nehmen Sie Ihre Änderungen vor
  4. Führen Sie Tests durch, um sicherzustellen, dass sie erfolgreich sind ( npm test )
  5. Übernehmen Sie Ihre Änderungen ( git commit -m 'Add some amazing feature' )
  6. Pushen zum Zweig ( git push origin feature/amazing-feature )
  7. Ö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:

mcp-claude-spotify/ ├── src/ # Source code ├── build/ # Compiled JavaScript ├── tests/ # Test files ├── public/ # Public assets └── ...

Pull Request-Prozess

  1. Stellen Sie sicher, dass Ihr Code den Stilrichtlinien entspricht
  2. Aktualisieren Sie die Dokumentation bei Bedarf
  3. Fügen Sie Tests für neue Funktionen hinzu
  4. Stellen Sie sicher, dass alle Tests erfolgreich sind
  5. Ihr PR wird von Betreuern überprüft

Lizenz

Dieses Projekt ist unter der Mozilla Public License 2.0 lizenziert – Einzelheiten finden Sie in der Datei LICENSE .

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

  1. Merkmale
    1. Demo
      1. Anforderungen
        1. Installation
          1. Installation über Smithery
          2. Manuelle Installation
        2. Einrichten der Spotify-Anmeldeinformationen
          1. Ausführen des MCP-Servers
            1. Option 1: Manuelle Ausführung (empfohlen für die Ersteinrichtung und Fehlerbehebung)
            2. Option 2: Autostart mit Claude Desktop (empfohlen für den regelmäßigen Gebrauch)
          2. Verwendung
            1. Verfügbare Tools
              1. Auth-Spotify
              2. Suche-Spotify
              3. Titel abspielen
              4. Aktuelle Wiedergabe abrufen
              5. Pause-Wiedergabe
              6. nächster Titel
              7. vorheriger Titel
              8. Benutzer-Wiedergabelisten abrufen
              9. Playlist erstellen
              10. Titel zur Playlist hinzufügen
              11. Empfehlungen erhalten
              12. Top-Tracks erhalten
            2. Fehlerbehebung
              1. Fehler „Server getrennt“
              2. Browser öffnet sich nicht automatisch
              3. Authentifizierungsfehler
              4. Server-Startfehler
              5. Werkzeuge, die in Claude nicht erscheinen
              6. Überprüfen, ob der Server läuft
            3. Testen
              1. Ausführen von Tests
              2. Teststruktur
              3. Neue Tests hinzufügen
            4. Sicherheitshinweise
              1. Widerrufen des Anwendungszugriffs
            5. Beitragen
              1. Entwicklungs-Workflow
              2. Richtlinien für den Codestil
              3. Projektstruktur
              4. Pull Request-Prozess
            6. Weiterführende Links
              1. Lizenz

                Related MCP Servers

                • A
                  security
                  F
                  license
                  A
                  quality
                  A 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 -
                  4
                  273
                  Python
                  • Apple
                • A
                  security
                  F
                  license
                  A
                  quality
                  Connects Claude with Spotify, allowing users to control playback, search for content, get music information, and manage the Spotify queue.
                  Last updated -
                  8
                  1
                  Python
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  Connects Claude with Spotify, enabling playback control, search functionality, and queue management through Spotify's API.
                  Last updated -
                  Python
                  • Apple
                • -
                  security
                  F
                  license
                  -
                  quality
                  Connects Claude with Spotify to control playback, search music, get track information, and manage the queue through conversation.
                  Last updated -
                  Python

                View all related MCP servers

                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/imprvhub/mcp-claude-spotify'

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