Token导航 LogoToken导航

MCP Server · AI代理

MCP Spotify Render

一个轻量级的Model Context Protocol (MCP)服务器,使AI助手如Cursor和Claude能够控制Spotify播放和管理播放列表。

未说明官方级别未说明来源级核验工具 17
TypeScriptClaudeAI代理Claude DesktopCursorCline

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
AlexSchardin
提供方
AlexSchardin

工具数量

17

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Spotify Render 属于AI代理类 MCP Server,公开资料标注 17 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude、Cursor,没有现成的安装命令;接入前要先准备 OAuth 授权。

分类

AI代理

传输方式

未说明

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 17 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

Spotify MCP Server

A lightweight Model Context Protocol (MCP) server that enables AI assistants like Cursor & Claude to control Spotify playback and manage playlists.

Contents

- Read Operations - Album Operations - Play / Create Operations

- Prerequisites - Installation - Creating a Spotify Developer Application - Spotify API Configuration - Authentication Process

Example Interactions

  • _"Play Elvis's first song"_
  • _"Create a Taylor Swift / Slipknot fusion playlist"_
  • _"Copy all the techno tracks from my workout playlist to my work playlist"_

Tools

Read Operations

  1. searchSpotify

- Description: Search for tracks, albums, artists, or playlists on Spotify - Parameters: - query (string): The search term - type (string): Type of item to search for (track, album, artist, playlist) - limit (number, optional): Maximum number of results to return (10-50) - Returns: List of matching items with their IDs, names, and additional details - Example: searchSpotify("bohemian rhapsody", "track", 20)

  1. getNowPlaying

- Description: Get information about the currently playing track on Spotify - Parameters: None - Returns: Object containing track name, artist, album, playback progress, duration, and playback state - Example: getNowPlaying()

  1. getMyPlaylists

- Description: Get a list of the current user's playlists on Spotify - Parameters: - limit (number, optional): Maximum number of playlists to return (default: 20) - offset (number, optional): Index of the first playlist to return (default: 0) - Returns: Array of playlists with their IDs, names, track counts, and public status - Example: getMyPlaylists(10, 0)

  1. getPlaylistTracks

- Description: Get a list of tracks in a specific Spotify playlist - Parameters: - playlistId (string): The Spotify ID of the playlist - limit (number, optional): Maximum number of tracks to return (default: 100) - offset (number, optional): Index of the first track to return (default: 0) - Returns: Array of tracks with their IDs, names, artists, album, duration, and added date - Example: getPlaylistTracks("37i9dQZEVXcJZyENOWUFo7")

  1. getRecentlyPlayed

- Description: Retrieves a list of recently played tracks from Spotify. - Parameters: - limit (number, optional): A number specifying the maximum number of tracks to return. - Returns: If tracks are found it returns a formatted list of recently played tracks else a message stating: "You don't have any recently played tracks on Spotify". - Example: getRecentlyPlayed({ limit: 10 })

  1. getUsersSavedTracks

- Description: Get a list of tracks saved in the user's "Liked Songs" library - Parameters: - limit (number, optional): Maximum number of tracks to return (1-50, default: 50) - offset (number, optional): Offset for pagination (0-based index, default: 0) - Returns: Formatted list of saved tracks with track names, artists, duration, track IDs, and when they were added to Liked Songs. Shows pagination info (e.g., "1-20 of 150"). - Example: getUsersSavedTracks({ limit: 20, offset: 0 })

Play / Create Operations

  1. playMusic

- Description: Start playing a track, album, artist, or playlist on Spotify - Parameters: - uri (string, optional): Spotify URI of the item to play (overrides type and id) - type (string, optional): Type of item to play (track, album, artist, playlist) - id (string, optional): Spotify ID of the item to play - deviceId (string, optional): ID of the device to play on - Returns: Success status - Example: playMusic({ uri: "spotify:track:6rqhFgbbKwnb9MLmUQDhG6" }) - Alternative: playMusic({ type: "track", id: "6rqhFgbbKwnb9MLmUQDhG6" })

  1. pausePlayback

- Description: Pause the currently playing track on Spotify - Parameters: - deviceId (string, optional): ID of the device to pause - Returns: Success status - Example: pausePlayback()

  1. skipToNext

- Description: Skip to the next track in the current playback queue - Parameters: - deviceId (string, optional): ID of the device - Returns: Success status - Example: skipToNext()

  1. skipToPrevious

- Description: Skip to the previous track in the current playback queue - Parameters: - deviceId (string, optional): ID of the device - Returns: Success status - Example: skipToPrevious()

  1. createPlaylist

- Description: Create a new playlist on Spotify - Parameters: - name (string): Name for the new playlist - description (string, optional): Description for the playlist - public (boolean, optional): Whether the playlist should be public (default: false) - Returns: Object with the new playlist's ID and URL - Example: createPlaylist({ name: "Workout Mix", description: "Songs to get pumped up", public: false })

  1. addTracksToPlaylist

- Description: Add tracks to an existing Spotify playlist - Parameters: - playlistId (string): ID of the playlist - trackUris (array): Array of track URIs or IDs to add - position (number, optional): Position to insert tracks - Returns: Success status and snapshot ID - Example: addTracksToPlaylist({ playlistId: "3cEYpjA9oz9GiPac4AsH4n", trackUris: ["spotify:track:4iV5W9uYEdYUVa79Axb7Rh"] })

  1. addToQueue

