← 返回目录
S

Spotify MCP Server

社区
轻量级的 Spotify MCP 服务器,让 AI 助手控制播放和歌单。
GitHub 源仓库 ↗
★ 436 Stars 分类 · 其他 非常热门 源版本 7b5fde6309a5
38FMRS · D
可靠性
6/20
安全与权限
6/20
维护活跃度
2/20
文档质量
12/20
安装易用性
12/20

该服务器提供了丰富的 Spotify 控制功能,但需要用户自担风险进行配置和使用。

查看 FMRS 评分方法 →

这是一个轻量级的 MCP 服务器,使 AI 助手(如 Cursor 和 Claude)能够控制 Spotify 播放和管理播放列表。它提供搜索、播放控制、歌单管理、音量调节等功能。需要 Spotify Premium 账号和开发者应用。

工具能力

searchSpotify
在 Spotify 上搜索曲目、专辑、艺术家或播放列表。
getNowPlaying
获取当前播放曲目信息,包括设备、音量、进度等。
getMyPlaylists
获取当前用户的播放列表。
getPlaylistTracks
获取指定播放列表中的曲目列表。
getRecentlyPlayed
获取最近播放的曲目列表。
getUsersSavedTracks
获取用户‘已点赞歌曲’库中的曲目列表。
getQueue
获取当前播放队列中的曲目和即将播放的曲目。
getAvailableDevices
获取可用的 Spotify Connect 设备信息。
removeUsersSavedTracks
从‘已点赞歌曲’库中移除一个或多个曲目。
playMusic
开始播放曲目、专辑、艺术家或播放列表。
pausePlayback
暂停当前播放的曲目。
resumePlayback
恢复播放。
skipToNext
跳转到下一首曲目。
skipToPrevious
跳转到上一首曲目。
createPlaylist
创建新的 Spotify 播放列表。
addTracksToPlaylist
向现有播放列表添加曲目。
addToQueue
将曲目、专辑、艺术家或播放列表添加到当前播放队列。
setVolume
设置播放音量为指定百分比(需要 Premium)。
adjustVolume
相对调节音量大小(需要 Premium)。
getAlbums
获取一个或多个专辑的详细信息。
getAlbumTracks
获取指定专辑的曲目列表,支持分页。
saveOrRemoveAlbumForUser
保存或移除用户‘你的音乐’库中的专辑。
checkUsersSavedAlbums
检查专辑是否已保存在用户的‘你的音乐’库中。
getPlaylist
获取指定播放列表的详细信息。
updatePlaylist
更新播放列表的名称、描述、公开/私有、协作等。
removeTracksFromPlaylist
从播放列表中移除一个或多个曲目。
reorderPlaylistItems
重新排序播放列表中的曲目。

安装接入

  1. 确保 Node.js v16+ 和 Spotify Premium 账号。
  2. 克隆仓库:git clone https://github.com/marcelmarais/spotify-mcp-server.git
  3. 进入目录并安装依赖:cd spotify-mcp-server && npm install && npm run build
  4. 在 Spotify Developer Dashboard 创建应用,获取 Client ID 和 Client Secret,并设置重定向 URI(如 http://127.0.0.1:8888/callback)。
  5. 创建 spotify-config.json 文件,填入 clientId、clientSecret、redirectUri。
  6. 运行 npm run auth 进行 OAuth 认证,授权后令牌自动保存到配置文件中。
  7. 将服务器添加到您的 MCP 客户端配置中,例如 Claude Desktop:

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

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

选型与风险

适合谁

  • 开发者希望将 Spotify 控制集成到 AI 助手或自定义应用中。
  • 需要快速实现播放、歌单管理、音量调节等功能的场景。
  • 已经拥有 Spotify Premium 账号和开发者应用的用户。

不适合谁

  • 没有 Spotify Premium 账号的用户,因为部分功能(如播放控制、音量调节)需要 Premium。
  • 希望使用官方支持或生产级解决方案的用户,因为此服务器是第三方维护且未官方认证。
  • 需要 HTTPS 传输或远程访问的场景,因为此服务器仅支持 stdio。

所需权限

  • 访问用户的 Spotify 数据,包括播放列表、已点赞歌曲、最近播放记录。
  • 控制播放,包括播放、暂停、跳转、音量调节等。
  • 修改用户的播放列表(如创建、删除、添加、移除曲目)。
  • 访问设备信息(如可用设备、当前设备等)。

风险与副作用

  • 安全风险:OAuth 令牌存储在本地 spotify-config.json 文件中,如果泄露可能导致账号被滥用。
  • 隐私风险:AI 助手可能访问用户的播放历史、歌单等个人数据。
  • 误操作风险:AI 可能执行意外的播放操作或修改歌单,导致播放中断或歌单错乱。
  • 非官方:服务器非 Spotify 官方维护,可能存在缺陷或安全漏洞。

常见排障

  1. 认证失败:检查 spotify-config.json 中的 clientId、clientSecret 和 redirectUri 是否正确,并确保重定向 URI 与 Developer Dashboard 中设置的一致。
  2. 令牌过期:运行 npm run auth 重新认证,服务器应自动刷新,但若失败需手动重新认证。
  3. 无法播放:确保有活动的 Spotify 设备,且用户有 Premium 账号。
  4. 命令未找到:确保已安装依赖并运行 npm run build 生成构建文件。

使用场景

播放特定歌曲或专辑:如‘播放猫王的第一首歌’。
创建融合歌单:如‘创建一个 Taylor Swift / Slipknot 的融合播放列表’。
复制歌单:如‘将我的健身歌单中的所有 techno 曲目复制到工作歌单中’。
调节音量:如‘把音量调低一点’。
获取当前播放信息:查询正在播放的歌曲、设备、音量等。

支持客户端

Claude Desktop完整支持
Cursor完整支持
Cline完整支持