mcpField
S
spotify

spotify

本地服务
github.com/markswendsen-code游戏娱乐033 周前更新

关于 spotify

@striderlabs/mcp-spotify 将 AI Agent 接入 Spotify,支持音乐搜索、播放列表管理和播放控制。它通过 OAuth 2.0 PKCE 授权,并在本地保存和自动刷新令牌。

主要功能

  1. 01搜索曲目、艺人、专辑和播放列表
  2. 02创建和编辑播放列表
  3. 03控制播放和音量
  4. 04列出并切换 Spotify Connect 设备
  5. 05使用 OAuth 2.0 PKCE 授权并本地刷新令牌

适用场景

  1. 01按曲目、艺人、专辑或播放列表查找音乐
  2. 02将曲目整理到 Spotify 播放列表
  3. 03控制可用 Spotify 设备上的播放

MCP 相关

此 MCP 服务通过 stdio 向 MCP 客户端提供 Spotify 搜索、播放列表、授权和播放控制工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"markswendsen-code-spotify": {
"command": "npx",
"args": [
"-y",
"@striderlabs/mcp-spotify"
]
}
}
}
启动命令npx -y @striderlabs/mcp-spotify

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@striderlabs/mcp-spotify0.1.0

工具

15

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

@striderlabs/mcp-spotify

用于 Spotify 的 MCP 服务——让 AI Agent 通过 Spotify Web API 搜索音乐、控制播放和管理播放列表。

由 Strider Labs 构建。

功能

  • 搜索 — 查找曲目、艺术家、专辑和播放列表
  • 播放列表 — 查看、创建和编辑播放列表
  • 播放控制 — 播放、暂停、跳过、返回、设置音量
  • 多设备 — 列出 Spotify Connect 设备并在设备间切换
  • OAuth 2.0 — 使用 PKCE 进行安全授权(无需客户端密钥)
  • 令牌持久化 — 令牌存储在本地并自动刷新

设置

1. 创建 Spotify 应用
  1. 前往 Spotify Developer Dashboard
  2. 点击 Create App
  3. 将 Redirect URI 设置为:http://localhost:8888/callback
  4. 复制你的 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_tracksquery, limit?搜索歌曲
search_artistsquery, limit?搜索艺术家
search_albumsquery, limit?搜索专辑
search_playlistsquery, limit?搜索播放列表
播放列表
工具参数描述
get_playlistslimit?获取你的播放列表
create_playlistname, description?, public?创建新的播放列表
add_to_playlistplaylistId, uris[], position?添加曲目
remove_from_playlistplaylistId, uris[]移除曲目
播放
工具参数描述
get_currently_playing—当前曲目、进度和设备
playdeviceId?, contextUri?, uris?[], offsetPosition?, positionMs?开始播放或继续播放
pausedeviceId?暂停播放
next_trackdeviceId?跳到下一首曲目
previous_trackdeviceId?返回上一首曲目
set_volumevolumePercent, deviceId?设置音量(0–100)
get_devices—列出 Spotify Connect 设备
transfer_playbackdeviceId, 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。