name: Spotify自动化 description: “通过Composio自动化Spotify工作流程,包括播放列表管理、音乐搜索、播放控制、用户资料访问” requires: mcp: - rube
Spotify自动化
自动化Spotify操作——管理播放列表、搜索音乐目录、控制播放、浏览专辑和曲目、访问用户资料——全部通过Composio MCP集成编排。
工具文档: composio.dev/toolkits/spotify
设置
- 通过Composio MCP服务器在
https://rube.app/mcp连接您的Spotify账户 - 如果没有活动连接,代理将提示您认证链接
- 连接后,所有
SPOTIFY_*工具都可执行 - 注意: 某些功能(播放控制)需要Spotify Premium订阅
核心工作流程
1. 获取当前用户资料
检索认证Spotify用户的综合资料信息。
工具: SPOTIFY_GET_CURRENT_USER_S_PROFILE
无需参数。
返回:显示名称、电子邮件、国家、订阅级别(premium/free)、
显式内容设置、资料图片、粉丝数、Spotify URI。
所需范围:user-read-private, user-read-email。
2. 搜索Spotify目录
通过关键词查找专辑、艺术家、播放列表、曲目、节目、剧集或有声书。
工具: SPOTIFY_SEARCH_FOR_ITEM
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
q |
字符串 | 是 | 搜索查询关键词 |
type |
数组 | 是 | 项目类型:album, artist, playlist, track, show, episode, audiobook |
limit |
整数 | 否 | 返回结果数(默认:20) |
offset |
整数 | 否 | 分页偏移(默认:0) |
market |
字符串 | 否 | ISO 3166-1 alpha-2国家代码 |
include_external |
字符串 | 否 | 设置为 audio 以包含外部内容 |
注意: 有声书仅在美国、英国、加拿大、爱尔兰、新西兰和澳大利亚可用。
3. 管理播放列表
浏览、创建、修改和填充播放列表。
获取用户的播放列表:
工具: SPOTIFY_GET_USER_S_PLAYLISTS
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
user_id |
字符串 | 是 | Spotify用户ID |
limit |
整数 | 否 | 最大播放列表数,1-50(默认:20) |
offset |
整数 | 否 | 分页偏移,0-100000(默认:0) |
获取当前用户的播放列表:
工具: SPOTIFY_GET_CURRENT_USER_S_PLAYLISTS
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
limit |
整数 | 否 | 最大播放列表数,1-50(默认:20) |
offset |
整数 | 否 | 分页偏移,0-100000(默认:0) |
获取播放列表详情:
工具: SPOTIFY_GET_PLAYLIST
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
playlist_id |
字符串 | 是 | Spotify播放列表ID(例如:3cEYpjA9oz9GiPac4AsH4n) |
fields |
字符串 | 否 | 逗号分隔的字段过滤器以减少响应大小 |
market |
字符串 | 否 | ISO国家代码用于市场特定内容 |
additional_types |
字符串 | 否 | track,episode 以包含播客剧集 |
更新播放列表详情:
工具: SPOTIFY_CHANGE_PLAYLIST_DETAILS
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
playlist_id |
字符串 | 是 | 播放列表ID(必须由当前用户拥有) |
name |
字符串 | 否 | 新播放列表名称 |
description |
字符串 | 否 | 新播放列表描述 |
public |
布尔 | 否 | 公开/私有切换 |
collaborative |
布尔 | 否 | 协作模式(仅限非公开播放列表) |
4. 浏览播放列表项并添加曲目
查看播放列表中的曲目并添加新项。
工具: SPOTIFY_GET_PLAYLIST_ITEMS
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
playlist_id |
字符串 | 是 | Spotify播放列表ID |
limit |
整数 | 否 | 每页项数,1-50(默认:20) |
offset |
整数 | 否 | 分页偏移(默认:0) |
fields |
字符串 | 否 | 字段过滤器(例如:items(track(name,id))) |
market |
字符串 | 否 | ISO国家代码 |
additional_types |
字符串 | 否 | track,episode 用于播客剧集 |
工具: SPOTIFY_ADD_ITEMS_TO_PLAYLIST
使用Spotify URI向播放列表添加曲目或剧集。
5. 获取曲目和专辑详情
检索单个曲目和专辑的目录信息。
工具: SPOTIFY_GET_TRACK —— 通过Spotify ID获取单个曲目详情。
工具: SPOTIFY_GET_ALBUM —— 获取全面专辑数据,包括曲目列表、艺术家信息、封面艺术和流行度。
6. 控制播放
在用户的活跃设备上开始、恢复或更改播放。
工具: SPOTIFY_START_RESUME_PLAYBACK
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
context_uri |
字符串 | 否 | 专辑、艺术家或播放列表的Spotify URI(不能与 uris 结合使用) |
uris |
数组 | 否 | 要播放的曲目URI列表(不能与 context_uri 结合使用) |
offset |
对象 | 否 | 起始位置:{position: 5} 或 {uri: 'spotify:track:...'} |
position_ms |
整数 | 否 | 以毫秒为单位的起始位置 |
device_id |
字符串 | 否 | 目标设备ID(默认活跃设备) |
要求: Spotify Premium订阅和至少一个活跃设备。
已知问题
| 问题 | 详情 |
|---|---|
| 播放需要Premium | 如果用户没有Spotify Premium,SPOTIFY_START_RESUME_PLAYBACK 返回403 |
| 需要活跃设备 | 如果没有Spotify设备(移动、桌面、网页、扬声器)活跃,播放控制返回404 |
| context_uri与uris互斥 | 不能在同一个播放调用中同时使用 context_uri 和 uris |
| 协作播放列表 | collaborative 只能在非公开播放列表上设置为 true(public 必须为 false) |
| 播放列表所有权 | SPOTIFY_CHANGE_PLAYLIST_DETAILS 仅对认证用户拥有的播放列表有效 |
| 有声书市场限制 | 通过搜索的有声书仅在美国、英国、加拿大、爱尔兰、新西兰和澳大利亚可用 |
| 最大11000个播放列表 | 用户通过 SPOTIFY_CREATE_PLAYLIST 限制为约11,000个播放列表 |
快速参考
| 工具Slug | 目的 |
|---|---|
SPOTIFY_GET_CURRENT_USER_S_PROFILE |
获取认证用户的资料 |
SPOTIFY_SEARCH_FOR_ITEM |
搜索目录中的曲目、专辑、艺术家等 |
SPOTIFY_GET_USER_S_PLAYLISTS |
获取任何用户的播放列表 |
SPOTIFY_GET_CURRENT_USER_S_PLAYLISTS |
获取当前用户的播放列表 |
SPOTIFY_GET_PLAYLIST |
获取详细播放列表信息 |
SPOTIFY_GET_PLAYLIST_ITEMS |
列出播放列表中的曲目/剧集 |
SPOTIFY_CHANGE_PLAYLIST_DETAILS |
更新播放列表名称、描述、可见性 |
SPOTIFY_CREATE_PLAYLIST |
创建新播放列表 |
SPOTIFY_ADD_ITEMS_TO_PLAYLIST |
向播放列表添加曲目/剧集 |
SPOTIFY_GET_TRACK |
通过ID获取曲目详情 |
SPOTIFY_GET_ALBUM |
通过ID获取专辑详情 |
SPOTIFY_START_RESUME_PLAYBACK |
在设备上开始或恢复播放 |
由 Composio 提供支持