Spotify MCP Node Server

Spotify MCP Node Server

site icon
2025.05.12 0
TypeScript音乐服务AI 助手集成娱乐功能
Spotify MCP Node Server 是一个基于 Model Context Protocol (MCP) 的 Node 服务器,旨在为 AI 助手(如 Claude Desktop)和 IDE(如 Cursor 和 Windsurf)提供控制 Spotify 播放和管理播放列表的能力。该服务器特别适合音乐发现和创意播放列表管理。用户可以通过 AI 助手请求播放特定类型的音乐、创建或更新播放列表等。使用该服务需要 Spotify Premium 账户,并且在使用 AI 助手时需关闭数据共享以保护隐私。
View on GitHub

Overview

基本能力

产品定位

Spotify MCP Node Server 是一个连接 AI 助手和 Spotify 服务的桥梁,旨在通过 AI 助手增强用户的音乐体验,包括音乐播放控制、播放列表管理和音乐发现。

核心功能

  1. 音乐播放控制:播放、暂停、跳过曲目等。
  2. 播放列表管理:创建播放列表、添加曲目到播放列表等。
  3. 音乐搜索与发现:搜索曲目、专辑、艺术家或播放列表,获取用户最近播放的曲目或关注的艺术家等。
  4. 用户偏好分析:获取用户的热门曲目或艺术家,帮助理解用户的音乐偏好。

适用场景

  1. 音乐发现:通过 AI 助手发现新音乐或类似艺术家的曲目。
  2. 播放列表管理:创建和管理个性化的播放列表。
  3. 音乐播放控制:通过语音或文本命令控制音乐播放。

工具列表

  1. Read Operations
  2. searchSpotify:搜索 Spotify 上的曲目、专辑、艺术家或播放列表。
  3. getNowPlaying:获取当前播放的曲目信息。
  4. getMyPlaylists:获取用户的播放列表。
  5. getPlaylistTracks:获取特定播放列表的曲目。
  6. getRecentlyPlayed:获取最近播放的曲目。
  7. getFollowedArtists:获取用户关注的艺术家。
  8. getUserTopItems:获取用户的热门曲目或艺术家。

  9. Play / Create Operations

  10. playMusic:播放曲目、专辑、艺术家或播放列表。
  11. pausePlayback:暂停当前播放。
  12. skipToNext:跳过到下一曲目。
  13. skipToPrevious:跳过到上一曲目。
  14. createPlaylist:创建新播放列表。
  15. addTracksToPlaylist:添加曲目到播放列表。
  16. addToQueue:添加曲目到播放队列。

常见问题解答

  1. 需要什么账户:必须拥有 Spotify Premium 账户。
  2. 如何与 AI 助手集成:通过配置 AI 助手的 MCP 服务器设置,指定 Spotify MCP Node Server 的路径。
  3. 如何获取 Spotify API 凭证:需要在 Spotify Developer Dashboard 创建应用并配置。

使用教程

使用依赖

  1. Node.jsbash # 访问 Node.js 下载页面并安装 https://nodejs.org/en/download
  2. Spotify Premium 账户:必须拥有有效的 Spotify Premium 账户。
  3. Spotify Developer 应用:需要在 Spotify Developer Dashboard 注册应用。

安装教程

  1. 克隆仓库bash git clone https://github.com/igorgarbuz/spotify-mcp.git cd spotify-mcp npm install npm run build
  2. 配置 Spotify API
  3. 在 Spotify Developer Dashboard 创建应用并获取 Client ID。
  4. 配置 spotify-config.json 文件,添加 Client ID 和 Redirect URI。

  5. 认证流程bash npm run auth 按照提示完成 Spotify 的 OAuth 2.0 认证。

调试方式

  1. 启动服务器bash npm start
  2. 测试工具:可以通过 AI 助手或直接调用工具命令测试功能。
  3. 例如:searchSpotify("bohemian rhapsody", "track", 20)
  4. playMusic({ uri: "spotify:track:6rqhFgbbKwnb9MLmUQDhG6" })

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。