Skip to main content
Glama
Spotify MCP Server

Spotify MCP Server

by hrishi0102

Servidor MCP de Spotify

Un servidor simple de Protocolo de Contexto de Modelo (MCP) que te permite interactuar con Spotify a través de Claude. Este servidor permite a Claude buscar canciones, crear listas de reproducción, obtener recomendaciones y mucho más usando tu cuenta de Spotify.

Características

  • Buscar pistas en Spotify

  • Ver tu perfil de Spotify

  • Crear listas de reproducción

  • Agregar pistas a listas de reproducción

  • Obtenga recomendaciones musicales personalizadas

Related MCP server: Spotify MCP Server

Herramientas disponibles

Nombre de la herramienta

Descripción

set-spotify-credentials

Establezca sus credenciales de autenticación de Spotify

check-credentials-status

Comprueba si tus credenciales son válidas y quién ha iniciado sesión

search-tracks

Busque pistas por nombre, artista o palabras clave

get-current-user

Obtén la información de tu perfil de Spotify

create-playlist

Crea una nueva lista de reproducción en tu cuenta

add-tracks-to-playlist

Agregar pistas a una lista de reproducción existente

get-recommendations

Obtenga recomendaciones basadas en pistas de semillas

Instrucciones de configuración

1. Requisitos previos

  • Node.js v16 o superior

  • npm

  • Una cuenta de Spotify

  • Una aplicación de desarrollador de Spotify registrada

2. Crea una aplicación para desarrolladores de Spotify

  1. Ir al panel de desarrolladores de Spotify

  2. Inicia sesión con tu cuenta de Spotify

  3. Haga clic en "Crear una aplicación"

  4. Complete el nombre y la descripción de la aplicación.

  5. Agregue http://localhost:8888/callback como URI de redireccionamiento

  6. Anote su ID de cliente y su secreto de cliente

3. Instalar el proyecto

# Clone or download the project first
cd spotify-mcp-server

# Install dependencies
npm install

4. Consigue tus tokens de Spotify

Edite el archivo spotify-auth.js para incluir su ID de cliente y secreto de cliente:

// Replace these with your Spotify app credentials
const CLIENT_ID = "your_client_id_here";
const CLIENT_SECRET = "your_client_secret_here";

Luego ejecute el script de autenticación:

node spotify-auth.js

Esto hará lo siguiente:

  1. Abra una URL en su navegador

  2. Le solicitará que inicie sesión en Spotify

  3. Solicita tu permiso para acceder a tu cuenta

  4. Guarde los tokens en secrets.json

5. Construya el servidor MCP

npm run build

6. Configurar Claude Desktop

Edite su archivo de configuración de Claude Desktop:

  • En macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • En Windows: %APPDATA%\Claude\claude_desktop_config.json

Agregue la siguiente configuración:

{
  "mcpServers": {
    "spotify": {
      "command": "node",
      "args": ["/full/path/to/spotify-mcp-server/build/spotify-mcp-server.js"]
    }
  }
}

Reemplace /full/path/to/spotify-mcp-server con la ruta real al directorio de su proyecto.

7. Reinicie Claude Desktop

Cierre y vuelva a abrir Claude Desktop para cargar la nueva configuración.

Uso

Cuando inicies una conversación con Claude, primero deberás configurar tus credenciales de Spotify:

  1. Mira tu archivo secrets.json para obtener tus credenciales

  2. Utilice la herramienta set-spotify-credentials para autenticarse

  3. Luego usa cualquiera de las otras herramientas de Spotify

Ejemplos de indicaciones

Configuración de credenciales

I want to connect to my Spotify account. Here are my credentials from secrets.json:

Tool: set-spotify-credentials
Parameters:
{
  "clientId": "your_client_id",
  "clientSecret": "your_client_secret",
  "accessToken": "your_access_token",
  "refreshToken": "your_refresh_token"
}

Comandos básicos

Revisa tu cuenta:

Can you check who I'm logged in as on Spotify?

