Spotify Integration Server - MCP服务器

项目简介

Spotify Integration Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 提供与 Spotify 音乐平台集成的能力。通过此 MCP 服务器,LLM 可以控制 Spotify 的播放,例如播放、暂停、跳过歌曲,搜索音乐,管理播放队列,以及获取歌曲、专辑、艺术家和播放列表的详细信息。

主要功能点

  • 播放控制: 启动、暂停、跳过 Spotify 播放,并能获取当前播放的曲目信息。
  • 音乐搜索: 根据关键词搜索 Spotify 上的歌曲、专辑、艺术家和播放列表。
  • 队列管理: 查看当前播放队列,向队列中添加歌曲。
  • 信息查询: 获取歌曲、专辑、艺术家和播放列表的详细信息。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/boristopalov/spotify-mcp.git
    cd spotify-mcp
  2. 安装依赖: 确保已安装 'uv' (建议版本 >= 0.54)。然后运行:

    uv sync
  3. 配置 Spotify API 密钥:

    • 访问 Spotify Developer Dashboard 并创建一个应用。
    • 设置 'redirect_uri' 为 'http://localhost:8888' (或您选择的端口,但必须使用 'http' 和 'localhost')。
    • 复制 Client ID 和 Client Secret。
    • 在项目根目录下创建 '.env' 文件,并填入以下内容,替换为您自己的密钥:
      SPOTIFY_CLIENT_ID=YOUR_CLIENT_ID
      SPOTIFY_CLIENT_SECRET=YOUR_CLIENT_SECRET
      SPOTIFY_REDIRECT_URI=http://localhost:8888

服务器配置

要将此 MCP 服务器添加到 MCP 客户端 (例如 Claude),您需要配置客户端的配置文件。以 Claude Desktop 为例,配置文件通常位于:

  • MacOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

在配置文件中添加一个新的 server 配置项,例如 "spotify":

"spotify": {
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/spotify_mcp",  // 替换为您的 spotify-mcp 项目的绝对路径
      "run",
      "spotify_mcp"
    ],
    "env": {
      "SPOTIFY_CLIENT_ID": "YOUR_CLIENT_ID",   // 您的 Spotify Client ID
      "SPOTIFY_CLIENT_SECRET": "YOUR_CLIENT_SECRET", // 您的 Spotify Client Secret
      "SPOTIFY_REDIRECT_URI": "http://localhost:8888" // 您配置的 Redirect URI
    }
  }

请务必将 '/path/to/spotify_mcp' 替换为您实际克隆的 'spotify-mcp' 仓库的绝对路径。

基本使用方法

配置完成后,在 MCP 客户端中 (例如 Claude),您应该能够调用名为 "SpotifyPlayback", "SpotifySearch", "SpotifyQueue", "SpotifyGetInfo" 的工具。

例如,在 Claude 中,您可以这样提问:

  • "搜索 Taylor Swift 的歌曲" (对应 'SpotifySearch' 工具)
  • "播放我当前队列中的歌曲" (可能需要结合其他工具或指令实现,例如先用 'SpotifyQueue' 获取队列信息,再用 'SpotifyPlayback' 控制播放)
  • "暂停播放" (对应 'SpotifyPlayback' 工具)
  • "告诉我当前播放的歌曲是什么" (对应 'SpotifyPlayback' 工具)

具体工具的使用方法和参数,请参考代码中的 'ToolModel' 定义,以及在 MCP 客户端中的工具描述。

注意: 首次使用时,可能需要进行 Spotify 授权认证。请按照提示在浏览器中完成授权。

信息

分类

AI与计算