关于 spotify
@striderlabs/mcp-spotify 将 AI Agent 接入 Spotify,支持音乐搜索、播放列表管理和播放控制。它通过 OAuth 2.0 PKCE 授权,并在本地保存和自动刷新令牌。
主要功能
- 01搜索曲目、艺人、专辑和播放列表
- 02创建和编辑播放列表
- 03控制播放和音量
- 04列出并切换 Spotify Connect 设备
- 05使用 OAuth 2.0 PKCE 授权并本地刷新令牌
适用场景
- 01按曲目、艺人、专辑或播放列表查找音乐
- 02将曲目整理到 Spotify 播放列表
- 03控制可用 Spotify 设备上的播放
MCP 相关
此 MCP 服务通过 stdio 向 MCP 客户端提供 Spotify 搜索、播放列表、授权和播放控制工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
15收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
@striderlabs/mcp-spotify
用于 Spotify 的 MCP 服务——让 AI Agent 通过 Spotify Web API 搜索音乐、控制播放和管理播放列表。
由 Strider Labs 构建。
功能
- 搜索 — 查找曲目、艺术家、专辑和播放列表
- 播放列表 — 查看、创建和编辑播放列表
- 播放控制 — 播放、暂停、跳过、返回、设置音量
- 多设备 — 列出 Spotify Connect 设备并在设备间切换
- OAuth 2.0 — 使用 PKCE 进行安全授权(无需客户端密钥)
- 令牌持久化 — 令牌存储在本地并自动刷新
设置
1. 创建 Spotify 应用
- 前往 Spotify Developer Dashboard
- 点击 Create App
- 将 Redirect URI 设置为:
http://localhost:8888/callback - 复制你的 Client ID
2. 安装
npx @striderlabs/mcp-spotify
或全局安装:
npm install -g @striderlabs/mcp-spotify
3. 配置 Claude Desktop
添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"spotify": {
"command": "npx",
"args": ["-y", "@striderlabs/mcp-spotify"],
"env": {
"SPOTIFY_CLIENT_ID": "your_client_id_here"
}
}
}
}
4. 身份验证
在 Claude 中调用一次身份验证工具:
spotify_auth
浏览器窗口将打开,供你授权访问。批准后,令牌将保存在本地 ~/.striderlabs/spotify/tokens.json,并自动刷新。
环境变量
| 变量 | 必需 | 描述 |
|---|---|---|
SPOTIFY_CLIENT_ID | 是 | 你的 Spotify 应用的 Client ID |
工具
身份验证
| 工具 | 描述 |
|---|---|
spotify_status | 检查连接状态和登录账户 |
spotify_auth | 通过浏览器授权(OAuth 2.0 PKCE) |
spotify_logout | 清除已存储的令牌 |
搜索
| 工具 | 参数 | 描述 |
|---|---|---|
search_tracks | query, limit? | 搜索歌曲 |
search_artists | query, limit? | 搜索艺术家 |
search_albums | query, limit? | 搜索专辑 |
search_playlists | query, limit? | 搜索播放列表 |
播放列表
| 工具 | 参数 | 描述 |
|---|---|---|
get_playlists | limit? | 获取你的播放列表 |
create_playlist | name, description?, public? | 创建新的播放列表 |
add_to_playlist | playlistId, uris[], position? | 添加曲目 |
remove_from_playlist | playlistId, uris[] | 移除曲目 |
播放
| 工具 | 参数 | 描述 |
|---|---|---|
get_currently_playing | — | 当前曲目、进度和设备 |
play | deviceId?, contextUri?, uris?[], offsetPosition?, positionMs? | 开始播放或继续播放 |
pause | deviceId? | 暂停播放 |
next_track | deviceId? | 跳到下一首曲目 |
previous_track | deviceId? | 返回上一首曲目 |
set_volume | volumePercent, deviceId? | 设置音量(0–100) |
get_devices | — | 列出 Spotify Connect 设备 |
transfer_playback | deviceId, play? | 切换播放设备 |
工作流示例
1. spotify_status → check if authenticated
2. spotify_auth → open browser to authorize (first time)
3. search_tracks query="Bohemian Rhapsody"
4. get_devices → list available devices
5. play uris=["spotify:track:..."] deviceId="..."
6. get_currently_playing → see what's playing
7. set_volume volumePercent=70
8. next_track → skip to next
9. get_playlists → see your playlists
10. create_playlist name="AI Picks"
11. add_to_playlist playlistId="..." uris=["spotify:track:..."]
要求
- Node.js 18+
- Spotify 账户(免费或 Premium)
- 以下功能需要 Spotify Premium:音量控制、播放控制
技术详情
- 协议:基于 stdio 的 Model Context Protocol(MCP)
- 身份验证:使用 PKCE 的 OAuth 2.0 Authorization Code
- API:Spotify Web API v1
- 令牌存储:
~/.striderlabs/spotify/tokens.json - 浏览器自动化:Playwright(用于启动 OAuth 浏览器)
许可证
MIT — Strider Labs
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。