音乐自动播放服务

基于用户情绪和上下文的智能音乐播放服务,支持自动情绪检测、个性化队列管理和多种播放控制功能。

  • by kaceburnette
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 kaceburnette/spotify-mcp

使用说明

spotify mcp

告诉克劳德你的感受。它播放音乐。

49个工具。自动氛围检测、冷启动自动启动、智能队列管理、DJ集构建器、睡眠定时器、有声读物和播客。为克劳德代码而建。


快速入门

告诉克劳德:

“为我设置这个仓库:github.com/kaceburnette/spotify mcp”

克劳德处理一切。唯一的手动步骤是创建一个免费的Spotify开发者应用程序——克劳德会告诉你该怎么做。


它做什么

  • 自动振动检测 --克劳德会阅读你的会话(你正在做什么、精力、一天中的时间),并在你不问的情况下设定情绪
  • 个人轨道排队 --排队播放您实际收听历史记录中的曲目,而不是通用播放列表
  • 16种情绪 --磨砺、专注、锁定、炒作、锻炼、放松、夜间驾驶等等
  • 完全控制Spotify --播放、暂停、跳过、音量、搜索、排队、喜欢的歌曲、热门曲目、一切
  • 持久状态 --情绪和会话生存重启

需求

  • Node.js 18+
  • Spotify高级
  • Spotify开发者应用程序(免费,2分钟)

设置

1.克隆并安装

git clone https://github.com/kaceburnette/spotify-mcp.git
cd spotify-mcp
npm install

2.创建Spotify应用程序

  1. 首选 developer.spotify.com/dashboard
  2. 点击 创建应用程序
  3. 添加重定向URI: http://127.0.0.1:8888/callback
  4. 复制您的 客户端ID 和 客户端密钥

3.添加凭据

创建 .spotify-config.json 在项目根目录中:

{
  "clientId": "YOUR_CLIENT_ID",
  "clientSecret": "YOUR_CLIENT_SECRET"
}

4.身份验证

node auth-setup.js

浏览器打开→ 单击“同意”→ done.一次性设置。

5.添加到克劳德代码

claude mcp add spotify -- node /absolute/path/to/spotify-mcp/server.js

自动氛围设置

将此添加到您的 ~/.claude/CLAUDE.md:

# Spotify
- At session start, call `detect_vibe` with context: what you're working on, energy level, time of day.
- When the vibe shifts significantly, call `detect_vibe` again.
- Never ask permission — just set the mood and play.
- When the user names an artist, venue, or scene, search by name and play. No narration.

情绪

情绪 能量 听起来像
grind 高 暗电子,编码节拍
focus 中等 低保真、环境、深度工作
lock_in 高科技、鼓和贝斯
hype 高说唱、陷阱、高能量
workout max phonk,硬陷阱
confident 高功率说唱
creative 中等 电影配乐,流动状态环境
chill 低级 爵士、冷舞
relax 低 柔和钢琴,环境
wind_down 最小 环境,柔和的钢琴
night_drive 中等 黑暗合成器,赛博朋克
in_my_feels 低情绪R&B,独立
sad 低 悲伤独立
angry max 金属,硬说唱
background min 古典风格,咖啡馆氛围
pump_up 高动力嘻哈

所有工具

情绪与氛围

工具 它做什么
detect_vibe 读取会话上下文→ 挑选心情→ 排队轨道→ 玩
set_mood 按名称手动设置情绪
get_mood 当前情绪、队列深度、会话统计信息
identify_track_vibe 获取曲目元数据(艺术家、流派、时代),以便克劳德可以对其进行情绪匹配
clear_session 重置已看到的轨迹,重新开始

DJ套装和播放列表

工具 它做什么
build_set 从曲目列表中整理一个播放列表(克劳德选择曲目,这会保存它们)
build_arc 多情绪播放列表,带能量递增(chill→ 焦点→ 研磨)
create_playlist 创建新的播放列表
add_to_playlist 将曲目添加到播放列表
remove_from_playlist 删除特定曲目
clear_playlist 删除所有曲目(保留播放列表)
delete_playlist 完全删除播放列表
get_playlists 您的播放列表
get_playlist_tracks 播放列表中的曲目

回放

工具 它做什么
play 播放/恢复。传递URI或留空以继续
pause 暂停
next_track 跳过。30岁以下跳过的曲目两次被自动列入黑名单
previous_track 回去吧
set_volume 0–100
fade_volume 在N秒内实现流畅的音量转换
toggle_shuffle 开/关
set_repeat 偏离/轨道/背景
seek 在几秒钟内跳到位置
get_current_track 正在播放什么
get_queue 发生什么事了
add_to_queue 排队特定曲目
queue_many 一次通话最多可排队100首曲目
clear_queue 清空早期会话中剩余的队列

睡眠定时器

工具 它做什么
set_sleep_timer N分钟后自动暂停(默认关闭)
cancel_sleep_timer 取消待定计时器
get_sleep_timer 检查剩余时间

设备

工具 它做什么
get_devices 可用的播放设备
transfer_playback 开关设备
wake_spotify 如果Spotify应用程序未运行,请在本地启动(冷启动时自动启动)

搜索和图书馆

工具 它做什么
search 搜索曲目、艺术家、专辑、播放列表。可选的 year_min/year_max 过滤器
get_saved_tracks 喜欢的歌曲
save_track 就像一条赛道
remove_saved_track 与赛道不同
get_top_tracks 你的热门曲目
get_top_artists 您的顶级艺术家
get_recently_played 近期历史
get_artist 艺术家信息+热门曲目+专辑
get_album 专辑详情+曲目列表

有声读物和播客

工具 它做什么
search_audiobook 按标题或作者查找有声读物
get_audiobook 详细信息+章节列表
search_podcast 按名称查找播客
get_podcast_episodes 某个节目的最新剧集

前缀

工具 它做什么
get_prefs 查看首选项
update_prefs 更改启动歌曲、情绪、黑名单、自定义情绪

故障排除

“未找到活动设备” --打开Spotify,播放任何内容一秒钟,暂停。这会唤醒设备。

“未找到令牌” --快跑 node auth-setup.js 再一次。

403播放列表工具 首选 spotify.com/account/apps,删除您的应用程序,重新运行 node auth-setup.js.


许可证

麻省理工学院