mcpField
S
spotify_mcp

spotify_mcp

本地服务
github.com/jmoro0408媒体与设计077 周前更新

关于 spotify_mcp

spotify_mcp 是连接 Spotify API 的 MCP 服务,可控制播放并访问用户数据。支持的操作包括播放控制、播放列表播放、队列管理及收听记录统计。

主要功能

  1. 01播放曲目并控制播放
  2. 02播放用户及 Spotify 播放列表
  3. 03管理播放队列
  4. 04查看最近播放的曲目
  5. 05按时间范围查看常听歌曲

适用场景

  1. 01通过 MCP 客户端控制 Spotify 播放
  2. 02播放用户播放列表或喜爱的歌曲
  3. 03回顾收听记录和常听曲目

MCP 相关

该服务通过 MCP 暴露 Spotify API 工具和资源,使兼容客户端能够控制播放并访问用户数据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

spotify_mcp

项目描述

该项目是使用 Model Context Protocol(MCP)构建的 Spotify 集成。它提供一组工具和资源,可与 Spotify API 交互,从而通过 MCP 框架控制播放、访问用户数据等。

设置

按照以下步骤启动并运行该项目:

  1. 克隆代码库:

    git clone https://github.com/jmoro0408/spotify_mcp.git
    cd spotify_mcp
    
  2. 设置虚拟环境(推荐):

    python -m venv .venv
    source .venv/bin/activate
    
  3. 安装依赖项:

    uv sync
    
  4. 设置 Spotify API 凭据:

    • 前往 Spotify Developer Dashboard。
    • 登录并创建一个新应用。
    • 记下你的 Client ID 和 Client Secret。
    • 添加一个重定向 URI。本地开发通常使用 http://localhost:8888/callback。
    • 在项目根目录中创建一个 .env 文件,并写入以下内容:
      SPOTIPY_CLIENT_ID='YOUR_CLIENT_ID'
      SPOTIPY_CLIENT_SECRET='YOUR_CLIENT_SECRET'
      SPOTIPY_REDIRECT_URI='YOUR_REDIRECT_URI'
      
      将占位值替换为你的实际凭据和重定向 URI。
  5. 运行服务:

    python src/server.py
    

    这将启动 MCP 服务,使 Spotify 工具和资源可用。

用法

配置并运行服务后,你就可以通过定义的 MCP 工具与 Spotify API 交互。与 MCP 工具交互的具体方法取决于你使用的、支持 MCP 的客户端应用或框架。

如果使用 Claude 作为 MCP 客户端,需要编辑 claude_desktop_config.json 并加入:

{
  "mcpServers": {
    "Spotify_MCP": {
      "command": "<FULL_UV_PATH>",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "--with",
        "spotipy",
        "mcp",
        "run",
        <FULL_PATH_TO_MAIN.py>
      ],
      "env": {
        "SPOTIFY_CLIENT_ID": "<CLIENT_ID>",
        "SPOTIFY_CLIENT_SECRET": "<CLIENT_SECRET>",
        "SPOTIFY_REDIRECT_URI": "<REDIRECT_URI>"
      }
    }
  }
}

当前支持的操作

  1. 播放歌曲
  2. 获取用户的播放列表
  3. 播放用户播放列表中的内容
  4. 播放 Spotify 播放列表中的内容,例如排行榜
  5. 暂停播放
  6. 跳到下一首
  7. 跳到上一首
  8. 开启随机播放
  9. 关闭随机播放
  10. 播放用户点赞的歌曲
  11. 获取最近播放的歌曲
  12. 添加到队列
  13. 获取本周/本月/本年度播放次数最多的歌曲

待实现

  1. 将歌曲添加到播放列表
  2. 将曲目添加到播放列表
  3. 创建播放列表
  4. 获取近期热门歌曲,即我最近发现并经常播放的歌曲。
  5. 生成由大模型驱动的播放列表,例如:“根据我最近喜欢的艺人创建一个舞蹈健身播放列表”

项目结构

  • src/auth.py:处理 Spotify API 身份验证。
  • src/main.py:可能是应用的主入口或核心逻辑。
  • src/resources.py:定义用于访问 Spotify 数据的 MCP 资源。
  • src/server.py:MCP 服务实现。
  • src/tools.py:定义用于与 Spotify API 交互的 MCP 工具(即上文列出的支持操作)。
  • src/utils.py:项目中使用的实用函数。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。