boristopalov
服务介绍
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 使用)。通过克隆此仓库来在本地运行此项目:
bash
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
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 正常工作,请提出问题。以下是一些提示:
- 确保
uv已更新。建议版本>=0.54。 - 确保 Claude 对项目的执行权限:
chmod -R 755。 - 确保您拥有 Spotify 付费账户(运行开发者 API 所需)。
待办事项
不幸的是,Spotify API 中许多很酷的功能已经 被弃用。大多数新功能将是相对较小的改进或为了项目的健康:
- 测试。
- 添加管理播放列表的 API 支持。
- 添加分页搜索结果/播放列表/专辑的 API 支持。
部署
(待定)
构建和发布
要准备包以进行分发:
-
同步依赖项并更新锁文件:
bash
uv sync -
构建包分发:
bash
uv build
这将在 dist/ 目录中创建源码和 wheel 分发。
- 发布到 PyPI:
bash
uv publish
注意:您需要通过环境变量或命令标志设置 PyPI 凭证:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
由于 MCP 服务器通过 stdio 运行,调试可能会有挑战性。为了获得最佳调试体验,我们强烈推荐使用 MCP Inspector。
您可以使用 npm 通过以下命令启动 MCP Inspector:
bash
npx @modelcontextprotocol/inspector uv --directory /Users/varun/Documents/Python/spotify_mcp run spotify-mcp
启动后,Inspector 将显示一个 URL,您可以在浏览器中访问该 URL 以开始调试。