Spotify音乐控制服务

通过MCP协议连接Claude与Spotify的音乐控制服务,提供播放控制、搜索、队列管理和播放列表操作等功能。

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

使用说明

spotify mcp mcp服务器

MCP项目将克劳德与Spotify连接起来。建在上面 spotipy-dev的API.

特性

  • 开始、暂停和跳过播放
  • 搜索曲目/专辑/艺术家/播放列表
  • 获取有关曲目/专辑/艺术家/播放列表的信息
  • 管理Spotify队列
  • 管理、创建和更新播放列表

演示

确保打开音频

Video https://github.com/user-attachments/assets/20ee1f92-f3e3-4dfa-b945-ca57bc1e0894

配置

获取Spotify API密钥

在上创建帐户 developer.spotify.com。导航到 仪表板. 使用redirect_uri创建应用程序http://127.0.0.1:8080/callback. 您可以选择任何想要的端口,但必须使用http和显式的环回地址(IPv4或IPv6)。

看 这里 了解更多信息/故障排除。 您可能需要重新启动MCP环境(例如Claude Desktop)一两次才能正常工作。

在本地运行此项目

此项目尚未针对临时环境进行设置(例如。 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://127.0.0.1:8080/callback"
    }
  }

故障排除

如果您无法使此MCP工作,请打开一个问题。以下是一些提示:

  1. 确保 uv 已更新。我推荐版本 >=0.54.
  2. 确保claude拥有该项目的执行权限: chmod -R 755.
  3. 确保您拥有Spotify溢价(运行开发者API所需)。

此MCP将向std-err(如MCP中指定的)规范发出日志。在Mac上,Claude Desktop应用程序应发出这些日志 向 ~/Library/Logs/Claude. 在其他平台上 你可以在这里找到日志.

您可以通过以下方式启动MCP检查器 npm 使用此命令:

npx @modelcontextprotocol/inspector uv --directory /path/to/spotify_mcp run spotify-mcp

启动后,检查器将显示一个URL,您可以在浏览器中访问该URL以开始调试。

全部

不幸的是,一堆很酷的功能 现已弃用 来自Spotify API。大多数新功能将相对较小或对项目的健康有益:

  • 测验。
  • 添加了对管理播放列表的API支持。
  • 添加了对分页搜索结果/播放列表/相册的API支持。

PR感谢!感谢@jamiew、@davidpadbury、@manncodes、@hyuma7、@aanurraj和其他人的贡献。

部署

(全部)

建筑与出版

准备分发包裹:

  1. 同步依赖关系并更新锁文件:
uv sync
  1. 构建包分发:
uv build

这将在 dist/ 目录。

  1. 发布到PyPI:
uv publish

注意:您需要通过环境变量或命令标志设置PyPI凭据:

  • 令牌: --token 或 UV_PUBLISH_TOKEN
  • 或用户名/密码: --username/UV_PUBLISH_USERNAME 和 --password/UV_PUBLISH_PASSWORD