- Description: Adds a track, album, artist or playlist to the current playback queue - - Parameters: - uri (string, optional): Spotify URI of the item to add to queue (overrides type and id) - type (string, optional): Type of item to queue (track, album, artist, playlist) - id (string, optional): Spotify ID of the item to queue - deviceId (string, optional): ID of the device to queue on - Returns: Success status - Example: addToQueue({ uri: "spotify:track:6rqhFgbbKwnb9MLmUQDhG6" }) - Alternative: addToQueue({ type: "track", id: "6rqhFgbbKwnb9MLmUQDhG6" })

Album Operations

  1. getAlbums

- Description: Get detailed information about one or more albums by their Spotify IDs - Parameters: - albumIds (string|array): A single album ID or array of album IDs (max 20) - Returns: Album details including name, artists, release date, type, total tracks, and ID. For single album returns detailed view, for multiple albums returns summary list. - Example: getAlbums("4aawyAB9vmqN3uQ7FjRGTy") or getAlbums(["4aawyAB9vmqN3uQ7FjRGTy", "1DFixLWuPkv3KT3TnV35m3"])

  1. getAlbumTracks

- Description: Get tracks from a specific album with pagination support - Parameters: - albumId (string): The Spotify ID of the album - limit (number, optional): Maximum number of tracks to return (1-50) - offset (number, optional): Offset for pagination (0-based index) - Returns: List of tracks from the album with track names, artists, duration, and IDs. Shows pagination info. - Example: getAlbumTracks("4aawyAB9vmqN3uQ7FjRGTy", 10, 0)

  1. saveOrRemoveAlbumForUser

- Description: Save or remove albums from the user's "Your Music" library - Parameters: - albumIds (array): Array of Spotify album IDs (max 20) - action (string): Action to perform: "save" or "remove" - Returns: Success status with confirmation message - Example: saveOrRemoveAlbumForUser(["4aawyAB9vmqN3uQ7FjRGTy"], "save")

  1. checkUsersSavedAlbums

- Description: Check if albums are saved in the user's "Your Music" library - Parameters: - albumIds (array): Array of Spotify album IDs to check (max 20) - Returns: Status of each album (saved or not saved) - Example: checkUsersSavedAlbums(["4aawyAB9vmqN3uQ7FjRGTy", "1DFixLWuPkv3KT3TnV35m3"])

Setup

Prerequisites

  • Node.js v16+
  • A Spotify Premium account
  • A registered Spotify Developer application

Installation

git clone https://github.com/marcelmarais/spotify-mcp-server.git
cd spotify-mcp-server
npm install
npm run build

Creating a Spotify Developer Application

  1. Go to the Spotify Developer Dashboard
  2. Log in with your Spotify account
  3. Click the "Create an App" button
  4. Fill in the app name and description
  5. Accept the Terms of Service and click "Create"
  6. In your new app's dashboard, you'll see your Client ID
  7. Click "Show Client Secret" to reveal your Client Secret
  8. Click "Edit Settings" and add a Redirect URI (e.g., http://127.0.0.1:8888/callback)
  9. Save your changes

Spotify API Configuration

Create a spotify-config.json file in the project root (you can copy and modify the provided example):

# Copy the example config file
cp spotify-config.example.json spotify-config.json

Then edit the file with your credentials:

{
  "clientId": "your-client-id",
  "clientSecret": "your-client-secret",
  "redirectUri": "http://127.0.0.1:8888/callback"
}

Authentication Process

The Spotify API uses OAuth 2.0 for authentication. Follow these steps to authenticate your application:

  1. Run the authentication script:
npm run auth
  1. The script will generate an authorization URL. Open this URL in your web browser.
  1. You'll be prompted to log in to Spotify and authorize your application.
  1. After authorization, Spotify will redirect you to your specified redirect URI with a code parameter in the URL.
  1. The authentication script will automatically exchange this code for access and refresh tokens.
  1. These tokens will be saved to your spotify-config.json file, which will now look something like:
{
  "clientId": "your-client-id",
  "clientSecret": "your-client-secret",
  "redirectUri": "http://localhost:8888/callback",
  "accessToken": "BQAi9Pn...kKQ",
  "refreshToken": "AQDQcj...7w",
  "expiresAt": 1677889354671
}
  1. The server will automatically refresh the access token when needed, using the refresh token.

Integrating with Claude Desktop, Cursor, and VsCode Via Cline model extension

To use your MCP server with Claude Desktop, add it to your Claude configuration:

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

For Cursor, go to the MCP tab in Cursor Settings (command + shift + J). Add a server with this command:

node path/to/spotify-mcp-server/build/index.js

To set up your MCP correctly with Cline ensure you have the following file configuration set cline_mcp_settings.json:

{
  "mcpServers": {
    "spotify": {
      "command": "node",
      "args": ["~/../spotify-mcp-server/build/index.js"],
      "autoApprove": ["getListeningHistory", "getNowPlaying"]
    }
  }
}

You can add additional tools to the auto approval array to run the tools without intervention.

工具与能力

工具数量

17

资源数量

0

提示词数量

0

能力标签

音乐控制TypeScript本地部署Spotify集成AI助手播放列表管理自动化工具

支持客户端

Claude DesktopClaudeCursorCline

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 工具数量 17 个,一次接入能覆盖的操作比单点工具更全。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到OAuth 授权的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Spotify Render

MCP World · 本页

17未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Spotify Render 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

MCP Spotify Render 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP Spotify Render 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Spotify Render 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

MCP Spotify Render 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor、Cline;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP