Spotify MCP Server

by obre10off
Verified

Servidor MCP de Spotify

Este proyecto implementa un servidor de Protocolo de Contexto de Modelo (MCP) que permite controlar la reproducción de Spotify usando lenguaje natural a través de un cliente MCP, como Cursor o Claude para Desktop (solo macOS y Windows).

Características

Este servidor expone las siguientes herramientas:

  • play : reproducir una pista, un álbum o una lista de reproducción, o reanudar la reproducción.
  • pause : Pausa la reproducción.
  • next : Saltar a la siguiente pista.
  • previous : Salta a la pista anterior.
  • get_current_track : obtiene información sobre la pista que se está reproduciendo actualmente.
  • search : busca pistas, álbumes, artistas o listas de reproducción.

Prerrequisitos

  • Bun (versión 1.0.0 o posterior)
  • Una cuenta Spotify Premium.
  • Una aplicación para desarrolladores de Spotify:
    • Crea uno en el Panel de desarrolladores de Spotify .
    • Obtenga su ID de cliente y secreto de cliente.
    • Agregue http://localhost:8888/callback a las URI de redireccionamiento en la configuración de su aplicación.
  • Un cliente MCP (por ejemplo, Cursor o Claude for Desktop).

Instalación y configuración

  1. Clonar el repositorio:
    git clone https://github.com/obre10off/spotify-mcp.git cd spotify-mcp
  2. Instalar dependencias:
    bun install
  3. Crea un archivo .env :Crea un archivo llamado .env en la raíz del directorio del proyecto. Agrega lo siguiente, reemplazando los marcadores con tus credenciales de Spotify:
    SPOTIFY_CLIENT_ID=your_spotify_client_id SPOTIFY_CLIENT_SECRET=your_spotify_client_secret SPOTIFY_REDIRECT_URI=http://localhost:8888/callback # These will be filled in after running the auth script: SPOTIFY_ACCESS_TOKEN= SPOTIFY_REFRESH_TOKEN=
  4. Ejecute el script de autorización:Este script abrirá su navegador, le solicitará que inicie sesión en Spotify y otorgue permisos, y luego recuperará su acceso inicial y sus tokens de actualización.
    bun run auth
    El script imprimirá los valores SPOTIFY_ACCESS_TOKEN y SPOTIFY_REFRESH_TOKEN en la consola. Copie estos valores en su archivo .env .
  5. Configure su cliente MCP:
    • Cursor:
      • Abra la configuración del cursor (Cmd+ o Ctrl+).
      • Buscar "Protocolo de contexto de modelo".
      • Haga clic en "Editar en settings.json".
      • Agregue lo siguiente a la matriz mcp.servers (reemplace /absolute/path/to/your/spotify-mcp con la ruta absoluta a su directorio spotify-mcp ):
        { "mcp.servers": [ { "spotify": { "command": "bun", "args": ["/absolute/path/to/your/spotify-mcp/src/index.ts"], "env": { "SPOTIFY_CLIENT_ID": "your_spotify_client_id", "SPOTIFY_CLIENT_SECRET": "your_spotify_client_secret", "SPOTIFY_REDIRECT_URI": "http://localhost:8888/callback", "SPOTIFY_ACCESS_TOKEN": "your_spotify_access_token", "SPOTIFY_REFRESH_TOKEN": "your_spotify_refresh_token" } } } ] }
        Se recomienda utilizar un archivo .env y solo colocar allí las variables de entorno relacionadas con Spotify, en lugar de agregar los valores al archivo settings.json.
    • Claude para escritorio (macOS/Windows):
      • Abra el archivo de configuración de Claude for Desktop:
        • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
        • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
      • Agregue lo siguiente al objeto mcpServers (reemplace /absolute/path/to/your/spotify-mcp con la ruta absoluta a su directorio spotify-mcp ): GXP6
    • Importante: utilice siempre rutas absolutas en la configuración de su cliente.
  6. Reinicie su cliente MCPAsegúrese de reiniciar su cliente MCP (Cursor/Claude) para aplicar la configuración.

Ejecución del servidor

bun run start This command starts the server with automatic reloading on file changes (thanks to Bun's --watch flag). Keep this terminal window open while you're using the server. ## Usage Once the server is running and your MCP client is configured, you can start using natural language commands to control Spotify. Examples: "Play Bohemian Rhapsody" "Pause the music" "What song is playing?" "Search for Taylor Swift albums" "Next track" "Play spotify:track:4uLU6hMCjMI75M1A2tKUQC"
-
security - not tested
-
license - not tested
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite controlar la reproducción de Spotify a través de comandos de lenguaje natural en clientes MCP como Cursor o Claude for Desktop.

  1. Features
    1. Prerequisites
      1. Installation and Setup
        1. Running the Server
          ID: 4xocsor6an