marcelmarais/spotify-mcp-server
Lightweight MCP server for Spotify
Spotify MCP 服务器 – 简介
Spotify MCP 服务器 是一个小型 Node.js 服务,为 Spotify 实现了 模型上下文协议(MCP)。它让 AI 助手(Claude、Cursor、VS Code 的 Cline 扩展等)能够与你的 Spotify 账户交互:它们可以查询当前播放内容、搜索目录、读取或编辑播放列表、控制播放、调节音量等——全部通过 MCP 暴露的一组标准化“工具”实现。
核心功能(如 README 所述)
| 类别 | 操作(示例) | 功能说明 |
|---|---|---|
| 读取 | searchSpotify、getNowPlaying、getMyPlaylists、getPlaylistTracks、getQueue、getAvailableDevices |
查询 Spotify 目录、获取当前曲目、列出你的播放列表、查看播放队列、发现已连接设备等。 |
| 播放控制 | playMusic、pausePlayback、resumePlayback、skipToNext、skipToPrevious、addToQueue、setVolume、adjustVolume |
开始/停止音乐、在队列中移动、添加项目、更改音量(需要 Premium)。 |
| 专辑处理 | getAlbums、getAlbumTracks、saveOrRemoveAlbumForUser、checkUsersSavedAlbums |
检索专辑元数据、列出曲目、从你的音乐库中保存/移除专辑。 |
| 播放列表处理 | createPlaylist、addTracksToPlaylist、removeTracksFromPlaylist、updatePlaylist、reorderPlaylistItems |
创建新播放列表、添加或删除曲目、编辑元数据、重新排序项目。 |
| 用户音乐库 | getUsersSavedTracks、removeUsersSavedTracks、getFollowedArtists |
读取或修改你的“喜欢的歌曲”和关注的艺术家。 |
所有工具都返回结构化 JSON(ID、名称、状态消息),AI 可以直接使用。
如何运行
- 先决条件 – Node v26+、Spotify Premium 账户以及 Spotify 开发者应用。
- 安装 – 克隆仓库,运行
npm ci,然后运行npm run build。 - 创建 Spotify 应用 – 获取客户端 ID/密钥并设置重定向 URI。
- 配置 – 将
spotify-config.example.json复制为spotify-config.json并填写凭据。 - 认证 – 运行
npm run auth完成 OAuth 流程;令牌保存在配置文件中并自动刷新。 - 启动服务器 –
node build/index.js(默认 stdio 传输),或对于基于 HTTP 的客户端,设置MCP_TRANSPORT=http,并可选择设置MCP_AUTH=spotify以启用 OAuth 保护的端点。
与 AI 工具一起使用
- Claude Desktop – 添加一个指向构建后
index.js的 MCP 条目。 - Cursor – 在设置的 MCP 选项卡中添加相同命令。
- VS Code Cline 扩展 – 提供一个
cline_mcp_settings.json,列出服务器命令和任何自动批准的工具。
服务器可以作为长期运行的 HTTP 进程(默认端口 3000)运行,以便多个客户端共享。当设置 MCP_AUTH=spotify 时,端点遵循 RFC 9728,允许支持 OAuth 的客户端自行获取 Spotify 令牌,从而将你的个人刷新令牌保留在服务器之外。
谁可能觉得这有用?
- 构建 AI 代理的开发者,需要在更广泛的工作流程中控制音乐播放(例如,“在我编码时播放背景音乐”)。
- 高级用户,希望基于 LLM 的助手(Claude、Cursor)管理播放列表或获取当前歌曲,而无需手动点击。
- 实验者,探索 MCP 作为向 LLM 暴露第三方服务的方式。
总结
Spotify MCP 服务器是模型上下文协议与 Spotify Web API 之间的一座真正的开源桥梁,为 AI 助手提供了丰富的工具箱,以编程方式读取和操作 Spotify 账户。它文档齐全,包含 OAuth 处理,可以在本地运行,也可以通过 HTTP 代理供多个客户端使用。
仓库: marcelmarais/spotify-mcp-server
许可证/状态: README 中未指定,但项目似乎积极维护(构建脚本、Docker 说明、集成指南)。
相关
- 项目
- 项目
- 项目
- 项目
- 项目