Tool: get-current-user
Parameters: {}

Buscar pistas:

Search for songs by Weekend

Tool: search-tracks
Parameters:
{
  "query": "Taylor Swift",
  "limit": 5
}

Crear una lista de reproducción:

Create a new playlist called "My Pretty pretty girlfriend"

Tool: create-playlist
Parameters:
{
  "name": "My Pretty pretty girlfriend",
  "description": "For my girlfriend. Created with Claude and the Spotify MCP server"
}

Tareas de varios pasos

Creando una lista de reproducción con canciones:

I want to create a workout playlist with energetic songs. First, search for some high-energy songs. Then create a playlist called "Workout Mix" and add those songs to it.

Obtener recomendaciones basadas en favoritos:

I like the song "Blinding Lights" by The Weeknd. Can you search for it, then find similar songs, and create a playlist with those recommendations?

Solución de problemas

  • Error: No hay token de acceso disponible : primero debe configurar sus credenciales usando la herramienta set-spotify-credentials

  • Errores de autenticación : Es posible que sus tokens hayan expirado. Vuelva a ejecutar el script de autenticación para obtener tokens nuevos.

  • Credenciales no válidas : Verifique que esté utilizando el ID de cliente y el secreto de cliente correctos

Notas

  • El servidor almacena las credenciales sólo en la memoria

  • Necesitarás establecer credenciales cada vez que inicies una nueva conversación

  • Si Claude Desktop se reinicia, deberá configurar las credenciales nuevamente

Available Tools

7 tools
add-tracks-to-playlistD
NameRequiredDescriptionDefault
playlistIdYesThe Spotify playlist ID
trackUrisYesArray of Spotify track URIs to add

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check-credentials-statusD
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-playlistD
NameRequiredDescriptionDefault
descriptionNoDescription of the playlist
nameYesName of the playlist

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-current-userD
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-recommendationsD
NameRequiredDescriptionDefault
limitNoNumber of recommendations to return
seedTracksYesSpotify track IDs to use as seeds (max 5)

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search-tracksD
NameRequiredDescriptionDefault
limitNoNumber of results to return
queryYesSearch query for tracks

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set-spotify-credentialsD
NameRequiredDescriptionDefault
accessTokenYesThe Spotify Access Token
clientIdYesThe Spotify Client ID
clientSecretYesThe Spotify Client Secret
refreshTokenYesThe Spotify Refresh Token

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv1.0.0
    • First observedadd-tracks-to-playlist
    • First observedcheck-credentials-status
    • First observedcreate-playlist
    • First observedget-current-user
    • First observedget-recommendations
    • First observedsearch-tracks
    • First observedset-spotify-credentials

TDQS

D1.8/5.0

Scored across 7 tools

Disambiguation4/5

Most tools have distinct purposes targeting different Spotify resources like playlists, user info, recommendations, and tracks, but 'add-tracks-to-playlist' and 'create-playlist' could be confused if an agent needs to both create and populate a playlist in one operation. The lack of descriptions increases minor ambiguity.

Naming Consistency3/5

The naming uses a mix of verb-noun patterns (e.g., 'create-playlist', 'search-tracks') and more descriptive phrases (e.g., 'check-credentials-status', 'set-spotify-credentials'), with all tools using kebab-case. This is readable but lacks a strict, predictable convention across all tools.

Tool Count5/5

With 7 tools, this server is well-scoped for a Spotify integration, covering core functionalities like user management, playlist operations, search, and recommendations without being overwhelming or too sparse.

Completeness3/5

The toolset covers key Spotify operations like user info, search, recommendations, and playlist management, but lacks update or delete operations for playlists and tracks, and missing tools for managing playback or albums creates notable gaps in a full music streaming workflow.

Maintenance

ActivityInactive
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Connects Claude to Spotify for music discovery, playlist creation, and collection analysis through natural language. Enables searching songs, analyzing music diversity, creating playlists, and getting recommendations using Spotify's API.
    -