Spotify对话控制
将克劳德与Spotify连接起来,通过对话控制播放、搜索音乐、获取曲目信息和管理播放队列。
服务介绍
spotify-mcp MCP 服务器
用于将 Claude 与 Spotify 连接的 MCP 项目。基于 spotipy-dev 的 API 构建。
功能
- 开始、暂停和跳过播放
- 搜索曲目/专辑/艺术家/播放列表
- 获取关于曲目/专辑/艺术家/播放列表的信息
- 管理 Spotify 队列
演示
请确保开启音频
配置
获取 Spotify API 密钥
在 developer.spotify.com 上创建一个帐户。导航到 仪表板。
创建一个应用,将 redirect_uri 设置为 http://localhost:8888。(您可以选择任何端口,但必须使用 http 和 localhost)。
我将 "APIs used" 设置为 "Web Playback SDK"。
本地运行此项目
该项目尚未设置为临时环境(例如 uvx 使用)。通过克隆此仓库来本地运行此项目
git clone https://github.com/varunneal/spotify-mcp.git
将此工具添加为 MCP 服务器。
在 MacOS 上: ~/Library/Application\ Support/Claude/claude_desktop_config.json
在 Windows 上: %APPDATA%/Claude/claude_desktop_config.json
"spotify": {
"command": "uv",
"args": [
"--directory",
"/path/to/spotify_mcp",
"run",
"spotify-mcp"
],
"env": {
"SPOTIFY_CLIENT_ID": YOUR_CLIENT_ID,
"SPOTIFY_CLIENT_SECRET": YOUR_CLIENT_SECRET,
"SPOTIFY_REDIRECT_URI": "http://localhost:8888"
}
}
故障排除
如果您无法使此 MCP 正常工作,请打开一个 issue。以下是一些提示:
- 确保
uv已更新。建议版本>=0.54。 - 确保 claude 对项目的执行权限已设置:
chmod -R 755。 - 确保您拥有 Spotify 会员资格(运行开发者 API 所需)。
此 MCP 将日志输出到 std err(如 MCP 规范中所指定)。在 Mac 上,Claude Desktop 应用程序应将这些日志输出到 ~/Library/Logs/Claude。
在其他平台上您可以在这里找到日志。
待办事项
不幸的是,Spotify API 中已经弃用 了很多酷炫的功能。大多数新功能将是相对较小的改进或为了项目的健康维护:
- 测试。
- 添加对管理播放列表的 API 支持。
- 添加对分页搜索结果/播放列表/专辑的 API 支持。
欢迎提交 PR!
部署
(待定)
构建和发布
准备打包以进行分发:
- 同步依赖项并更新锁文件:
uv sync
- 构建包分发:
uv build
这将在 dist/ 目录中创建源码和 wheel 分发包。
- 发布到 PyPI:
uv publish
注意:您需要通过环境变量或命令标志设置 PyPI 凭证:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于 MCP 服务器通过 stdio 运行,调试可能会很困难。为了获得最佳调试体验,我们强烈推荐使用 MCP Inspector。
您可以通过 npm 使用以下命令启动 MCP Inspector:
npx @modelcontextprotocol/inspector uv --directory /Users/varun/Documents/Python/spotify_mcp run spotify-mcp
启动后,Inspector 将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。